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

Relationships

#3501 swamp worker list shows a worker as idle while its verify-on-enroll probe is still pending

Opened by stack72 · 10/15/2026· Shipped 10/15/2026

Found while live-checking the fix for #3404. Seen with the merge-base build, the branch build and the released binary alike.

Summary

With swamp serve --verify-on-enroll, swamp worker list reports a newly enrolled or reconnected worker as idle while its enrollment probe is still pending. The worker is actually unverified in serve's live pool and is not scheduled.

Cause

swamp worker list (handleWorkerList → src/libswamp/worker/list.ts) reads the durable swamp/worker record. The worker model's enroll method always writes status: "idle" (src/domain/models/worker/worker_model.ts:119). The gateway keeps the worker unverified in the live pool (WorkerGateway.#handleEnroll), but the durable record changes only when the probe's result is written: set_status idle on a pass, set_status unverified on a fail. Until then, the list shows idle.

Reproduce

  1. swamp serve --no-schedule --verify-on-enroll, then swamp worker token create w1.
  2. swamp worker connect ws://127.0.0.1:<port> --token <token>.
  3. While the enrollment probe is in flight, run swamp worker list --server http://127.0.0.1:<port> --json. The worker shows "status": "idle".

The window is normally under a second. The live check widened it with a test-only delay before the enrollment probe was dispatched, and the list showed idle for the whole delay.

Expected

While verify-on-enroll is on, the list shows unverified from enrollment until the probe passes, matching the live pool and the Unverified definition in design/enablers/remote-execution.md. For example, enroll could record the initial status serve chooses (unverified under verify-on-enroll), or the list could prefer serve's live pool status for connected workers.

Impact

Display only. Scheduling uses the live pool, so an unverified worker is never given steps. An operator watching the list during enrollment, or diagnosing an unverified worker, sees the wrong status.

02Bog Flow
✓OPEN✓TRIAGED✓IN PROGRESS✓SHIPPED+ 1 MOREASSIGNED+ 5 MOREREVIEW+ 7 MOREPR_MERGED+ 2 MORESESSION_SUMMARIZED

Shipped

10/15/2026, 5:16:44 PM

Click a lifecycle step above to view its details.

03Sludge Pulse
stack72 assigned stack7210/15/2026, 4:00:58 PM

Sign in to post a ripple.