#3791
flaky: LitestreamReplicator 'a failed launch releases its lock probe, so the next acquire starts a sidecar' fails by timing in verify-build
s45m ago
#3733
typed-secrets 4.4: persistence and resume hold references: rehydration stops reading the vault, every persisted copy uses the persisted form, and run events are masked
z1h ago
#3798
data_writer_property_test: a secret holding a newline and a literal backslash-n escapes the persisted-content property (seed 1648929202)
z1h ago
#3785
typed-secrets: the accessor adapter reads a legacy row stamped with the empty namespace as foreign, so its tagged fields stay reference text on the typed path
z3h ago
#3790
typed-secrets query view: route a row's JSON content by whether the adapter adapted the record, not by the service's namespace rule
z3h ago
#3789
flaky: for_each_name_property_test lets the text around a sentinel equal the secret's value, so the untyped value search replaces both and the property fails by seed
z4h ago
#3732
typed-secrets 4.3: the expression-facing query view registers Secret in DataQueryService
z5h ago
#3714
CEL duration arithmetic is off by a second when a duration has negative nanos (cel-js 7.6.1)
s7h ago
#3731
typed-secrets 4.2: live and reconstructed step outputs and child outputs return references through the accessor adapter
z8h ago
#3773
A coded UserError a model method throws reaches a workflow step without its code, because InProcessExecutor keeps only the message
z9h ago
#3779
Dashboard Workflows page takes ~19s on a serve with many extension workflows: workflow.search resolves each workflow's owner with a full extension-workflow scan
z9h ago
#3670
codegen: BROKEN_REGEXES override for the @swamp/aws/invoicing InvoiceUnit name lacks the u flag, so it rejects ordinary names
s1d ago
#3742
dashboard: run page polling stacks history.get and history.logs requests while serve is slow
z1d ago
#3741
serve: add child spans and attributes to workflow.history.get (and run_summary/run_search) to diagnose slow dashboard loads
z1d ago
#3740
serve: webhook-triggered workflow runs can't be cancelled — cancel can't find them, so it reports serve's own pid as "the process running it is still alive"
z1d ago
#3726
A workflow step fails on a static validation error in a method it does not invoke, where swamp behavior run of the same method succeeds
z1d ago
#3739
serve: a run orphaned by a container restart can't be cancelled — the restarted serve reuses the dead owner's pid, so cancel reports the owner still alive
z10h ago
#3735
typed-secrets 4.6: turn the typed path on for every entry point, remove the internal option, and delete the regular-expression rewrite, the value search and the plaintext resolution of tagged fields
1d ago
#3734
typed-secrets 4.5: the inline resolutions refuse or mask: placement, task selectors, child references and deferred targets refuse secrets, assert messages mask them, and the deprecated resolvers go
1d ago
#3730
typed-secrets 4.1: workflow passes bind sentinels as Secrets: typed guards and asserts, forEach items and identities, child bindings, webhook inputs, and the synchronous authorization step
z11h ago
#3628
typed-secrets 3.5: local entry points, validation diagnostics, context.runModel and model.method delivery
z1d ago
#3708
model.method in a workflow guard fails with 'Do not know how to serialize a BigInt' when its inputs hold an int
z1d ago
#3706
data query: filter on data lifecycle so deleted resources can be excluded
z1d ago
#3713
CEL expression results that hold a timestamp, duration or uint become an empty object
z1d ago
#3707
Catalog rebuild restores pre-rename versions of a name renamed away and written again
z1d ago
#3529
Remote resolveSecret allowlist is always empty for workflow steps that use vault.get
z1d ago
#3686
swamp issue redacts git commit SHAs as secrets and fast-check replay paths as IP addresses
s2d ago
#3627
typed-secrets 3.4: destination refusals, identifier stand-ins, shell safety and masking
z2d ago
#3530
Remote readResource does not apply the legacy schema fallback for untagged sensitive records
z2d ago
#3685
Flaky: datastore_v3_outbox_model_property_test throws MayLandLaterError on a random seed (aged commit, failed discard-and-mark checkpoint, power cut)
z2d ago
#3645
v3 outbox model property test fails: a commit dropped after a failed append-discard-and-mark reports MayLandLaterError instead of the expected outcome
2d ago
#3606
Workflow step dataOutputOverrides vaultName is accepted but silently dropped
s2d ago
#3626
typed-secrets 3.3: sensitive-field accessors, data-origin sentinels and reference validation
z2d ago
#3641
Generated vault keys carry raw data-name and vary characters that strict vault providers reject
3d ago
#3625
typed-secrets 3.2: vault.get as a CEL function, bare-token rewriting, AST extraction and up-front existence checks
z3d ago
#3619
typed-secrets 3.1: the production Secret, its refusals, the fault context, the container rule and the boundary conversion, behind the internal option
z3d ago
#3620
Flaky test: extension_pull_dependency_conflict_test fails with 'failed to copy esbuild binary' during deno bundle
3d ago
#3609
Extension tarball analyzer ignores webhook entry points
3d ago
#3608
Registry drops contentMetadata.extensions (method grafts) at confirm-push
3d ago
#3041
digitalocean codegen leaves an orphaned security_secret.ts model file after its endpoint left the spec
s6d ago
#3552
A --repo-dir or SWAMP_REPO_DIR through a symlink fails with 'unable to open database file'
s6d ago
#3543
@swamp/1password: vault delete of a missing item probably fails instead of being a no-op
6d ago
#3544
@swamp/1password: item or vault names containing 'authorization' are misreported as auth failures
s6d ago
#3558
typed-secrets 2.2: VaultSecretBag entries hold references, one registry per run, 128-bit sentinels
z6d ago
#3214
Show wait keys and pending signals to remote clients and the dashboard
z6d ago
#3560
Flaky: LitestreamReplicator.acquire 'concurrent acquires in one process share one sidecar and one hold' fails 'no hold leaked' under full-suite load
z6d ago
#3563
VaultService.requireExistenceProvider labels the vault instance name as its type
z6d ago
#3561
VaultService capability errors label the vault instance name as its type
z6d ago
#3557
typed-secrets 2.1: VaultExistenceProvider, its conformance suite, and has on the built-in providers
z6d ago
#3559
MockVaultProvider.get and delete throw synchronously instead of rejecting
z6d ago
#3551
typed-secrets 1.2: pin the Secret Proxy, refusal set and container rule on cel-js 7.6.1
z6d ago
#3554
issue-lifecycle: pr_merged and ship report success and advance the phase when swamp-club is unreachable, writing nothing upstream
6d ago
#3548
serve check-config crashes with a TypeError when a list-valued auth key is a string
z6d ago
#3547
access grant list --server shows user subjects as user:user:<name>
z6d ago
#3524
Flaky: process_bundle_prober_test 'stopping a host that has already exited lists no children under its pid' fails under full-suite load
z6d ago
#3512
typed-secrets 0.4: characterize worker secret authorization and control-plane secret traffic
z7d ago
#3513
issue-lifecycle: an approved plan cannot be sent back to planning
z7d ago
#3517
typed-secrets 1.2: minimal opaque Secret, CelVaultNamespace receiver, policy inventory and evaluation frame
6d ago
#3510
typed-secrets 1.1: commit the cel-js 7.6.1 probe harness as pinned behavior tests
z7d ago
#3509
typed-secrets 0.1: land the typed-secrets plan as a design enabler doc
z7d ago
#3504
swamp update: a slicker, colorful download progress bar that ends with a newline
z7d ago
#2333
gcs-datastore: a failed lock read is reported as "unlocked" — #2298 in the GCS backend
s7d ago
#3404
A manual worker verify racing an enrollment probe can leave a healthy worker unverified until it reconnects
s7d ago
#3487
bundle freshness: a one-off deno info failure leaves a source on the in-directory fallback for good
z7d ago
#3472
serve shutdown waits for an unsignalled run index rebuild: the continuation sweep's boot pass and request-led rebuilds cannot be stopped by SIGTERM
z8d ago
#3465
serve: handlers that sanitize an error for the client never log the original, so path-bearing failures are undiagnosable
z8d ago
#3402
literal() output in a step's inputs logs repeated Refusing to evaluate expression warnings
z8d ago
#3480
Read non-string sensitive resource fields back with their type
8d ago
#3468
serve and swamp dashboard shutdown waits seconds for the run index warm-up: the plain index parse is not abortable, and the warm-up waits on request-led loads it joined (regression from #3105)
z8d ago
#3467
Run index snapshot cache keeps serving a stale run status: ctime is only second-resolution so in-place same-size rewrites alias the stamp, and snapshots are cached even when repair could not write the index (regression from #3105)
z8d ago
#3461
Flaky: serve_v3_extension_lockfile_test 'serve extension.pull commits the new entry' fails under full-suite load with extension_pull_failed
z8d ago
#3470
Run index repair-by-stat misses an in-place, same-size record rewrite that restores mtime within the same second as its entry: ctime is reported in whole seconds
8d ago
#3450
Dashboard: an idle, visible tab keeps counting runs that have aged out of a preset time range
z8d ago
#3449
Dashboard: Models and a model's page re-send model.output.search every minute on a preset time range
z8d ago
#3452
Concurrent run writers leave finished runs stuck as running in the run index: repairIndex returns early once counts agree, so lost updates are never healed (regression from #3105)
z8d ago
#3455
Run index updates race across processes: concurrent writer processes can lose each other's index entry updates
z8d ago
#3444
Dashboard: a live run page polls a full workflow.run.search every 2.5 s, and time-range presets refetch the run summary every minute
z8d ago
#3443
Dashboard Workflows, workflow and run pages are slow with large history: workflow.run.summary and workflow.run.search read every run index of every workflow on each request
z8d ago
#3412
README, design docs and agent-constraints examples still teach swamp model commands
s8d ago
#3410
Decide and add behavior spellings for --model flags, enum values and SWAMP_MODELS_DIR outside the behavior tree
s9d ago
#3411
Telemetry records swamp behavior and swamp model invocations under different command names
s9d ago
#3409
swamp behavior help, hints and root help still say model in places
s9d ago
#3374
A new or edited extension source is imported at startup, so one that exits, hangs or prints at import breaks every command
z9d ago
#3400
Workflow step arguments pass any unknown ${{ }} root through; limit pass-through to known foreign roots
z9d ago
#3388
A worker that fails its enrollment probe becomes idle and schedulable in memory
z9d ago
#3401
A global argument that evaluates to swamp-namespace expression text is silently dropped, and literal() cannot pass it through
9d ago
#3393
Flaky test: AccessDataPoller "a grant created by a real method run through A stays staged on A and reaches B" fails under full-suite load
z9d ago
#3294
WorkerGateway.dispatch leaks a capacity slot when recording the busy status fails
z9d ago
#3365
vault type search shows an extension vault type under its type id with no description, and cannot find it by name or description
z9d ago
#3389
literal() output is refused in a direct step globalArgs, so foreign ${{ }} text has no escape there
z8d ago
#3355
serve: a run whose crashed owner was reaped by a peer stays running on the restarted owner
z9d ago
#3309
workflow resume refuses a wait that has an applicable pending signal
z9d ago
#3213
Accept early signals through swamp serve
z9d ago
#3319
datastore namespace list --json reports a corrupt .namespace.json as an unexpected exception with a stack trace
s10d ago
#3320
signal_test fails on main: a signal by key handed over by the sweep is not answered taken
z10d ago
#3316
datastore namespace migrate treats the repo-local catalog as user data: it cannot be re-run, resumed, or reversed after a read
z10d ago
#3307
A signal by key can be answered pending or taken when that is not what happened to it
z10d ago
#3308
swamp serve lists every wait-key record on each continuation pass once any pending signal has lapsed
z10d ago
#3317
model method run --timeout exits 0 and prints nothing when the timeout cancels the run
z10d ago
#3306
Cross-namespace data.* reads return empty attributes in model method run and workflow run
z10d ago
#3212
Hold a signal that arrives before its wait opens
z10d ago
#3298
swamp-uat: the SIGTERM drain test does not check that the run succeeded
10d ago
#3293
A running dispatch counts twice against worker capacity, so a --concurrency 2 worker queues a step while it has a free slot
z10d ago
#3295
data.latest("otherns:model", name) returns the caller's own record when a local model has that name
z10d ago
#3286
Record-typed arguments are not JSON-parsed from plain key=value, unlike array and object arguments
z10d ago
#3244
swamp model cancel <model> cancels a run of a different model of the same type and reports it under the named model
z11d ago
#3074
serve HA: worker enrollment on a replica that lacks the enrollment token's definition may create a second definition (unverified)
s11d ago
#3211
Deliver a signal by key through swamp serve
z13d ago
#3202
A garbled nested run record crashes a parent resume with a YAML stack trace
z13d ago
#2867
Cancel, reject and supersede of a parent run should settle its suspended nested child runs
z13d ago
#3221
workflow recover misjudges whether an unknown step is guarded: forEach iterations read as unguarded, and a same-named step in another job is matched
z13d ago
#3220
A log line with a closing brace but no opening brace prints the brace doubled
13d ago
#3210
Signal a wait by workflow and key
z13d ago
#3218
manual_approval timeout is never enforced on a forEach-expanded gate
z13d ago
#3217
workflow run reports a forEach-expanded approval gate as waiting on a nested run
z13d ago
#3209
Let a wait_for_signal step declare a key held by one open wait at a time
z13d ago
#3110
Show signal waits to remote clients and the dashboard
z14d ago
#3195
extension source add imports src/cli/mod.ts, so every change lists extension as an affected command
z14d ago
#3045
Show expired approval gates as expired, with a Cancel action in the dashboard
z14d ago
#3178
Lazy hydration: content readers bypass hydration (stream, stale raw after append); add one ensuring read path and a fitness test
14d ago
#3179
Lazy hydration: expressions reading another model's data get empty attributes; hydrate a step's read set before evaluation
s14d ago
#2922
Tell timeouts apart from cancels in method-run records, and review the hidden 30 s fallback timer for step-called model methods
z14d ago
#3109
Settle expired signal waits from swamp serve
z14d ago
#3183
serve never continues a signalled run after a manual resume re-entered its open wait
z14d ago
#3108
Resume signalled workflow runs automatically under swamp serve
z14d ago
#3177
audit verify is hidden by accident: auditCommand.hidden() in mod.ts hides the last subcommand, not audit
z14d ago
#3175
swamp help --json: emit aliases, hidden commands, and whether an option takes a value
z14d ago
#3161
GCS datastore: implement fetchContent, a read of one remote file that writes nothing locally
z14d ago
#3160
S3 datastore: implement fetchContent, a read of one remote file that writes nothing locally
z14d ago
#3136
serve: token secret migration repoints a token even when copying its OAuth access token failed
s15d ago
#3166
Extension quality check output carries ANSI codes when FORCE_COLOR is set
z15d ago
#2844
datastore setup can overwrite an existing remote config tier when it moves an in-repo tier into an extension datastore
s15d ago
#3159
Datastore sync: read one remote file without writing it to the local cache (fetchContent)
z15d ago
#3157
A cancelled shell step can fail with a lock timeout instead of reporting as cancelled
z15d ago
← Back to list10/9/2026, 7:09:38 PM
01Issue
FeatureShippedSwamp CLIPublic
Assigneeszack
Relationships
#2867 Cancel, reject and supersede of a parent run should settle its suspended nested child runs
Opened by zack · 9/30/2026· Shipped 10/9/2026
Follow-up to swamp-club#2736. With #2736 a parent run suspends while a nested child workflow waits on a manual_approval gate, and the child stays an ordinary suspended run. When the parent is cancelled, rejected or superseded, #2736 only lists the child runs it waited on (with cancel commands) and marks them as no longer awaited; it does not cancel them.
Design constraints found while planning #2736 (adversarial findings ADV-20, 43, 55, 69-73):
- Liveness must come from the run tracker row, never from the persisted status or run.pid: a run persisted suspended can still have sibling steps running, and releaseOwnership leaves a stale pid.
- workflow.reject is dispatched inside withSyncGate (connection.ts), so aborting and awaiting a registered child there deadlocks on the child's final push. Reject also saves the parent failed before anything else could run.
- Cancel has several entry points: WebSocket workflow.cancel, HTTP /api/v1/cancel/workflow-run/:id and the bulk cancel (cancelExecution in serve.ts), the CLI cancelLocalRun including --all, reject, and supersede. The cascade needs one ungated serve helper: abort and await registered children outside the gate, reserve each suspended child around its read, cancel and save, then settle the parent.
- A running child inside a serve-driven parent is not registered under its own id, so a cancel must map it to the root registration.
- Recover, retry and --from sweeps must treat interrupted children as superseded, not blocking.
- Stale children from a parent that crashed before saving its wait can only be found by back-link, which needs a findRunsByParent repository port over the per-workflow indexes.
02Bog Flow
Shipped
Click a lifecycle step above to view its details.
03Sludge Pulse