Skip to main content
← Back to list
01Issue
BugShippedSwamp CLIPublic
Assigneeszack

Relationships

#3320 signal_test fails on main: a signal by key handed over by the sweep is not answered taken

Opened by zack · 10/12/2026· Shipped 10/12/2026

Summary

One unit test fails deterministically on main, so the verify-build workflow fails for every branch that merges current main.

Test, in src/libswamp/workflows/signal_test.ts:

workflowSignal: a held signal another reader gave to a suspended wait is answered taken, with the resume its run needs

The test sends a signal by key while the pending-signal sweep hands that signal to a suspended wait, then expects the reply to report taken as true. The reply has taken undefined (assertion at signal_test.ts line 2552).

Where it broke

  • 979580bf (PR 3034, swamp-club#3307, which added the test): the file passes, 73 passed, 0 failed.
  • c448084f (PR 3036, swamp-club#3308, sweep pending signals without listing every wait-key record): the file fails, 72 passed, 1 failed.
  • ead7d1c9 (main when this was filed): still fails.

PR 3036 did not touch signal_test.ts. It changed src/domain/workflows/early_signal.ts and signal_wait_cleanup.ts, added wait_key_claim.ts, and changed src/serve/continuation_sweep_service.ts. It was most likely verified against a main that did not yet contain the test from PR 3034.

Reproduce

On main:

deno run test src/libswamp/workflows/signal_test.ts

Expected

The test passes: a signal by key that the sweep gave to a suspended wait is answered with taken true, the wait id, and awaitingResume true.

Notes

  • In the failing test the sweep step still asserts it took one pending signal, so the hand-over happens. What fails is the signaller learning who took the signal. Which change in PR 3036 breaks that lookup has not been traced.
  • It is the only failing test in the full suite on a branch merged with main (23348 passed, 1 failed).
  • Found while verifying PR 3037 (swamp-club#1090), which is blocked on it.
02Bog Flow
✓OPEN✓TRIAGED✓IN PROGRESS✓SHIPPED+ 1 MOREASSIGNED+ 2 MOREREVIEW+ 7 MOREPR_MERGED+ 2 MORESESSION_SUMMARIZED

Shipped

10/12/2026, 10:18:59 PM

Click a lifecycle step above to view its details.

03Sludge Pulse
zack assigned zack10/12/2026, 10:01:10 PM

Sign in to post a ripple.