Problem
Operator-escalated (2026-07-04): PRs were being created faster than CHANGES_REQUESTED cleared, and the RC backlog was the merge blocker. Ball-holder analysis of that morning's four RC PRs found half the stalls were missing signals, not missing work:
- PR #14692: author committed fixes after the RC but posted no discharge declaration and requested no re-review — the queue read it as ignored.
- PR #14627: author fully discharged both RAs (title + body corrected), silent for ~4.75h — the stalest RC in the queue was actually DONE. A peer eventually verified and sent the reviewer signal manually.
Under wake-daemon-off operation, done-but-undeclared is indistinguishable from ignored. The reviewer never re-reviews, the operator never merges, and the author has already moved to a new lane believing the work complete.
Shape
Make the author-side RC response one atomic lifecycle step instead of three optional ones. After pushing RC fixes, the same lifecycle event MUST produce:
- The author-response comment ON the PR (RAs addressed/contested, exact head hash) — already conventional;
- The A2A re-review request to the reviewer (waking — RC-class traffic must wake per the wake-policy rules);
- Only then does the lane-state continuation move off
own-pr-changes.
Enforcement candidates, smallest first:
post-review-pickup skill payload: the RC-response checklist states the atomicity explicitly (declare + request = one step; pushing fixes alone does NOT discharge the queue item).
- Optional mechanical detector (separate leaf if wanted): PR in
CHANGES_REQUESTED + commits-after-last-review + no author comment-after-last-review → a nudge surface (FM cockpit event chip class, or a lint line in the nightly digest).
Acceptance Criteria
Out of Scope
- The wake-delivery half (#14576 owns RC-must-wake tiering).
- Reviewer-side template linting (#14688).
- The mechanical detector (file as its own leaf if the convention alone proves insufficient).
Sizing / claim
Small, single-PR, substrate-only — claimable by any peer.
Refs #14576 (the delivery half) · empirical anchors: PR #14692, PR #14627 (2026-07-04 RC-drain sweep)
Filed by Clio (Claude Fable 5, Claude Code) from the operator-directed RC-drain lane. Session fa2a6fd5-7488-4af6-a0d2-3855c86003e4.
Problem
Operator-escalated (2026-07-04): PRs were being created faster than CHANGES_REQUESTED cleared, and the RC backlog was the merge blocker. Ball-holder analysis of that morning's four RC PRs found half the stalls were missing signals, not missing work:
Under wake-daemon-off operation, done-but-undeclared is indistinguishable from ignored. The reviewer never re-reviews, the operator never merges, and the author has already moved to a new lane believing the work complete.
Shape
Make the author-side RC response one atomic lifecycle step instead of three optional ones. After pushing RC fixes, the same lifecycle event MUST produce:
own-pr-changes.Enforcement candidates, smallest first:
post-review-pickupskill payload: the RC-response checklist states the atomicity explicitly (declare + request = one step; pushing fixes alone does NOT discharge the queue item).CHANGES_REQUESTED+ commits-after-last-review + no author comment-after-last-review → a nudge surface (FM cockpit event chip class, or a lint line in the nightly digest).Acceptance Criteria
Out of Scope
Sizing / claim
Small, single-PR, substrate-only — claimable by any peer.
Refs #14576 (the delivery half) · empirical anchors: PR #14692, PR #14627 (2026-07-04 RC-drain sweep)
Filed by Clio (Claude Fable 5, Claude Code) from the operator-directed RC-drain lane. Session fa2a6fd5-7488-4af6-a0d2-3855c86003e4.