Repository navigation
emission convergence - #9245
emission convergence#9245gunbai-bot[bot] wants to merge 1 commit into
Conversation
… inverted crate tier
`cargo build --release` at the workspace root -- the first item under
DESIGN's own Building & checks bullet -- fails on main. Two module rosters
stand over one file set: `src/v1/stage0/src/lib.rs` (complete, 160 mods) and
the seven partition-crate `lib.rs` files, which share those same sources
through `#[path]` includes. Nothing decides that the two agree, so a module
added to the monolith is invisible to the split crates until someone runs a
build the required lanes never run.
MEASURED, not inferred. The reported specimen was one module; cargo stopped
at the first failing crate and never reached the one above it. A per-crate
visibility scan (own `pub mod` plus the transitive `pub use <pkg>::*` chain,
against every included file's `crate::X` references) finds three:
stage0_extdeps_languages extdeps_languages_rust_capabilities
stage0_v1_infer v1_compiler_coercion, v1_compiler_type_head_exposure
The prediction was confirmed by execution before this change was written: a
build carrying only the first fix failed on exactly the second crate.
The second half is not two more roster lines. `v1_compiler_infer_emit_info`
imports `crate::v1_compiler_artifact`, owned by `stage0_v1_artifact` -- which
DEPENDED ON `stage0_v1_infer`. `v1_compiler_coercion` reaches artifact too, so
it could not join infer while artifact sat above it. Measured deps show the
edge pointed the wrong way: `v1_compiler_artifact` needs only
{std_types, v1_rt, v1_std_core} and `v1_compiler_languages` needs no infer
module at all. The tiers are swapped -- artifact BELOW infer -- in the
authority rows, the generated mirror, the manifests, the `pub use` chains and
the workspace member order, and the four real import edges the module DAG was
missing are added.
WHY NOTHING CAUGHT IT. `claim_executor` is a bin of the monolith, whose roster
is complete, so every required phase builds a crate that compiles. The
partition crates are workspace members nothing in CI builds; the Rust suite
and clippy left CI by operator ruling in July.
WHAT THIS DOES NOT FIX, stated so it is not mistaken for closed. The producer
exists and has no caller: `v1.compiler.stage0_crates` renders both the
partition `lib.rs` and its `Cargo.toml` from the authority rows, and
`stage0_crate_boundary_emit_outcome` is named by nothing outside its own
module, its mirror, and `workspace_members`. `--required-regen` does not cover
these crates. So this repairs the instance and leaves the class: the same
omission lands again with the next module.
RUNG: unchanged, and low. The rosters stay hand-authored and no mechanism
refuses a fourth omission -- previous rung mitigatable, current rung
mitigatable, bounded residue the three modules and one tier edge repaired
here. NEXT-RUNG TRIGGER: give the producer a live entry point AND a required
phase that FAILS on a partition crate that does not compile, landed together
-- a producer with no route is the defect this commit diagnoses, so producing
without routing would relocate it rather than close it. Deriving the
assignment itself (a new module rostered with no human edit) is blocked on
the declared `stage0_module_dag_interface_grounding` debt, dissolving on
`v2.compiler.source_authority` `ModuleStorageIndex`; that is this class's
own next trigger, not effort withheld.
EVIDENCE. RED: `cargo build --release`, remote, main efc880a --
E0433/E0432 on `extdeps_languages_rust_capabilities`. Intermediate, with only
that fix: E0433/E0432 on `v1_compiler_artifact`, `v1_compiler_coercion`,
`v1_compiler_type_head_exposure`, as predicted. GREEN: `Finished release
profile in 6m 01s`, exit 0, one remote dispatch.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012WJNiTYqhzCcWJM6o5L5fQ
|
Closing: this PR is an artifact of my own tooling, not a change anyone authored. I created a local branch So its contents are #9243's commit verbatim ( The failing checks reported here are equally meaningless: they are CI running against a duplicate of another PR's head. Deleting the branch. Noting the cause so it does not recur: a remote build dispatch pushes the working branch, and any pushed branch gets an auto-PR — so throwaway measurement branches need a name the dashboard does not adopt, or no branch at all. |
Auto-opened by session-dashboard for session
smart-ram-730.Pushing to
measure/9243advances this PR.Worker attestation
Before flipping this PR to ready for review, confirm each item:
npm test,cargo test) and the result.Closes #Ndirective.Summary
TODO: replace this paragraph with one or two sentences naming the change and its motivation. Reviewers read this first.
Test plan