Skip to content

Fleet claims: parked/cancelled agents hold write claims indefinitely — no release path blocks sibling work #5906

Description

@Hmbown

What happens

A child agent parked mid-turn (parent turn ended before it settled) keeps holding its write claim after the parent cancels it. Every subsequent write-capable spawn with an overlapping scope — including the SAME worktree path the claim names — is refused with write-scope contention with agent_X, even when the claimed path no longer exists on disk. There is no release path a sibling or parent can invoke: children may only cancel their own descendants (agent cancel → refused as non-descendant), and the coordinate/release surface named in the error does not exist as a tool.

Evidence (2026-09-05, three incidents)

  1. Parked child agent_4361a6fb (session fix-5896-win-cu) claimed worktrees/cw-5896-win-cu-20260905. That worktree was later deleted from git entirely (git worktree remove), yet the claim still refused: (a) a resume spawn under a new name; (b) a fresh implement agent on a different worktree; (c) per that agent's report, EVERY execution surface it had (bash, Run, MCP shell) for the entire session — 'blocking peers: agent_4361a6fb'.
  2. Its replacement sibling (fix-5896-v2) reported the same blanket bash blockage and had to route all shell work through its own turn-owned children to finish (fix(computer-use): win32 backend reports PowerShell failures truthfully #5903's branch).
  3. The fleet-menu implement agent (feat(tui): prioritize the Fleet menu surface (#5888) #5905) lost its entire execution window to the same claim: could not create its worktree, run cargo, or commit; delivered a prepared patch + apply script instead, which the operator then executed manually.

Expected

  • Cancelling a parked/cancelled agent releases its write claims (or reaps the record promptly).
  • A claim on a path that no longer exists cannot block anything.
  • The parent (spawner) has a working release path; the error message should name one that exists.

Relation to #5575

Same family as the posture single-source-of-truth issue: authority state (claims) has no single owner and no cleanup contract. This instance is concrete, reproducible from today's receipts, and blocks parallel agent work at the workspace level.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions