Repository navigation
Main is red at parse: delete #10390's trailing annotation block, whose content the rung drop already owns - #10420
gunbai-bot[bot] wants to merge 1 commit into
Conversation
…e content the rung drop already owns
`dag/test/claim/emit_copy_qualification_witness_test.dag` ended with an 18-line `//` block
after its last declaration (which closes at 481; the file was 500 lines). DESIGN §4c admits
only standalone LEADING `//` blocks attached to a module-scope declaration, so the parser
refuses every line of it:
source annotation names no subject x16
required-ci: adjudication BLOCKING phase=parse (16 error(s))
required-ci: adjudication BLOCKING phase=namespace-wave-admission (no head index)
required-ci: adjudication REFUSED standing=measurement_completed blockers=2
The second blocker is consequential, not independent -- the log says so itself
("namespace-wave-admission NOT RUN -- the parse phase did not produce an index"). One
misplaced block, reported as 16 errors and 2 blockers.
WHY THIS WAS INVISIBLE. No `witnesses` run on main has COMPLETED since 2094e9c landed
at 11:48Z, so main cannot see its own break; it is observable only from a session branch
that gets a runner. The partition is clean: every head whose base contains that commit
fails the floor at parse, every head whose base predates it passes.
WHY DELETE RATHER THAN RELOCATE. The block's content is already carried, in the typed
carrier it names itself: `gunbc.rung_drop.emit_copy_qualification_without_a_consumer`,
whose `authored:` field holds every load-bearing sentence -- the only-sanctioned-consumer
fact, the DESIGN §5 specification-without-execution framing, and the capability-grain
restoration trigger including "RE-ADDING A JOB DOES NOT SATISFY IT". Four sessions checked
the six claims independently; all six survive. So the block is a second authority for one
fact (§3), and §4c and §3 decide it the same way.
Relocating it above `string_contains_marker` would satisfy the parser by attaching an
annotation to a declaration it is not about -- a green bought by making the file less true.
The deleted rows' loss remains recorded, countable, and triggered by the drop. Nothing
else in the repository cites this file by position, and no unattached `//` block remains
in it. The one other `.dag` ending in a comment is
`fixtures/v2_emission_gate/red/subject.dag`, a deliberate negative fixture.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LSzWg5t7F22xEtbd83fzQ6
The partition is now 4-for-4, and the fourth head was predicted before it returned
Note This is what makes the repair safe to land ahead of everything else: the break is fully characterised, singular (a repo-wide sweep over every — sent from tidy-swift-334 |
The fix works. It also cannot go green — and that is a finding, not a defect in the patch.
The repair is proven: The parse phase no longer appears among the failed phases at all. The 16 errors are gone. One blocker remains, and its text is the whole story: That phase diffs base against head — on a healthy run it prints So the repair for a broken This is not a fail-open — the phase is refusing correctly, and I would not want it to guess a base-side declaration set it cannot read. It is a gate with no repair path for the class of defect it is detecting: a parse break on Escalated to the operator with a recommendation to admin-merge past the red check. The supporting evidence is unusually complete for that request: one file, 19 deletions, every deleted line comment-or-blank (zero insertions), review APPROVE with no concerns, four sessions verifying independently from three instruments, and a repo-wide sweep confirming the class is singular. — sent from tidy-swift-334 |
Fleet status while this PR is blocked — and only the operator can unblock itMeasured over every run created since Zero Why branch hygiene does not help. The rule:
Who can land it. A GET-only ruleset readback reports The merge is terminal, not a first step. On the push to — sent from tidy-swift-334 |
Correction: the damage from merging
|
Closing: #10425 landed a better repair, and merging this now would undo it
Their repair is better than mine, and it refutes the reasoning I used to reject relocation. I argued deletion over relocation because "moving the block above And it preserves what my deletion discarded. Merging this PR now would delete 25 lines main deliberately kept. What this PR's runs did establish, and what I'm carrying forward rather than losing with the branch:
— sent from tidy-swift-334 |
Main has been red at the parse phase since 11:48Z and every PR in the repository is blocked behind it.
dag/test/claim/emit_copy_qualification_witness_test.dagended with an 18-line//block placed after its last declaration (which closes at line 481; the file was 500 lines). DESIGN §4c admits only standalone leading//blocks attached to a module-scope declaration, so the parser refuses every line:Both reported numbers overstate the defect, which is one misplaced block. The second blocker is consequential, not independent — the log says so itself: "namespace-wave-admission NOT RUN — the parse phase did not produce an index." A triager reading
16andblockers=2will look for a distributed problem.Why nobody saw it
No
witnessesrun onmainhas completed since2094e9caf25landed, so main cannot see its own break; it is observable only from a session branch that gets a runner. The partition across four heads is clean:2094e9caf25db877a51504(#10320)dddae7404bc(#10324)dd8f6fa79e5(#10324, prior)5f03dc9218c(#10378)Every branch that integrates main to become landable inherits the break — which is exactly what the pending landing sequence requires three PRs to do.
Why delete rather than relocate
The block's content is already carried by the typed carrier it names itself —
gunbc.rung_drop.emit_copy_qualification_without_a_consumer, whoseauthored:field holds every load-bearing sentence: the only-sanctioned-consumer fact, the DESIGN §5 specification-without-execution framing, and the capability-grain restoration trigger including "RE-ADDING A JOB DOES NOT SATISFY IT". Four sessions checked the six claims independently; all six survive. The block is therefore a second authority for one fact, and §3 and §4c decide it the same way.Relocating it above
string_contains_marker— a string helper with nothing to do with a deleted workflow job — would satisfy the parser by attaching an annotation to a declaration it is not about: a green bought by making the file less true.The deleted rows' loss remains recorded, countable and triggered by the drop. Nothing else in the repository cites this file by position; no unattached
//block remains in it; and the one other.dagending in a comment isfixtures/v2_emission_gate/red/subject.dag, a deliberate negative fixture whose refusal is the point.Not in scope
A separate finding, filed rather than folded in: the countable control these drops cite,
w_RED_the_deleted_lanes_do_not_return, shows 0 mentions in aFloorCleanrun. That is confounded by this very parse refusal (no head index), so the clean test is the first green run after this lands — deliberately not widened into this repair.🤖 Generated with Claude Code
https://claude.ai/code/session_01LSzWg5t7F22xEtbd83fzQ6