Repository navigation
DESIGN.md and .gitignore had drifted from their generators: hoist the hand-added doctrine back into the .dag authorities - #8930
Merged
Conversation
… hand-added doctrine back into the .dag authorities
Regenerating the committed artifacts from `dag/tools/generated_artifact_gate.dag`
`main_wet` over a clean tree produced a two-file divergence, which is the full
census:
- `.gitignore` — four hand-added negations (`!docs/probes/shadow_direct_call_arg_conformance_2026-08-22/{summarize,adjudicate,join_board}.py` and `!docs/probes/e0308_classify_sites.py`) exist only in the committed file. Regeneration deleted all four, which would have re-ignored four committed probe scripts.
- `DESIGN.md` — two paragraphs. The Recurring-failure-modes line had gained the `authority substitution` and `reachability read as occupancy` entries by hand; the CI bullet had been re-pointed to run `32553487573` (`967b5bc1b92`) with the updated counters, the `11.6%` decline figure, and the closing sentence about transcribed receipt counters being positional citations. Regeneration reverted both to the older text — doctrine deleted silently, since neither gate runs in CI today.
The hand content is now the authority's content:
- `gunbc.design_document` carries both paragraphs verbatim.
- The four probe scripts are modeled as `IgnoreArtifact` variants in `gunbc.gitignore_model`, rendered in `gunbc.gitignore_emit`, and enrolled in the `PythonLocalDevScript` group in `gunbc.gitignore_authority` — one row per path, in the position the committed file already had them.
- `gitignore_gate_test` `witness_has_probe_script_allowlists` asserts all four, so a future regeneration that drops them goes red rather than quiet.
Verified by execution: after the change, `main_wet` over a clean tree leaves
`DESIGN.md` and `.gitignore` byte-identical to HEAD (`git status` reports only
the four `.dag` edits), where before it reported both artifacts modified.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
gunbai-bot Bot
pushed a commit
that referenced
this pull request
Aug 22, 2026
… this branch was in review TWO CONFLICTS, AND ONE OF THEM IS THE SEAL DOING ITS JOB. extdeps.tools.gnu_coreutils -- textual. main (#8930) deleted the `gnu_coreutils_diff_flags_dissolve_on` row and its `std.dissolution` import, replacing the row with a leading annotation on `grep_recursive_numbered_flags` that says why a `diff` flags literal must not come back. This branch had added argv builders and widened the `std.types` import in the same two regions. Took main's deletion whole -- the row and the import are gone -- and kept this branch's builders and its `{ NonEmptyStr, String, List, FilePath }` import, which is the union both sides need. Nothing in the tree still references the deleted row. gunbc.fabric_witness_run -- SEMANTIC, and git merged it cleanly, which is exactly why it needed reading rather than trusting. main added `cited_symbol_run_command`, a NEW hand-built `ArgvCommand { argv: [...] }` record literal with the binary path and mode flag spelled inline, landed while this branch was in review. That construction does not exist any more: this branch splits the carrier into `program` / `arguments` and seals it behind the `argv_command` mint. Auto-merge produced a file that would refuse. Converted it the same way as the other 58, and to the builder this branch introduced for precisely this shape -- `claim_executor_command(mode_flag:, operands:)` from `gunbc.claim_executor_cli`, which already owns "where the release binary lives" for `floor_run_command` two functions below it. The inline `"target/release/claim_executor"` is gone with it, so the path is one fact again rather than two that agree. No admit-list change: the caller reaches `argv_command` through `claim_executor_command`, which is already admitted. That is the deletion-as-census working across a merge rather than within one diff -- a new construction of a removed shape cannot arrive quietly, because the constructor it needs is gone. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DhAfyPkuxnjZaTzPn5PyE1
gunbai-bot Bot
pushed a commit
that referenced
this pull request
Aug 22, 2026
#8930 ("DESIGN.md and .gitignore had drifted from their generators") landed at 22:40Z and edits dag/gunbc/design_document.dag -- the file this PR is about. It hoisted the same three entries this PR was hoisting: authority substitution, reachability read as occupancy, and the refreshed floor counters. Main now carries all three in BOTH the authority and the projection. So most of this PR became redundant rather than conflicting, and resolving it as a textual merge would have landed TWO COPIES of one hoist -- the duplicated-authority shape, in the file that defines the rule against it. Resolved as a deletion instead: main's row plus only this PR's remaining unique content, the "total at the level examined" entry. DESIGN.md was NOT taken from this branch. The generated-artifact merge driver refuses rather than picking a side: it left our stale copy in the worktree with no conflict markers and printed the regeneration recipe. That copy predates #8929's edit to the section 4b attainable-ceiling line, so committing it would have silently reverted another lane's work in a file whose diff shows only additions. Rebuilt from main's DESIGN.md with this PR's one entry appended, so the only line differing from main is the failure-modes row. Verified rather than asserted: each of the four entries appears EXACTLY ONCE in each file authority row unescaped == projection row, 7748 == 7748 DESIGN.md differs from main on exactly one line Merged rather than rebased, per the repo's merge policy. 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.
Regenerating the committed artifacts from
dag/tools/generated_artifact_gate.dagmain_wetover a clean tree produced a two-file divergence, which is the fullcensus:
.gitignore— four hand-added negations (!docs/probes/shadow_direct_call_arg_conformance_2026-08-22/{summarize,adjudicate,join_board}.pyand!docs/probes/e0308_classify_sites.py) exist only in the committed file. Regeneration deleted all four, which would have re-ignored four committed probe scripts.DESIGN.md— two paragraphs. The Recurring-failure-modes line had gained theauthority substitutionandreachability read as occupancyentries by hand; the CI bullet had been re-pointed to run32553487573(967b5bc1b92) with the updated counters, the11.6%decline figure, and the closing sentence about transcribed receipt counters being positional citations. Regeneration reverted both to the older text — doctrine deleted silently, since neither gate runs in CI today.The hand content is now the authority's content:
gunbc.design_documentcarries both paragraphs verbatim.IgnoreArtifactvariants ingunbc.gitignore_model, rendered ingunbc.gitignore_emit, and enrolled in thePythonLocalDevScriptgroup ingunbc.gitignore_authority— one row per path, in the position the committed file already had them.gitignore_gate_testwitness_has_probe_script_allowlistsasserts all four, so a future regeneration that drops them goes red rather than quiet.Verified by execution: after the change,
main_wetover a clean tree leavesDESIGN.mdand.gitignorebyte-identical to HEAD (git statusreports onlythe four
.dagedits), where before it reported both artifacts modified.Co-Authored-By: Claude Opus 5 noreply@anthropic.com
🤖 Generated with Claude Code