#3585
Persisted resource redaction masks the vault key inside a sensitive field ref (data name containing a vault-resolved value), so readResource fails with Secret not found
#3581
Explicit pinned host-key policy, argv exec, atomic copy, and agent-based identityContent
#3582
dns_records lookup: distinguish no-match from API/auth/network failure (or add a list method)
#3584
kubernetes/secret: idempotent ensure method and a metadata-only get
#3580
Finer-grained method locking: a long-running method on one definition blocks unrelated objects managed by the same definition
#3579
Surface (or warn about) values a model method returns besides dataHandles, with sensitive-field support
#3540
Cloudflare extensions reject account-owned API tokens: credential check uses /user/tokens/verify
#3046
serve: run scheduled workflows concurrently (per-workflow serialization), and report queue delay
#3080
serve --remote-only: step output from workers is never persisted to the run log (history logs always empty)
#2468
serve: workflow trigger get/set ignore --config and read/write <repo>/.swamp/serve.yaml, so they disagree with the scheduler
#2472
serve --hot-reload: a changed trigger override schedule is logged as applied but the built-in cron keeps firing
#2518
serve: a suspended run with an expired gate from a previous serve instance cannot be cancelled by any path
#3005
dashboard: approved autoResume run shows Resume and needs-inputs hint while serve already resumed it (status running)
#3006
vault read-secret: to a pipe or file, drops the last line of a multi-line value when that line is 1024+ chars with no trailing newline (exit 0)
#3010
s3-datastore/serve: readResource without a version returns an older version; the latest marker is rewritten backwards
#2504
dashboard: Schedules/Webhooks views are empty for non-admins -- the health stream needs admin on access:* and the 403 is swallowed
#2627
access token mint --server: server demands --vault, no client version has that flag
#2519
dashboard System tab shows Port —, TLS disabled, Auth —, Scheduling disabled although serve.config reports them correctly
#2473
serve: remote token mint impossible with multiple vaults -- server demands --vault, CLI has no --vault option
#2465
workflows: a nested workflow step should inherit the caller's placement when the child declares none
#2383
serve: minting a token for an unsupported principal kind (e.g. agent:) succeeds, then every connection 500s in parsePrincipal
#2377
dashboard: an approved run never resumes and the dashboard cannot resume it (workflow.resume is never called)
#2347
serve dashboard: 2.6 MB uncompressed per page (no permessage-deflate, unpaginated workflow/run search); 15 s WS close stall; serve.config rejected
#2337
s3-datastore: since the #2300 conditional-write change, every push to Ceph RGW 19.2.5 fails (_meta.json 'kept changing'); the run still exits 0
#2298
s3-datastore: a transient S3 read error during a heartbeat silently abandons the lock; a second host then runs the same model concurrently
#2345
worker secret allowlist rejects caller-chosen vault references resolved at run time (method args carrying {vaultName, secretKey})
#2344
serve: default placement for steps that declare none (so one workflow runs both locally and via workers)
#2339
s3-datastore: per-datastore AWS profile, so a serve audit store can use different credentials from the main datastore
#2325
SWAMP_SERVER_TOKEN is ignored with --server unless SWAMP_SERVER_URL is also set to the same host (and SWAMP_SERVER_URL rejects wss://)
#2300
s3-datastore: verify conditional-write support (If-None-Match / If-Match) at setup and in doctor; a backend that ignores them makes locking silently unsafe
#2299
s3-datastore: documented offline behaviour is unreachable — lock acquire fails closed before pull, while a mid-run outage exits 0 with the data stranded
#1786
vault.get() arguments are verbatim, so a per-target secret cannot be expressed in workflow YAML
#1950
model type describe reports arguments: {} for models that define a full args schema
#1949
verification-attestation reports 0 skipped and omits skipped steps, including skipped asserts
#1785
Cancellation/--timeout skips remaining steps including `completed`/`always` branches; --timeout waits for the in-flight subprocess
#1784
Remote "write-bearing" classification is inferred from data-plane writes, not declared; external side effects can be re-executed on worker disconnect (docs say the opposite)
#1781
`workflow resume --from` does nothing for forEach steps whose template name contains `${{ }}`
#1780
Step-level dependsOn on a forEach step never evaluates true (except `always`)
#1782
manual_approval suspends the run while parallel sibling jobs are mid-flight; in-flight steps are torn down and left `running`
#1792
CLI writes runtime state (lastStalenessWarning) into tracked .swamp.yaml, dirtying a committed config file
#1788
workflow validate does not resolve modelType on factory-pattern steps — a non-existent extension validates clean
#1789
Only documented non-interactive auth puts the password in argv; the safe SWAMP_API_KEY path is undocumented
#1791
extension install serializes files[] in readdir order, producing machine-dependent reorder diffs in upstream_extensions.json
#1790
Workflow YAML rewritten in place: block-scalar description truncated, file left unparseable, and validate still reports PASSED
#1783