backlog: #1336's banner said build while an owner ruling 105 lines below took its only route out of scope - #578
Merged
Merged
Conversation
…low took its only route out of scope Read against origin/main at 39a0e02. THE HARM, measured on me. The row's banner block carries `Verdict: build` at body line 4. The owner ruling that closes its only remaining route sits at body line 109. I read the banner, dispatched the row to a builder lane, and had to retract it twenty minutes later. `scripts/coord/dispatch_gate.py` green-lit it for the same reason: it reads the banner block, which was wrong. THE RULING STANDS AND IS NOT TOUCHED. Owner answer 2026-08-25, routed via the Liaison: keep the out-of-scope ruling, fix the banner. They declined both reopening scope and closing the row. The row stays open because the defect is real and unfixed -- `git grep -n "seg.Scan" origin/main` returns scripts/hooks/worktree_gate.ps1:1291, matching the danger key against the quote-blanked string, with `$seg.Raw` at :1319-1321 as the same-file positive control so both spellings are visible and only the key match is wrong. THE EDIT IS TWO FIELD VALUES, BOTH FROM THE DOCUMENTED VOCABULARY. `scripts/coord/dispatch_gate.py:26-28` declares the contract: > Verdict: build | research | demand-gate | owner-ruling > Closing-act: code | scorecard-rescore | owner-ruling | banner-only so `owner-ruling` is a defined value for both fields. No new vocabulary is introduced, and no prose in the body is altered. CONTROLS RUN, not asserted: parse_items before 363 items / 247 open / 116 closed parse_items after 363 items / 247 open / 116 closed expected delta for a body amendment is 0/0/0 -- met diff is 2 insertions, 2 deletions, both inside #1336's banner block line endings unchanged: blob and working copy both LF-only at 16,122, size delta exactly +15 bytes, which is the two token substitutions VERIFIED WITH THE INSTRUMENT THE FIX IS FOR, self-test first so a pass means something: `dispatch_gate.py --self-test` PASSES 5 cases; `dispatch_gate.py 1336` now advises "closes by 'owner-ruling' ... NOT by the builder", where an untouched builder-closable control (#1348) produces no advisory. The gate still calls it workable -- that is the gate's stated design ("NAME THE CLOSING ACT, NEVER REFUSE IT"), not a gap in this edit. Whether a verdict of `owner-ruling` should itself change the gate's answer is BACKLOG #1334, already in a lane. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
wshallwshall
enabled auto-merge (squash)
August 25, 2026 01:52
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
#1336's banner read Verdict: build / Closing-act: code, but an owner ruling 105 lines below the banner already took the item's only route out of scope. Owner answered via the Liaison: keep the ruling, fix the banner -- declined both reopening scope and closing the row.
Two field values changed, both documented vocabulary in dispatch_gate.py's own contract (Verdict: build|research|demand-gate|owner-ruling; Closing-act: code|scorecard-rescore|owner-ruling|banner-only). No new field, no new value, no body prose touched.
Controls: parse_items before/after both 363/247 open/116 closed (0/0/0 diff, as expected for a body amendment). Diff is 2 insertions, 2 deletions, both inside #1336's banner block. Verified against the instrument the fix is for: dispatch_gate.py --self-test passes 5 cases; dispatch_gate.py 1336 now correctly advises the row closes by owner-ruling, not by the builder.