Skip to main content
← Back to list
01Issue
FeatureShippedSwamp Club
Assigneesstack72

Relationships

#1506 Docs: document continuous reconciliation and multi-instance serve flags

Opened by stack72 · 8/2/2026· Shipped 8/2/2026

Context

PRs swamp-club/swamp#2044 and swamp-club/swamp#2045 added continuous reconciliation for multi-instance swamp serve --detach-runs. Three new CLI flags were introduced but are not documented in the manual.

Documentation gaps

Reference: content/manual/reference/swamp-serve/serve-flags.md

Add entries for the three new flags:

  • --heartbeat-interval <duration> (env: SWAMP_HEARTBEAT_INTERVAL, default: 30s) — how often to write an instance heartbeat to the control-plane store. Only used with --detach-runs.
  • --stale-ttl <duration> (env: SWAMP_STALE_TTL, default: 90s) — how long a heartbeat can go without update before the instance is considered dead. Must be at least 2x --heartbeat-interval. Only used with --detach-runs.
  • --reconciliation-interval <duration> (env: SWAMP_RECONCILIATION_INTERVAL, default: 60s) — how often to scan for dead peer instances and reconcile their orphaned runs. Only used with --detach-runs.

Explanation: content/manual/explanation/swamp-serve.md

Add a section on multi-instance behavior covering:

  • How instance heartbeats and stale detection work
  • Continuous reconciliation: surviving instances detect dead peers within ~60s (configurable)
  • Per-instance claiming prevents duplicate reconciliation
  • Heartbeat deletion is deferred until after run reaping for crash safety
  • The relationship between the run tracker (SQLite, per-instance liveness authority) and WorkflowRun YAML files (durable run history, reconciled at boot)

How-to: content/manual/how-to/swamp-serve/

Consider a how-to guide for running swamp serve in a multi-instance deployment (e.g., behind a load balancer with a shared S3 datastore), covering tuning the reconciliation timing constants for the deployment's latency characteristics.

02Bog Flow
OPENTRIAGEDIN PROGRESSSHIPPED+ 1 MOREASSIGNED+ 2 MOREREVIEW+ 3 MOREPR_MERGED+ 1 MORENOTIFICATION_SKIPPED

Shipped

8/2/2026, 11:00:27 PM

Click a lifecycle step above to view its details.

03Sludge Pulse
stack72 assigned stack728/2/2026, 10:31:33 PM

Sign in to post a ripple.