Skip to content
Closed
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
77836a5
WIP: Stage0 regen-lockstep REPAIR (Route A prerequisite): regen_stage…
briansrls Jun 19, 2026
b20bb89
WIP: Stage0 regen-lockstep REPAIR (Route A prerequisite): regen_stage…
briansrls Jun 19, 2026
dd46d49
WIP: Stage0 regen-lockstep REPAIR (Route A prerequisite): regen_stage…
briansrls Jun 19, 2026
fcb5b44
WIP: Stage0 regen-lockstep REPAIR (Route A prerequisite): regen_stage…
briansrls Jun 19, 2026
6241338
Stage0LockstepGate: enroll regen-lockstep verify into CI floor (§6 gate)
briansrls Jun 19, 2026
1b340af
WIP: Stage0 regen-lockstep REPAIR (Route A prerequisite): regen_stage…
briansrls Jun 19, 2026
0f09bdd
WIP: Stage0 regen-lockstep REPAIR (Route A prerequisite): regen_stage…
briansrls Jun 19, 2026
34daeda
WIP: Stage0 regen-lockstep REPAIR (Route A prerequisite): regen_stage…
briansrls Jun 19, 2026
632a4b5
WIP: Stage0 regen-lockstep REPAIR (Route A prerequisite): regen_stage…
briansrls Jun 20, 2026
e6c7599
WIP: Stage0 regen-lockstep REPAIR (Route A prerequisite): regen_stage…
briansrls Jun 20, 2026
a17c25b
Merge remote-tracking branch 'origin/main' into session/snappy-swift-91
briansrls Jun 20, 2026
7c7af89
WIP: Stage0 regen-lockstep REPAIR (Route A prerequisite): regen_stage…
briansrls Jun 20, 2026
88ee181
WIP: Stage0 regen-lockstep REPAIR (Route A prerequisite): regen_stage…
briansrls Jun 20, 2026
42fd9ee
Merge remote-tracking branch 'origin/main' into session/snappy-swift-91
briansrls Jun 20, 2026
3623330
Merge remote-tracking branch 'origin/main' into session/snappy-swift-91
briansrls Jun 20, 2026
97b0926
WIP: Stage0 regen-lockstep REPAIR (Route A prerequisite): regen_stage…
briansrls Jun 20, 2026
a162992
WIP: Stage0 regen-lockstep REPAIR (Route A prerequisite): regen_stage…
briansrls Jun 20, 2026
59f4083
Stage0 B/C seed-wiring: languages_consumer_census lib.rs mod-decl + s…
briansrls Jun 20, 2026
3b62e68
Stage0 #5325: de-enroll Stage0LockstepGate until seed-green (keep B/C…
briansrls Jun 20, 2026
a3f404f
Merge remote-tracking branch 'origin/main' into session/snappy-swift-91
briansrls Jun 20, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 36 additions & 0 deletions src/v1/stage0/src/bin/regen_stage0.rs
Original file line number Diff line number Diff line change
Expand Up @@ -216,6 +216,9 @@ fn run() -> Result<(), String> {
time_phase(&mut phases, "patch_bootstrap_dag_collect", || {
patch_bootstrap_dag_collect(&fresh_dir.join("src"))
})?;
time_phase(&mut phases, "patch_languages_consumer_census_mod", || {
patch_languages_consumer_census_mod(&fresh_dir.join("src"))
})?;
time_phase(&mut phases, "assert_bootstrap_emit_core_support", || {
assert_bootstrap_emit_core_support(&fresh_dir.join("src"))
})?;
Expand Down Expand Up @@ -742,6 +745,39 @@ fn patch_bootstrap_dag_collect(src_dir: &Path) -> Result<(), String> {
Ok(())
}

/// Declare the hand-maintained `languages_consumer_census` module in the
/// generated `lib.rs`.
///
/// `languages_consumer_census.rs` is a hand-maintained v1 seed module (the v2
/// authority is the lens `src/v2/lens/languages_consumer_census.dag`); it is
/// copied into the fresh crate by `copy_hand_maintained_support` and consumed by
/// `v1_interpreter.rs`. Unlike its sibling lens/projection modules, it is
/// uniquely absent from the emitter's `all_module_files`, so
/// `emit_lib_rs_from_files` (src/v1/05_emit_rust.dag) does not write a
/// `pub mod languages_consumer_census;` for it and the fresh crate fails to
/// resolve `crate::languages_consumer_census::*`. Inject the declaration here,
/// mirroring `patch_bootstrap_dag_collect`.
///
/// DISSOLUTION: remove this patch once 05_emit_rust.dag's `all_module_files`
/// (or its `hand_maintained_mods` emission path) includes
/// `languages_consumer_census`, so the emitter declares it directly (single
/// authority — the §3 parallel-ledger note on `HAND_MAINTAINED_STAGE0_FILES`).
fn patch_languages_consumer_census_mod(src_dir: &Path) -> Result<(), String> {
let lib_path = src_dir.join("lib.rs");
let mut lib_text =
fs::read_to_string(&lib_path).map_err(|e| format!("read {}: {e}", lib_path.display()))?;
if !lib_text.contains("pub mod languages_consumer_census;") {
// Insert after import_resolution_project so `cargo fmt` module order
// matches the committed lib.rs (emitter emits mods in sorted order).
lib_text = lib_text.replace(
"pub mod import_resolution_project;\n",
"pub mod import_resolution_project;\npub mod languages_consumer_census;\n",
);
}
fs::write(&lib_path, lib_text).map_err(|e| format!("write {}: {e}", lib_path.display()))?;
Ok(())
}

fn assert_no_local_delegated_fns(text: &str) -> Result<(), String> {
let mut duplicates = Vec::new();
for symbol in DELEGATED_DAG_COLLECT_SYMBOLS {
Expand Down
Loading