Skip to content

Whole-corpus frontier receipt 1 at eced9d24c599: typeck 155 remaining, the post-precedence attribution boundary - #9844

Merged
gunbai-bot[bot] merged 1 commit into
mainfrom
session/bold-carp-449
Aug 31, 2026
Merged

gunbai-bot[bot] merged 1 commit into
mainfrom
session/bold-carp-449

Conversation

@gunbai-bot

@gunbai-bot gunbai-bot Bot commented Aug 31, 2026 •

Copy link
Copy Markdown
Contributor

Whole-corpus compile-phase frontier receipt 1: the post-precedence attribution boundary

Appends the second row to gunbc.self_host_compile_phase_frontier self_host_compile_phase_frontier_receipts: the first whole-corpus measurement after the #9828 + #9813 + #9829 composition landed on main.

Subject: main@eced9d24c599b33f19442e0bd1eee57223f3d763 (tree d424154bb6fb8c40b149be07f2ddd8d61e89108e, working tree clean), produced by the enrolled instrument tools.emission_entry_instrument::measure_entry_emission over src/v2/compiler/00_compile.dag in BuildBuddy invocation 44d90e35-ccba-41d1-9a90-928a914b26a2, same toolchain/policy epoch as genesis (rustc-1.93.0-x86_64-check-dev-rustc-error-index-1.93.0).

Board (derived in-code from the raw census by phase_board_from_census_identities, never authored): parse PASSES / expand PASSES / resolve PASSES / typeck 155 remaining / borrowck not yet reached. 155 = 146 E0308 + 5 E0599 + 3 E0282 + 1 E0560, all coded, partition complete. Census identity digest 049d0a54eea70534 under CanonicalIdentitySetV1 — re-derived by the authority on every load, not transcribed.

Two sentences that are part of the receipt (carried in its module-scope annotation):

  1. The census_identity_digest is a set identity: fold the phase census over a canonical order #9828 + Kernel-precedence repair: one shared type-env producer; kernel overlay independent of import cardinality #9813 + A rename destination enrolls the declaration set it establishes, not the lines git happened to print #9829 composition was never branch-verified — main's own green required run at this revision was its first joint test.
  2. THIS receipt is the attribution boundary: no error identity absent from this census may be attributed to any pre-boundary lane, and every later delta is measured against this census, not genesis's.

Against genesis (233 → 155): 147 identities removed, 69 added; 65 of the additions are hop relocations under the existing diagnostic_semantic_key rule (same file+code+message, line/col moved by regenerated emission). The remaining 4 sit in src/v2_lens_undecidable_verdict_collapse.rs, a module that does not exist in the genesis tree 1c7c79fbc0 (added by #9819) — corpus growth, not regression.

Two small authority changes the receipt exposed as necessary

  • ExposedByNewEmittedModule cause arm. The NewlyExposedCause vocabulary could not express "a new module entered the emitted closure": the masking cause would fabricate a causal claim and an unadmitted row would hold the series red for non-regressions. The new arm is mechanically checked, not taken on faith: it admits an identity only when the predecessor board holds NO identity in that file. Positive + refusing controls added to the witness (a_new_emitted_module_disposition_*).
  • Recoverability accepts disposition-admitted identities. apply_regression_transition's recoverable predicate accepted refused identities only as unadmitted-or-relocation; a mix of relocations and newly-exposed-admitted identities — the ordinary successor shape — was unrepresentable and refused as "phase rollback or an unrecorded identity regression". The predicate now also accepts identities carrying a validated newly_exposed disposition. Discriminating evidence: the persisted-series witness itself was RED before this line and green after, with no other change.

Executed evidence: all 27 witness fns in test.claim.self_host_compile_phase_frontier_witness_test PASS over the persisted two-row series (including current_persisted_compile_phase_frontier_holds and the_published_frontier_standing_does_not_claim_typeck_or_borrowck_passed). docs/design-ledgers.md regenerated via the enrolled generated_artifact_gate main_wet_one actuator — the projection now cites this receipt.

Attribution notes for waiting lanes: the published 233/tree-1c7c79fbc0 receipt stays valid as history; the 78-identity net reduction is credited to the precedence/emission composition as a whole, not to any single lane; #9720's before-population is this receipt's census.

🤖 Generated with Claude Code

https://claude.ai/code/session_01GXfYKNQTD3VfYyQcnJpxNU

… post-precedence attribution boundary

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GXfYKNQTD3VfYyQcnJpxNU
@gunbai-bot
gunbai-bot Bot merged commit 1c67f50 into main Aug 31, 2026
5 checks passed
@gunbai-bot
gunbai-bot Bot deleted the session/bold-carp-449 branch August 31, 2026 21:40
gunbai-bot Bot pushed a commit that referenced this pull request Aug 31, 2026
Main advanced by #9814 (generated-artifact drift restored to required CI), #9810, and #9844,
which appends the whole-corpus frontier receipt 1 -- the successor row that was deliberately
held until the digest fold was repaired, now landing on the corrected fold.

Conflict was append-vs-append again, in the same file. Resolved with the check the previous
one taught: the conflict region ran to EOF with NO common tail, and each side balanced
independently (18/18 and 6/6), so concatenation was safe in either order. Last time the tail
held the final closing brace and reordering orphaned it. Verified 127/127 after resolving,
and git ls-files -u rather than a marker grep for resolution state.

The substantive new fact: the duplicate wall now applies across a TWO-receipt series, and
current_persisted_compile_phase_frontier_holds passes over both. That is not carried from an
earlier green -- #9844's receipt did not exist when the wall was authored, and main does not
contain this merge, so the composition had to be measured.

Verified on the merged tree, all three arms:

  as authored                      29/29 PASS
  remove phase_census_digest sort  FAIL the_census_digest_is_invariant... only
  delete the duplicate conjunct    FAIL a_receipt_whose_refused_population... only

Both falsifiers still fire, and the ARM B anchor asserts exactly one match so it cannot
silently retarget onto a neighbouring canonicalization.

docs/design-ledgers.md is byte-identical to main, so the drift check #9814 restored has
nothing to flag from this branch.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012t876A58gzqj5V69TsrB6Y
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants