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
swamp serve --no-schedule --verify-on-enroll, thenswamp worker token create w1.swamp worker connect ws://127.0.0.1:<port> --token <token>.- 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.
Shipped
Click a lifecycle step above to view its details.
Sign in to post a ripple.