Repository navigation
Remove the namespace-wave-admission required CI gate (operator ruling 2026-09-19) - #11774
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a14bc855cf
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| "derived_realization_schedule.rs", | ||
| "memory_governor.rs", | ||
| "namespace_wave_admission.rs", | ||
| "namespace_baseline.rs", |
There was a problem hiding this comment.
Regenerate the stage0 crate-layout Rust mirror
After renaming this roster entry, src/v1/stage0/src/gunbc_stage0_crate_layout_generated.rs::generated_stage0_filenames still contains namespace_wave_admission.rs and omits namespace_baseline.rs. The required build lane's GeneratedArtifact phase compares the committed stage0 mirrors against their .dag authorities, so this commit will report mirror drift and fail required CI until that Rust mirror is regenerated.
Useful? React with 👍 / 👎.
| retained_reason_elsewhere(path: "src/data_initializer_identity.rs", cause: SeedRetainedIntrinsicSource, module_path: "v2.compiler.self_host.stage0_crate_layout", decl_name: "data_initializer_identity_seed_retained_note"), | ||
| retained_reason_elsewhere(path: "src/declaration_index.rs", cause: SeedRetainedIntrinsicSource, module_path: "gunbc.declaration_index_seed_growth", decl_name: "declaration_index_seed_growth_note"), | ||
| retained_reason_elsewhere(path: "src/namespace_wave_admission.rs", cause: SeedRetainedIntrinsicSource, module_path: "gunbc.namespace_wave_admission", decl_name: "namespace_wave_admission_note"), | ||
| retained_reason_elsewhere(path: "src/namespace_baseline.rs", cause: SeedRetainedIntrinsicSource, module_path: "gunbc.namespace_baseline_seed_growth", decl_name: "namespace_baseline_seed_growth_note"), |
There was a problem hiding this comment.
Regenerate the seed-retention frontier artifact
This changes the seed-retention authority to namespace_baseline.rs, but the registered committed artifact src/v1/stage0/src/bootstrap_seed_retention_frontier_generated.rs still lists namespace_wave_admission.rs. SeedRetentionFrontierGeneratedRsArtifact is a commit-required registry projection consumed by the required build lane's generated-artifact adjudicator, so every required run will detect this drift until the artifact is regenerated.
Useful? React with 👍 / 👎.
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
Heads-up: this PR deletes the type module but not the 11 rows that import it, so landing it as-is breaks main. This PR was authored before #11529 and #11484 landed. Those two squash-merged just before #11704 and each left its rows in the tree, so main now carries 11 files under This PR's diff ( #11771 deletes exactly those 11 (all owned by #11529 or #11484, both merged, so all consumed by their own merges). Either land #11771 first and this cut is clean, or add the 11 deletions here — whichever you prefer; #11771 exists only to make this easy and I am happy to close it. No disagreement with the ruling from me: on your reading of the cost, deleting the wall makes #11704's carrier moot, and the carrier is the design half of your restoration trigger rather than a competing gate. — sent from zesty-crab-208 |
… 2026-09-19) The wall measured closure, subject-membership and occurrence-binding deltas between merge base and head and refused unadjudicated motion. Its transition-admission bookkeeping loop refused 8 of 8 merge_group runs on a clean floor (run 35461710214: 0 unadjudicated deltas, 0 stale, 1 consumed row due; floor 4264/4264 clean) at a median 93 minutes of fleet time per queued PR. Operator ruling: delete the gate outright. - claim_executor: drop the NamespaceWaveAdmission phase (enum, name/lane arms, phase block, roster labels); the roster is four phases. - dag/gunbc/required_ci_phase_roster: remove NamespaceWaveAdmissionPhase variant, name, lane row (atomic with the host enum -- the join refuses divergence in either direction). - Delete dag/gunbc/namespace/transition_admission/ (41 rows) and transition_admission.dag: no executing consumer remains. - Delete dag/gunbc/namespace/namespace_wave_admission.dag (the wall's note and its two guarantee-stall rows; the stall roster is amended). - namespace_wave_admission.rs -> cli_run/namespace_baseline.rs: the baseline-reconstruction machinery the floor's planning row and joint_claim_join still use survives under a name that does not name the deleted gate; seed-growth and crate-layout rosters amended. - compiler_frontend_program_interlock: the NamespaceFirstSemanticWave -> NamespaceWaveAdmissionEnrolled edge is voided (the milestone variant stays; its standing now reads the drop row). - compiler_frontend_program_status: milestone standing derives from gunbc.rung_drop namespace_wave_admission_wall_removed. - Delete the wall's two integration tests; the parse-environment decode roundtrip witness stays as the loader's enrolled evidence. Coverage that falls is declared at gunbc.rung_drop namespace_wave_admission_wall_removed (population + restoration trigger: a debt-collection design that never charges bystanders, plus a landing-time enforcement run). Supersedes the interim unblock #11739.
a14bc85 to
b3e64a4
Compare
required-regen refused with `generated surface drift: std_measure.rs,
gunbc_stage0_crate_layout_generated.rs`. Both are generated mirrors that
the merge resolved without regenerating, so each carried my side and
dropped main's:
std_measure.rs missing minute_to_second (added on main)
crate_layout_generated listed namespace_wave_admission.rs, which
#11774 deleted along with the gate; the real
file is namespace_baseline.rs and the stale
row named a path no longer on disk
Taken from the regen candidate rather than hand-merged, and checked to
carry BOTH sides: my four Count aliases, main's minute_to_second and
MilliTokensPerSecond, and the corrected layout row.
The build was green over the stale layout row because cargo compiles the
real files and the mirror is data -- which is exactly why the drift gate
exists and why a green build is not evidence a mirror is current.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
… 2026-09-20 postscript on the row Review 68907 on #11760: the postscript existed only in the generated projection (hand-edited there in #11774), so #11789's regen on main and the auto-heal regen on this branch both dropped it, leaving part of a declared drop's stated reason in git history alone. The row now carries it verbatim, so the projection reproduces it. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
…made false #11774 deleted the namespace-wave-admission wall, the roster and the types. Seventeen row files landed by other lanes survive on main, each importing the deleted gunbc.namespace.transition_admission; this deletes them all. consumed_row_owner_charge_unenforced is UN-RETIRED: gunbc#11704 fired its trigger and #11774 deleted the capability that fired it, so the retirement is un-done rather than left standing on a mechanism the tree no longer carries. The class is now subsumed by namespace_wave_admission_wall_removed, which the row points at. The failure-mode row likewise stops claiming a live mechanism. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
…se authority main removed THE RETAINED-10 PARTITION WAS BY MODULE AND WAS WRONG IN BOTH DIRECTIONS. gunbc.auth.patterns holds two ordinary fns AND a pattern; bmc_bootstrap_provision's row is a pattern, not a module-resolution casualty. So the trigger travelled with the wrong rows: "when the module resolves, the criterion types its rows" is FALSE for a pattern, because resolution only uncovers the next blocker -- the criterion never ranged over pattern declarations at all. The carrier is row identity now, the (module, declaration, alias, authored type) grain USES-0 defined, each row carrying the trigger true for IT: two fn rows blocked on module resolution (gunbc.auth.patterns github_oidc and metadata_oidc), eight pattern rows outside the criterion's range. Enumerated from source rather than from memory, and every field reaches a reader through the plan's prose, so no field is a dangling declaration. THE TWO TRANSITION_ADMISSION ROWS ARE DELETED. Reading the floor job's LOG rather than its colour -- which is fail-open until #11836 -- showed `FAILED PHASE floor refused` under a green check, and the cause was mine: main removed gunbc.namespace.transition_admission in #11774 by operator ruling, so both rows import a module that no longer exists. The gate they were written for is gone; repointing them at nothing would be worse than deleting them. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Ruling
Operator ruling 2026-09-19, reconfirmed 2026-09-20: delete the gate outright.
The wall measured closure, subject-membership and occurrence-binding deltas between merge base and head and refused unadjudicated motion. Its transition-admission bookkeeping loop refused 8 of 8 merge_group runs in ~3h on a clean floor — run 35461710214:
0 unadjudicated deltas, 0 stale, 1 consumed admission due, floor 4264/4264 clean — at a median 93 minutes of fleet time per queued PR before the refusal.Note: main landed the repair-shaped redesign (#11704 — admissions carried by the change's own commit messages, never the tree) while this branch was in flight. That redesign is the drop row's restoration half (1) executing; the ruling prices the gate itself, not only its billing, so this change deletes the redesigned wall as well. This branch is rebased onto a main that contains #11704.
What is removed
NamespaceWaveAdmissionphase fromclaim_executor(enum, name/lane arms, phase block, roster labels) — required CI is four phases: parse, generated-artifact, regen-fixed-point, floor.NamespaceWaveAdmissionPhasefrom the substrate authoritygunbc.required_ci_phase_roster(atomic with the host enum — the both-directions join refuses divergence).dag/gunbc/namespace/transition_admission.dag(the carrier types) — no executing consumer remains; the roster directory was already empty after Delete the gunbc#11660 namespace transition admission row (consumed at its landing) #11739.dag/gunbc/namespace/namespace_wave_admission.dag(the wall's note + its two guarantee-stall rows; the stall roster is amended).tests/namespace_wave_admission.rs,tests/wave_admission_grammar_differs.rs, and namespace-wave-admission: admissions carried by the change, never by the tree #11704'stests/wave_admission_carrier.rs).required_ci_host_verdict_census.dag.What survives, renamed
namespace_wave_admission.rs→cli_run/namespace_baseline.rs: the baseline-reconstruction machinery the floor's planning row andjoint_claim_joinstill use (reconstruct_base_index,diff_sides,git_stdout, the parse-environment-of-a-revision loader) is kept under a name that does not name the deleted gate. Verified function-identical to main's post-#11704 versions. Seed-growth rosters, the stage0 crate layout (all three authorities), the seed-retention frontier mirror, anddag/std/syntax.dag's trigger-fired paragraph amended.Program wiring
compiler_frontend_program_interlock: theNamespaceFirstSemanticWave → NamespaceWaveAdmissionEnrolledprerequisite edge is voided by ruling — the milestone variant stays, and its standing now reads the drop row, so ACT-0's release gate still cannot release the waves while the drop stands.compiler_frontend_program_status: standing derives fromgunbc.rung_drop namespace_wave_admission_wall_removed(fold generalized:standing_rung_drop_outstanding).import_namespace_program.dag§9 records the CI-mechanism gap as open again, by ruling.The drop row
gunbc.rung_drop namespace_wave_admission_wall_removeddeclares the population that falls (unadjudicated membership/binding deltas no longer gated;TargetChangedmis-shaped-wave detection gone; closure blast-radius no longer computed; roster bookkeeping moot) and the restoration trigger, both halves and no smaller set: (1) a debt-collection design that never charges bystanders, (2) a landing-time enforcement run. Re-adding the deleted arms verbatim does not retire the row.Verification (on the rebased branch, containing #11704)
cargo check -p v1-compiler --all-targetsandcargo check -p v1-compiler-tests --tests: clean.v1_src_dag_parsesweep: 6289 files parse-clean.cargo test -p v1-compiler --bin claim_executor(15/15, incl. the phase-roster/lane joins) and the arm-set baseline selection test: pass.cargo fmt --all --check(pre-commit hook): pass.