Skip to content

Retract the false compiler-floor claims published in docs/design-ledgers.md: fix the ledger producer + persisted phase series so a regen at main renders the honest board - #9822

Merged
gunbai-bot[bot] merged 2 commits into
mainfrom
session/crisp-crab-162
Aug 31, 2026

Conversation

@briansrls

Copy link
Copy Markdown
Contributor

Auto-opened by session-dashboard for session crisp-crab-162.
Pushing to session/crisp-crab-162 advances this PR.

Worker attestation

Before flipping this PR to ready for review, confirm each item:

  • Title describes the change (not the session id or branch).
  • PR body summarises what and why (replace the TODO below).
  • Tests run: name the command (e.g. npm test, cargo test) and the result.
  • If this closes a work item, the body contains a Closes #N directive.
  • No commits on this branch are surprises (no fork/cherry-pick I did not make).
  • No secrets / credentials / large binaries staged.

Summary

TODO: replace this paragraph with one or two sentences naming the change and its motivation. Reviewers read this first.

Test plan

  • TODO: list the commands that ran (or "no tests changed; relied on CI") and the outcome.

…nd copy of the row layout and read the wrong field

docs/design-ledgers.md on main published "typeck PASSES / borrowck PASSES" over a
census of 233 typeck errors. The projection is generated and the tree was at its
byte fixed point, so every mechanical check passed while the document asserted
the compiler floor was met.

THE PHASE MODEL IS SOUND. #9745's error-code -> phase rows are correct, and the
live derivation `cargo_phase_board` classifies `RustcCodedDiagnostic` values
directly and is unaffected. What shipped broken is the OTHER route to a board:
a persisted receipt carries raw identity ROWS, and `phase_board_from_census_identities`
re-derives the board by parsing them. That parser hard-coded field index 3 of a
row `rustc_diagnostic_row` writes with three fields, so the code lived at index 1
and every identity came back Absent. Absent is read as "no code", never as "this
reader cannot parse the row", so all 233 identities became unattributable, every
checked phase counted zero, and zero rendered as PASSES.

Two fixes, both at the root:

- `rustc_diagnostic_row_code` lands beside `rustc_diagnostic_row` in
  extdeps.cargo_diagnostic. The field order is one fact; a reader that re-derives
  its own index is a second authority for it, and this one stayed silently wrong.
- A zero count may render PASSES only when the census partition is complete.
  While identities remain unattributed, each is a candidate member of every phase
  and the zero establishes nothing -- rendering it as a pass is the absorbing arm
  of section 5 aimed at the compiler's own self-description.

Nothing was transcribed: the genesis board is folded from the persisted identity
rows and the seal digests are recomputed. The regen diff is one line, "typeck
PASSES / borrowck PASSES" -> "typeck 233 remaining / borrowck not yet reached".

EVIDENCE. Every existing test in the witness built its board by hand, which is
why the census fold had no consumer. Five tests now execute that path:
a typeck census row must be attributed and must not render PASSES (RED on the
old reader), an empty census must still render PASSES (positive control), an
unplaced code must forbid every phase from claiming a pass, the persisted genesis
census must be fully attributed with its count joined to the identity list rather
than to a literal, and the published standing must not claim typeck or borrowck
passed. Revert arm run: restoring index 3 turns the first and fourth red.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VD4eDFDaUMy9vc4d1wAbG7
@gunbai-bot
gunbai-bot Bot marked this pull request as ready for review August 31, 2026 14:26
Picks up main@2bfb7df9 (dissolve stale INTAKE-AGENT-0A namespace admissions).
The required-witnesses-floor lane failed on this branch's previous head for
five STALE ADMISSION rows on BootArtifact / IntakeLinuxEnvironment / IsoImage
relocating to gunbc.boot_artifact -- a tree-wide condition unrelated to this
change, repaired on main after this branch's base.

This branch's own namespace delta was already clean in that run: both new
import edges (-> extdeps.cargo_diagnostic, -> tools.emission_entry_instrument)
adjudicated ExplicitlyEvaluatedZeroDelta with a zero-module blast radius, the
floor verdict was FloorClean, and all six changed witnesses passed.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VD4eDFDaUMy9vc4d1wAbG7
@gunbai-bot
gunbai-bot Bot merged commit 3741afe into main Aug 31, 2026
5 checks passed
@gunbai-bot
gunbai-bot Bot deleted the session/crisp-crab-162 branch August 31, 2026 16:24
@briansrls
briansrls restored the session/crisp-crab-162 branch August 31, 2026 16:24
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.

1 participant