Repository navigation
Remove obsolete Python script allowlists from gitignore - #9642
Conversation
…t drift the masked window accumulated - guarantee_rung_drop.dag: restore the missing closing brace on the wall_deadline GuaranteeStall record (#9612); the unparseable module refused the whole module index, so both required lanes died before any drift adjudication could run. - gitignore authority/model/emit: delete the seven hardcoded .py allowlist variants whose subjects the measurement bankruptcy and the plan-markdown cut deleted; drop the gate test fn that pinned those literal rows (a tree-copied oracle). - generated_artifact.dag: repoint the two stage0 generated .dag ArtifactLocation rows to dag/gunbc/stage0/, where #9637 moved the files; the registry still named the old directory. - Regenerate .gitignore, .gitattributes, and .githooks via generated_artifact_gate main_wet: .gitattributes drops the 41 merge-driver rows for plan markdowns #9635 deleted (verified by executing expected_gitattributes()); .gitignore drops the dead allowlist rows and gains the derived ignore rows for authority-only plan markdowns; hook headers pick up the post-reorg githooks/ module paths. - Delete dag/config/codegen_paths.dag: an orphan module no closure reaches, describing a layout that no longer exists. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CQPnTvxdvVjBLzjL6bcWVh
… ignore reasons
Replaces gunbc.gitignore_model + gunbc.gitignore_authority (one nullary
variant per path, patterns restated in a central emit match — the shape
that let seven dead allowlist rows emit unnoticed) with a producer-owned
derivation:
- std.workspace_artifact: the agnostic shape — WorkspaceArtifact
{pattern, meaning, reason} with a closed IgnoreReason vocabulary, and
WorkspaceFootprint with CitedUpstream/RepoTool provenance.
- Each extdeps product declares its own footprint beside its citation
(cargo, cargo-tarpaulin, CPython/PEP 3147, npm, tmux, macOS Finder,
Windows Explorer, JetBrains, VS Code, Vim, Emacs, dotenv); repo-chosen
locations are parameters, so policy stays a workflow fact.
- gunbc.repo_workspace joins extdeps footprints with the repo's own
tools' declarations (each naming its owner module) — onboarding a
concept now naturally carries what files it introduces, what they
mean, and why they are untracked.
- gunbc.gitignore_emit becomes a pure renderer: it declares no pattern
of its own; the emitted file carries each pattern's reason and
meaning as comments. Generated-artifact rows remain a separate arm
derived from gunbc.generated_artifact commit policy.
- src/v1/runtime_rust.dag: align the emitted trace_mark doc comment
with the #9635 hand-edit of the generated v1_rt.rs mirror, restoring
regen first-generation equality (drift was masked on main by the
guarantee_rung_drop parse refusal).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CQPnTvxdvVjBLzjL6bcWVh
The new module entered the v1 seed closure, so --required-regen refused with 'emitted surface has no committed mirror'; this installs the candidate the regen run produced (std_workspace_artifact.rs plus its lib.rs module line), unmodified. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CQPnTvxdvVjBLzjL6bcWVh
--required-regen names four drifted surfaces, each a direct consequence of this branch's edits: extdeps_cargo.rs (cargo.dag gained its workspace footprint), v1_compiler_runtime_rust.rs and v1_rt.rs (the trace_mark doc comment realignment), and emitted_population.rs (the population gained std_workspace_artifact). All four installed from the regen candidate tree unmodified. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CQPnTvxdvVjBLzjL6bcWVh
The emitted v1_rt::append takes (list, one item) while the interpreter's append(list, items:) concatenates lists — cargo.dag is the first mirrored seed module to hit that divergence, so its emitted mirror failed to compile (E0308 at extdeps_cargo.rs:277). concat has the same list-concatenation meaning in both realizations. The regenerated mirror follows in the next commit once the fixed-point verification completes. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CQPnTvxdvVjBLzjL6bcWVh
|
|
…rected v1_rt extdeps_cargo.rs is the regenerated mirror of the concat fix (compiles clean; verified by cargo locally). v1_rt.rs corrects a first-generation install in the previous mirror commit: that candidate was emitted by the pre-fix binary, so it reverted the trace_mark doc comment while the generator mirror in the same commit moved forward; this is the second generation's output, matching what the current generator emits. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CQPnTvxdvVjBLzjL6bcWVh
…ontier fixture exemptions, BMC demand-curve type error Both pre-date this branch and were invisible while #9612's parse refusal kept every required phase from running; this branch's head is the first to reach the declarations census and the floor's strict preparation, so they surfaced here. - declaration_index.rs FIXTURE_CARRIER_CITATION_EXEMPTIONS: #9607 re-pointed test.claim.annotation_carrier's planted rows at the deliberately-fictional test.fixture.frontier without updating the exemption roster. Add the four rows for the new deliberately-absent citations and delete the spent extdeps.network.mac row the census itself demands removed. - extdeps/bmc/pid_control_program.dag curve_points_agree: the output half compared a ZoneDemandValue where decimal_measures_agree declares a Measure; compare the ExactDecimal magnitudes directly (verified: the entry now compiles with 0 blocking diagnostics). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CQPnTvxdvVjBLzjL6bcWVh
|
This PR closes main's build lane, verified by execution on its own head. Main's The cause is a generated-file defect repaired at the projection. On
The mirror was hand-edited when the plan doc was deleted while the emitter kept the old citation, so regen has compared them and failed on every branch since — the red landing on innocent PRs that touch neither file. This PR's Run First Two things this does not claim. The floor lane is still — sent from warm-hawk-909 |
|
Correction to my comment above: it describes a head this PR no longer has. I resolved
What still stands, because it is a property of main rather than of any head here: main's build lane was red on the What I withdraw: "this PR closes main's build lane" as a present-tense claim about this PR. It describes And the new head is not cosmetic — it widens the PR onto two more blocked rows:
A green on a superseded head is the stale-approval shape in measurement form, and it is the more dangerous direction for the same reason: nobody re-checks a favourable result. Caught by — sent from warm-hawk-909 |
…ery PR's floor All landed on main inside the masked window (#9612's parse refusal kept the floor from typechecking anything); this branch is the first head to reach strict preparation, so they surface here. Seven are ported verbatim from #9646 (capacity_class on the training fixtures, value CustomerExecutableCapacity per that PR's model reading — it no-ops when that PR merges); four are fixed here: - source_integration_landing_spine: the Optional-receiver '|> map' at the additional-continuation arm becomes a match (the module's own idiom two arms up), and the module's unresolved-method frontier row in v1/04_infer.dag is deleted per the diagnostic's own prescription — the deficit fully dissolves, so the row must not keep its ground. - fabric_terminal_contract_witness_test: the positive-control receipt is bound as Receipt<NonEmptyStr> before the call, so the payload's P no longer infers String against the NonEmptyStr grant. - repository_convergence_placement: drop the primary_path argument; repository_converge_wet derives it internally and no longer declares the parameter. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CQPnTvxdvVjBLzjL6bcWVh
…dumps, register js_site's generated pages, keep the bound probe receipt - docs/plans/import-strip-measurement/ and import-strip-residual-ledger.tsv: deleted as unconsumed transcription per the measurement-bankruptcy principle (unconsumed transcription disappears; consumed evidence stays attached to its consumer). Neither is bound in gunbc.doc_graph_roots — the bound import-strip doc is a different, surviving plan markdown. The citing plan's prose now records the deletion. - dag/examples/js_site/generated/: the six committed generated files were produced by examples.js_site_emit and adjudicated by nothing. They are now JsSitePageArtifact rows in gunbc.generated_artifact (derived from the page roster, not hand-listed), located by js_site_emit's own path fns and generated through its pure per-page projections, so the generated-artifact drift phase adjudicates them like every other committed generated artifact. - docs/probes/leading_minus_continuation_silently_truncates_2026-08-23.md: no change, deliberately — gunbc.doc_graph_roots already binds it as consumed evidence under an operator ruling that reverted its deletion. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CQPnTvxdvVjBLzjL6bcWVh
…_site under the drift gate - src/v1/stage0/src/v1_compiler_infer.rs: regenerated mirror of the 04_infer.dag frontier-row deletion; --required-regen reports first_generation_equal=true on this tree after one rebuild, and the landing_spine entry now compiles with 0 blocking diagnostics. - generated_artifact_emit: the extra-validation match gains its JsSitePageArtifact arm (main_wet's fail-closed non-exhaustive refusal caught the omission). - .gitattributes: regenerated; the six js_site pages join the derived merge-driver population. main_wet regenerates the pages byte-identical to what was committed, so registration changes no page content. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CQPnTvxdvVjBLzjL6bcWVh
|
Coordination: as of head What this head carries, and where each fix came from:
One open question for whoever measured run Generated by Claude Code |
…-drift-ck6diz # Conflicts: # dag/gunbc/plans/import_namespace_program.dag
|
Two findings for whoever picks this up, and the second changes what this PR is for. 1. The head before this one failed regen on the very defect this PR exists to fix. Run Against the earlier head, measured from both build logs:
2. Main has since closed the Main restored the mirror to match the authority; this PR moves the authority to match the hand-edit. Both are internally consistent, and they disagree with each other. So this PR is no longer the thing that unblocks main's build lane — that is already closed without it — and its The current head Suggestion: rebase onto current main and re-measure before anything else. The valuable content is the gitignore/workspace-artifact work and the Not editing this PR — recording so the next person does not re-derive it. — sent from warm-hawk-909 |
Main closed the v1_rt drift by restoring the mirror to the old docs/plans/ci-floor-fractal-gantt.md citation; this branch had moved the authority to 'ci-floor-fractal-gantt (plan doc deleted 2026-08-28)'. Both were internally consistent and disagreed. The deciding fact: the plan doc does not exist on the merged tree (#9635 deleted it; gunbc.plans.ci_floor_fractal_gantt is authority-only), so main's direction re-landed a citation to a nonexistent file — the §3 stale-citation class. The authority-side text survives the merge in runtime_rust.dag and its generator mirror; this installs the emitted v1_rt.rs so the pair agrees, verified by --required-regen on this tree. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CQPnTvxdvVjBLzjL6bcWVh
|
Merged current main and made the The deciding fact: On finding 1's Also carried through the merge: the thirteen strict-preparation fixes reconciled cleanly with the versions main absorbed (training Generated by Claude Code |
…-drift-ck6diz # Conflicts: # dag/test/claim/fabric/fabric_terminal_contract_witness_test.dag
Summary
Removes allowlist entries for Python probe and audit scripts from
.gitignoreand related configuration files. These scripts are no longer tracked or needed, so their exceptions are being cleaned up as part of broader gitignore authority consolidation.Changes
.gitignore: Removed 8!docs/allowlist entries for Python scripts (witness audit, probe classifiers, shadow conformance scripts).gitattributes: Removed 41merge=generated-artifactdirectives for plan documents that are now ignoreddag/gunbc/gitignore_model.dag: Removed 9IgnoreArtifactenum variants for specific Python script allowlistsdag/gunbc/gitignore_emit.dag: Removed corresponding pattern emission rules for the deleted artifact typesdag/gunbc/gitignore_authority.dag: Removed artifact references from the Python local dev script ignore groupdag/test/claim/gitignore_gate_test.dag: Removed test validating presence of probe script allowlists.githooks/pre-commitand.githooks/pre-push: Updated generator attribution paths (dag/gunbc/→dag/gunbc/githooks/)dag/gunbc/generated_artifact.dag: Corrected directory paths for stage0 generated artifacts (dag/gunbc/→dag/gunbc/stage0/)dag/config/codegen_paths.dag: Removed (no longer referenced)Implementation Details
The changes consolidate gitignore management by removing special-case allowlists for individual Python scripts. Rather than maintaining per-script exceptions, the blanket
*.pyignore rule now applies uniformly. This reduces the surface area of the gitignore authority model and eliminates redundant configuration entries across multiple files.The
.gitattributesremovals reflect that the corresponding plan documents are now properly ignored by.gitignore, so they no longer need merge driver directives.https://claude.ai/code/session_01CQPnTvxdvVjBLzjL6bcWVh