Skip to main content
← Back to list
01Issue
FeatureOpenSwamp CLIPublic
AssigneesNone

Relationships

#3110 Show signal waits to remote clients and the dashboard

Opened by hammz · 10/6/2026

Problem

Split out of swamp-club#3094. A remote client and the dashboard are not told about signal waits:

  • The signal_wait_requested event is kept off the wire for older clients (LOCAL_ONLY_EVENT_KINDS in src/serve/serializer.ts); a run's own wait reaches the client in the suspended event's wait field. A parent suspended on a child that waits for a signal gets no wait ID in JSON output, and the log hint can only say to approve its gate or signal its wait.
  • The printed signal and resume commands are the local forms, which cannot reach a run on a server.
  • The dashboard lists suspended runs as awaiting approval or awaiting resume. A run suspended only on a signal wait is in neither list.
  • A signal does not show in the run record until the run is resumed, so workflow history and the dashboard cannot tell a signalled wait from an open one.

Proposal

  • Carry a nested run's open wait to remote clients, so a parent suspended on a child names the wait ID in log and JSON output. Older clients must keep working: new information goes in fields they ignore, never in an event kind they do not know.
  • When a run is remote, the printed signal command points at the server form added by swamp-club#3094.
  • The dashboard shows runs suspended on a signal wait, with the wait ID, deadline and schema, and shows receipts.
  • A wait ID is named only to a caller who may read the workflow it belongs to, as nested runs are redacted today.

Acceptance criteria

  • A remote workflow run that suspends on a wait, its own or a nested run's, prints the wait ID and a signal command that works from the client.
  • A client released before this change still parses every event it is sent.
  • The dashboard lists a run suspended only on a signal wait, and tells a signalled wait from an open one.

Tests

  • Serializer tests that an older client still parses every event it is sent.
  • Redaction tests for a nested wait of a workflow the caller cannot read.
  • CLI journeys in swamp-uat.

Depends on

swamp-club#3094 (the server form of workflow signal and the waits listing). Independent of swamp-club#3108 and swamp-club#3109.

Out of scope

Forms generated from the payload schema.

References

swamp-club#3094, swamp-club#3093, the Limits of this version list in design/primitives/workflows.md.

02Bog Flow
◉OPEN○TRIAGED○IN PROGRESS○SHIPPED

Open

10/6/2026, 9:09:47 PM

No activity in this phase yet.

03Sludge Pulse

Sign in to post a ripple.