Skip to content

Commit 9959e4b

Browse files
committed
feat(pm): report the dead claim nobody can see — H27 (#11248)
A dev agent killed mid-task leaves a TEXTBOOK-correct claim: `pm:dispatched`, assignee set, a first-line `Claim:` comment, and a branch that exists on the remote. Every predicate in the patrol passed, so the card read as healthy in-flight work indefinitely — and worse than merely unreported: the next PM's round-open mutual-exclusion read treats a dead `Claim:` as a live claim by another session and stays off the card, so one dead agent blocks the lane. H20 is the near neighbour and misses it BY CONSTRUCTION, not by oversight: os-dev.md makes pushing the empty branch the FIRST action of the task, so a protocol-compliant agent that dies still leaves a ref and lands outside H20's no-ref-at-all population. The better the dev follows the protocol, the more invisible its death. H27 keys on the conjunction the filing card asked for: `pm:dispatched` ∧ a claim older than the protocol's OWN ~24h stale line ∧ a claimed branch that EXISTS ∧ that branch has not moved since the claim ∧ no PR delivers the card. The threshold is quoted from SKILL.md's 死认领回收 rule rather than measured — the fleet has 2 liveness samples, which is not a distribution. Costs no request: H27's 24h population is a strict subset of H20's 60-minute one, and the shared branch probe now reads `/branches/<b>` instead of `/git/ref/heads/<b>` — the same underlying ref, so H20's three states are untouched, but the head commit DATE rides in on a payload the sweep had already paid for. Report-only and pointedly NOT a reclaim: the protocol's reclaim rule applies to a branch that does not exist and states 「有带提交活分支的认领永不回收」, so this row prescribes the three-state recovery inspection and never an assignee drop. It deliberately under-reports the dev that pushed once and then died. Self-test 997 -> 1058 cases, both directions pinned per term. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RMTpSRF5CjMmQBFfPtPCwJ
1 parent cebef55 commit 9959e4b

1 file changed

Lines changed: 431 additions & 14 deletions

File tree

0 commit comments

Comments
 (0)