You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Found by the PR#404 reviewer while measuring, and flagged by it as the top follow-up. Not caused by #404 — it gates#404.
Behavior
The registry transitions live, idle agents to done within minutes of spawn. The agents are alive and responsive; only the record is wrong.
Two measured consequences (N=29 probe run, branch build)
send_to(mode=agent) hard-fails against a perfectly healthy agent, because the state gate sees done. Both mode=agent errors in the run were this, and nothing else.
Submit verification is silently skipped on surface sends — shouldVerifySubmit is false when the record is not ready/idle, so 7 of 10 surface sends in the run never verified. That is precisely the path where a false submitted receipt then slipped through (the fix: make agent delivery receipts trustworthy #404 round-3 blocker).
So a stale record does not just mislead a reader — it disables the delivery machinery that everything else now depends on, and caps how much of #404's fix is reachable in real use.
Related
markAgentWorking only transitions from idle, so an agent parked in done never climbs back to working either — which is why dispatch_to_agent's busy-queue branch never fired live during the same run.
Expected
An agent that is alive and whose pane parses as ready/idle/working must not be recorded done. done should mean the work ended, not "we stopped hearing from it." The live-reality derivation from #398 is the obvious lever — list_agents already reconciles against the screen; the state gates that guard delivery should consult the same reconciled truth rather than the raw record.
Found by the PR#404 reviewer while measuring, and flagged by it as the top follow-up. Not caused by #404 — it gates #404.
Behavior
The registry transitions live, idle agents to
donewithin minutes of spawn. The agents are alive and responsive; only the record is wrong.Two measured consequences (N=29 probe run, branch build)
send_to(mode=agent)hard-fails against a perfectly healthy agent, because the state gate seesdone. Bothmode=agenterrors in the run were this, and nothing else.shouldVerifySubmitis false when the record is not ready/idle, so 7 of 10 surface sends in the run never verified. That is precisely the path where a falsesubmittedreceipt then slipped through (the fix: make agent delivery receipts trustworthy #404 round-3 blocker).So a stale record does not just mislead a reader — it disables the delivery machinery that everything else now depends on, and caps how much of #404's fix is reachable in real use.
Related
markAgentWorkingonly transitions fromidle, so an agent parked indonenever climbs back toworkingeither — which is whydispatch_to_agent's busy-queue branch never fired live during the same run.Expected
An agent that is alive and whose pane parses as ready/idle/working must not be recorded
done.doneshould mean the work ended, not "we stopped hearing from it." The live-reality derivation from #398 is the obvious lever —list_agentsalready reconciles against the screen; the state gates that guard delivery should consult the same reconciled truth rather than the raw record.— cmuxlayerClaude (lead) · claude-code/claude-fable-5