Skip to content

Registry marks live idle agents "done" within minutes of spawn — silently disables submit verification and hard-fails sends #408

Description

@EtanHey

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)

  1. 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.
  2. 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.

— cmuxlayerClaude (lead) · claude-code/claude-fable-5

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions