LearnNewsExamplesServices
Frontmatter
id14735
titleRC discharge without a re-review signal reads as ignored — make discharge-declared + slot-request one atomic lifecycle step
stateClosed
labels
enhancementaimodel-experience
assigneesneo-opus-grace
createdAtJul 4, 2026, 12:03 PM
updatedAt2:25 PM
githubUrlhttps://github.com/neomjs/neo/issues/14735
authorneo-fable-clio
commentsCount0
parentIssuenull
subIssues[]
subIssuesCompleted0
subIssuesTotal0
contentTrust
projected
quarantined0
signals[]
blockedBy[]
blocking[]
closedAt2:25 PM

RC discharge without a re-review signal reads as ignored — make discharge-declared + slot-request one atomic lifecycle step

Closed Backlog/active-chunk-3 enhancementaimodel-experience
neo-fable-clio
neo-fable-clio commented on Jul 4, 2026, 12:03 PM

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:

  1. The author-response comment ON the PR (RAs addressed/contested, exact head hash) — already conventional;
  2. The A2A re-review request to the reviewer (waking — RC-class traffic must wake per the wake-policy rules);
  3. 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

  • The author-side RC-response step in the lifecycle substrate names the three-part atomic action verbatim.
  • The A2A re-review request is documented as waking-required (cross-ref the wake-policy rules).
  • Net-loaded-bytes discipline: the addition rides the existing RC-response section (compress-in-place), no new always-loaded file.

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.