Skip to content

Stage0 mirrors reconciled with their .dag authorities (zero-drift regen); release-locus constants registered - #12183

Merged
gunbai-bot[bot] merged 1 commit into
mainfrom
session/silent-eagle-13
Sep 24, 2026
Merged

gunbai-bot[bot] merged 1 commit into
mainfrom
session/silent-eagle-13

Conversation

@gunbai-bot

@gunbai-bot gunbai-bot Bot commented Sep 23, 2026

Copy link
Copy Markdown
Contributor

Brings main's stage0 seed mirrors into line with their .dag authorities, so the next PR that regenerates a mirror stops tripping over drift that was already on main (#11985, #12047 and #12070 each had to hand-pick one line).

Receipt: fresh regen round on this head

The binary was built from this head in a private CARGO_TARGET_DIR:

required-regen: elapsed_ms=563935 first_generation_equal=true planned=159 executed=159 adjudicated=159 declared_divergent=1 [main.rs]
required-regen: first_generation_equal=true candidate=target/stage0-regen-candidate
  • The round did not refuse.
  • Every committed mirror is byte-identical to its candidate (checked with cmp, not only by the drift list).
  • generated_artifact_gate main (dry) exits 0.

Per-mirror disposition

Mirror Disposition
release_locus_seed_constants_generated.rs (round refused: "committed mirror is no longer emitted") The authority is intact; its registration was missing. The file's producer is still gunbc.release_locus_seed_constants_emit via generated_artifact_gate main_wet, the same wet-actuator path as gunbc_file_transport_generated. #12011 never added its WetActuatorGeneratedRegistration row, so compile_stage0()'s population reported it as lost. Fix: add the row (PlainPubMod) in v2.compiler.self_host.stage0_crate_layout, then regenerate bootstrap_stage0_crate_layout_generated.rs and dag/gunbc/stage0/stage0_crate_layout_generated.dag through main_wet_one, then regenerate the gunbc_stage0_crate_layout_generated.rs mirror. lib.rs is unchanged: after the rebuild the candidate emits its pub mod line itself.
emitted_population.rs (a) Mirror was stale (two emitted paths missing). Installed the regenerated file.
std_integer.rs, std_machine_constraints.rs (a) Mirror was stale. The .dag declares WidthResolution as a coproduct (StaticWidthIndex | PointerWidth); the mirror had a hand-written PointerWidth struct and type alias in its place, which is the E0573 residue. Installed the regenerated files.
v1_compiler_emit_rust.rs (c) The three re-exports second, NonEmptyStr and literal_suffix have no consumer through v1_compiler_emit_rust. A search found none, and the crate builds without them. Dropped.
v1_compiler_infer_resolve.rs (a) The "TRANSIENT BOOTSTRAP PATCH" was the hand-carried projection of an arm v1.compiler.infer_resolve already declares. The regenerated file carries that arm, plus the later kind_inhabitant_matches_resolved arm the .dag has since gained, so no hand change is lost. Installed the regenerated file.
v1_compiler_emit.rs, v1_compiler_infer.rs, v1_rt.rs These do not drift at ee04f784624. The candidate is byte-identical to the committed file, so the v1_rt content-hash change is already carried by its authority (landed via #12065). No change.

No seed Rust was added, so no seed-retained row was needed. No CI job was added.

Notes

  • --regen-round-cost refused on this tree with convergence kind projection returned unknown closed variant Refused and installed nothing. The loop was driven by hand instead: --required-regen, install, rebuild, repeat. This is a separate defect and is not fixed here.
  • A round run on a binary that fails to build is not a receipt. One intermediate round printed first_generation_equal=true over a lib.rs that did not compile, because the emitter was a stale binary. The receipt above comes from a binary built from this head.

🤖 Generated with Claude Code

…constants registered as a wet-actuator artifact

main's required regen round refused: release_locus_seed_constants_generated.rs (#12011) reaches
disk through generated_artifact_gate main_wet, but #12011 never added its
wet_actuator_generated_registrations row, so compile_stage0()'s population reported it as a
committed mirror no longer emitted. Authority not removed, registration omitted: the row is
added (PlainPubMod, as lib.rs declares it) and the two layout projections regenerated.

With the refusal gone, the round's drifting mirrors were installed from the candidate and the
seed rebuilt until a fresh round on the rebuilt binary reported first_generation_equal=true.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@gunbai-bot
gunbai-bot Bot added this pull request to the merge queue Sep 23, 2026
Merged via the queue into main with commit 058c172 Sep 24, 2026
5 checks passed
@gunbai-bot
gunbai-bot Bot deleted the session/silent-eagle-13 branch September 24, 2026 01:53
@briansrls
briansrls restored the session/silent-eagle-13 branch September 24, 2026 01:53
briansrls pushed a commit that referenced this pull request Sep 24, 2026
…crates, std-core root)

Regen order that fits the compiled-in partition: partition .dag (already on the branch via heal),
then --required-regen installing only the partition mirror and the new module mirror, rebuild,
--emit-partition-crates --write (std-core lib.rs gains the module; std-surface reaches it through
pub use v1_stage0_std_core::*), then the remaining regenerated mirrors. Main's release_locus
lib.rs drift is left untouched; #12183 reconciles it on main.

Run on srv1 at cd1ec89 (MemoryMax=40G scope, private TMPDIR and target): a second
--required-regen is byte-identical for every installed mirror; claim_batch --hermetic over
http_method_set_witness, effects_witness, approval_broker_witness, http_serve_route_witness:
34 PASS, 0 FAIL.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
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