Repository navigation
The required roster is four phases, not three: #9035 added one and DESIGN never noticed - #9085
Merged
Merged
Conversation
…is paragraph never noticed DESIGN's CI bullet states its phase count in the present tense, on the explicit ground that a knowingly-false recital in the canonical authority is premise contamination. That count has been false since #9035. MEASURED, not recalled. Run 32678275911 prints the roster from the required mode itself: required-ci: phase parse (.dag: src/v1, dag, src/v2) required-ci: phase regen (first generation vs committed) required-ci: phase v2-emission (one entry, the board's producer) required-ci: phase floor (one prepared subject, one fold) required-ci: phases_run=4 `--required-v2-emission` is real and enrolled: the flag is parsed in claim_executor, `gunbc.ci_layer_roots` carries its entry roster and its dissolution condition, and fixtures/v2_emission_gate/ carries its green subject. It landed in #9035 -- "today an emission break reached main and no gate could see it" -- AFTER the 2026-08-21 ruling that cut the roster to three. THIS IS AN ADDITION, NOT A REVERSAL. The five phases that ruling deleted stay deleted and stay enumerated below; #9035 restored none of them. The scope narrowing that ruling declared is unaffected, and merge-admission stamping remains on the unguarded list. The sentence now records that the count has been wrong in BOTH directions -- four, corrected to three, stale again at four -- because that is the argument for stating it as a measurement rather than as a recollection, and a reader who sees only the latest correction will assume the previous one was the careless kind. Found while diagnosing an unrelated floor red on #9020: the run's own `phases_run=4` contradicted the document, and a lane had already quoted the same figure back to me as if it were unremarkable. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
gunbai-bot Bot
pushed a commit
that referenced
this pull request
Aug 24, 2026
…dit into the authority The merge driver refused DESIGN.md, which is what it is for: both sides changed a generated path. The authority dag/gunbc/design_document.dag merged cleanly, so there was nothing to hand-resolve; DESIGN.md is regenerated by main_wet, run locally to a verified fixed point. But a straight regeneration would have SILENTLY DELETED main's #9085. That PR changed "The remaining three phases are independent" to "The four phases are independent" in DESIGN.md ONLY -- `git show dc5872e --stat` is `DESIGN.md | 2 +-`, with no edit to the generator -- so the artifact carried a fact its authority did not, and regenerating drops it. Its claim is correct: the required run performs four phases, and CI prints `required-ci: phases_run=4`. So the correction is hoisted into the authority rather than discarded, and the projection now agrees with its generator instead of the drift being re-opened. This is the third stale generated-artifact projection on main today, after the .gitignore allow-entry and the #9132 row. Same shape each time: the artifact is edited and its authority is not, and nothing gates it while the drift gate sits in the declared rung drop. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
gunbai-bot Bot
pushed a commit
that referenced
this pull request
Aug 25, 2026
ONE CONFLICT, IN A GENERATED FILE, SO IT WAS NOT RESOLVED BY MERGING TEXT. DESIGN.md is projected from gunbc.design_document. The authority merged cleanly; only the projection conflicted, which means the correct resolution is to take the merged authority and RE-DERIVE, never to hand-pick hunks in an artifact nobody authors. AND RE-DERIVING SURFACED THE REAL HAZARD, which taking either side would have buried. #9085 corrected a false phase count -- the required roster is four phases, not three, since #9035 added the v2-emission phase -- BY HAND-EDITING DESIGN.md, touching only that file and never gunbc.design_document. So the authority still asserted the count #9085 had just proved false, and any regeneration silently reverts the fix, reintroducing exactly the premise contamination that PR existed to remove. Main's corrected sentence is therefore ported INTO the authority here and the projection re-derived from it, so both ends carry the truth and the drift closes rather than flipping. That is the SECOND projection drift in this one document tonight. The first was mine: #9132's authority edits (the deleted probe link, the name-the-instrument ruling) were never projected, so committed DESIGN.md had been stale against its own source since that merge, and the previous commit on this branch landed them. Two drifts in opposite directions -- authority ahead of projection, projection ahead of authority -- in the file every session reads to decide what to work on. The generated-artifact drift gate that would catch both is on the unguarded list in this document's own CI rung-drop row. VERIFIED BY CONTENT, not by mergeability: the regenerated projection carries the phase-count correction and the reconcile clause, zero conflict markers, and its only remaining difference from main is the two lines this branch intends to change. Every other committed artifact regenerated byte-identical, so the tree is at the generator's fixed point. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DRMbwdtHZxTiMNZD5WLS3P
gunbai-bot Bot
pushed a commit
that referenced
this pull request
Aug 25, 2026
…ves only in the authority Same procedure as the previous merge: the driver refused DESIGN.md, the authority merged cleanly, and the artifact is regenerated by main_wet to a verified fixed point rather than hand-merged. The predicted silent deletion has now happened on main. #9085 corrected "three phases" to "four phases" in DESIGN.md alone, never in its generator. #9153 regenerated the artifact from that generator, and main's DESIGN.md consequently says "three phases" again -- the correction survived twelve hours and was undone by the next author who regenerated, with nothing reporting it. This branch hoisted that correction into dag/gunbc/design_document.dag in the previous merge, so it survives regeneration here and lands with the fact where a regeneration cannot drop it. The claim is measured, not inherited: CI prints `required-ci: phases_run=4`. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
gunbai-bot Bot
pushed a commit
that referenced
this pull request
Aug 25, 2026
… sentence it left stale Both the authority and its projection conflicted this time. The authority is hand-resolved; DESIGN.md is regenerated by main_wet to a verified fixed point and was never opened in a merge tool. On the phase-roster paragraph, main's text wins wholesale and mine is discarded. #9035 added a fourth phase and main now carries a full measured account of that in the AUTHORITY -- roster read off run 32678275911, with the five phases the 2026-08-21 ruling deleted enumerated as still deleted. That supersedes the one-word "three -> four" hoist this branch was carrying, which existed only because #9085 had corrected the artifact and not its generator. One sentence of this branch's is kept: "The four phases are independent". Main's new paragraph establishes the roster is four, but the later sentence in the same block still read "The remaining three phases are independent", so taking main wholesale there would have re-landed a sentence main's own text contradicts. Verified programmatically that no other sentence of main's is dropped. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
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.
What
DESIGN.md's CI bullet says the required run is "ONE step running THREE phases in ONE process". It is four. This corrects the count and records why the sentence is written as a measurement.Evidence (measured, not recalled)
Run
32678275911prints the roster from the required mode itself:The phase is real and enrolled, not a stray log line:
--required-v2-emissionis parsed inclaim_executorgunbc.ci_layer_rootscarries its entry roster and itsrequired_v2_emission_dissolutionconditionfixtures/v2_emission_gate/green/subject.dagcarries its green subjectIt landed in #9035 — "today an emission break reached main and no gate could see it" — after the 2026-08-21 operator ruling that cut the roster to three.
This is an addition, not a reversal
The five phases the 2026-08-21 ruling deleted stay deleted and stay enumerated in the bullet. #9035 restored none of them; it added a new one. The declared scope narrowing is unaffected, and merge-admission stamping stays on the unguarded list.
Why the sentence changed shape
The count has now been wrong in both directions: an earlier revision said four while enumerating a determinism pass no required run performed, that was corrected to three, and the three went stale when #9035 landed. The new text records both, because that history is the argument for stating the count as a measurement rather than a recollection — and a reader seeing only the latest correction would assume the earlier one was the careless kind.
Per the bullet's own standard, a knowingly-false recital in the canonical authority is premise contamination: every session reading it plans against a roster that does not match what runs.
Scope
One sentence-level edit to one paragraph. No code, no substrate, no
.dag. Verified no residualTHREE phases/remaining three phasesclaim survives; the survivingthree measurementsrefers to what the deleted phases used to measure and is still correct.Provenance
Found while diagnosing an unrelated floor red on #9020 — the run's own
phases_run=4contradicted the document, and a lane had already quoted the same figure back to me as unremarkable.