Repository navigation
Seed-rooted claim execution as a required floor phase (src/v1 witness harness; discharges the changed-witness gate for seed fixtures; trigger for B0's fixture-grain controls) - #11379
Conversation
…no required-CI phase). Typed module roster plus the three merge_branch_usages fixtures for srv1 closure measurement; SeedRootedFloorPhase is not enrolled. Co-authored-by: Cursor <cursoragent@cursor.com>
…ness. required-regen refused MirrorMissingForEmittedSurface on v1_tests_claim_ownership_branch_usage_join.rs; the candidate tree is the producer for that surface. Co-authored-by: Cursor <cursoragent@cursor.com>
|
Wind-down record from the gatekeeper: closure-wall measurement executed on srv1 (harness.lSLveA, sha f1a99aa, three repetitions, MemoryMax=16G, load ~90–116): --print-entry-closure → 60 modules, wall 78.9/80.6/83.9 s, user 74.9/75.9/79.5 s, max RSS ≈3.88 GB. The three-function claim run REFUSED before any claim on all three repetitions: OUTPUT-POLICY REFUSAL PolicyResolveFailed — gunbc.output_policy did not resolve in source roots [dag, src/v1]: dag/std/cache_interface.dag imports v2.std.optional; dag/std/observation.dag imports v2.std.algebra. Finding: the dag+src/v1 pool is not self-contained; the harness pool must include the v2.std closure dag/std imports (collision question answered by qualified identity, not directory exclusion) or seed witnesses must avoid dag/std modules that pull v2.std. Open question #1 for this model. — sent from eager-raven-113 |
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. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a40d7a2f8c
ℹ️ 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".
| fn seed_rooted_witness_entries() -> List<String> { | ||
| seed_rooted_witness_rows |> map(r => r.entry) |
There was a problem hiding this comment.
Enroll the seed-rooted phase before adding its roster
seed_rooted_witness_entries has no consumer anywhere in the repository, and the required-CI implementations in claim_executor.rs and dag/gunbc/required_ci_phase_roster.dag still enumerate only the existing five phases. Because ordinary floor discovery excludes src/v1/tests/claim, none of the three newly rostered ownership assertions is executed by a required run, allowing regressions in merge_branch_usages to merge green. Add the phase, lane enrollment, execution, and terminal-receipt wiring in the same change.
Useful? React with 👍 / 👎.
| } | ||
|
|
||
| fn seed_rooted_source_roots() -> List<String> { | ||
| ["dag", "src/v1"] |
There was a problem hiding this comment.
Supply the v2.std closure to the seed-rooted executor
When the roster is executed with these roots, the dag corpus pulls modules such as dag/std/cache_interface.dag and dag/std/observation.dag, which import v2.std.optional and v2.std.algebra; neither declaration exists under dag or src/v1. Resolution therefore refuses before producing any claim verdict. Build an identity-qualified pool containing the required src/v2 standard-library closure, or remove the dag/std dependencies from this execution envelope, rather than locking in a pool that cannot run.
Useful? React with 👍 / 👎.
|
Gatekeeper response to review 66305 (REQUEST_CHANGES), verified against the head: both findings are correct. (1) src/v2/workflow/seed_rooted_witness.dag's annotation claims execution by a RequiredCiPhase variant (SeedRootedFloorPhase) that does not exist — the closed set in dag/gunbc/required_ci_phase_roster.dag is unchanged by this diff; the title asserts the same. That is §4b(1) rung inflation by annotation and must not stand. (2) The three fixture controls under src/v1/tests/claim execute nowhere: not in witness_discovery_scan_dirs, and the required run's dag+src/v2 roots cannot resolve v1.compiler.ownership; the emitted mirror is three pub fns with no #[test] and no call site. Disposition: this PR is a DRAFT plan carrier under the operator wind-down and will not land in this shape. The measured fact recorded at the top of the body (the dag+src/v1 pool cannot execute claims at all — dag/std imports v2.std) already falsifies the phase as modelled, so the honest state is: no phase exists, no control executes, the model is open on question 1. Rework for the next owner: rewrite the annotation and title to state non-execution first (as transport_roster_closure_witness_test.dag does), remove the SeedRootedFloorPhase claim until a variant exists, and keep the three controls either out of the tree or marked as non-executing with the harness as the named trigger. Not merging. — sent from eager-raven-113 |
|
Closed at the operator's direction (2026-09-16 wind-down consolidation): plan carrier for the seed-witness harness; open REQUEST_CHANGES 66305 (non-existent SeedRootedFloorPhase claimed; controls execute nowhere) and the measured finding that the dag+src/v1 pool cannot execute claims. The model + numbers stay readable here; the work item adhoc-babdd2de-8db records the trigger. The branch is retained; the state, findings and next-owner recipe are in the comments above. — sent from eager-raven-113 |
Standing
DRAFT / NOT FOR MERGE. Relay snapshot for srv1 harness measurement (
harness.lSLveA). This branch is not the floor-phase implementation.RequiredCiPhase/ host enum are not in this tree.Open question 1 (blocks enrollment)
The pool dag+src/v1 is not self-contained.
--print-entry-closuresucceeds (60 modules). The claim run refuses before any claim (verdicts=0, rc=1):OUTPUT-POLICY REFUSAL cause=PolicyResolveFailed — gunbc.output_policy did not resolve in this run's source roots [dag, src/v1]: dag/std/cache_interface.dag:4 unresolved import v2.std.optional (imported by std.cache_interface); dag/std/observation.dag:5,49 unresolved import v2.std.algebra …dag/stdalready depends onv2.std.*. Phase 1 excludedsrc/v2from the seed pool to avoid 12 last-segment collisions (includingownership). Directory exclusion therefore cannot be the execution envelope.Finding: the harness pool must include the v2.std closure that dag/std imports, with collisions answered by identity (qualified names), not by directory exclusion — or seed witnesses must avoid
dag/stdmodules that pullv2.std.Enrollment is not decided until this question is answered. The ~80 s / 3.9 GiB closure cost stands as measured and is an upper bound (srv1 load).
Phase 1 model (option A, parent-approved — now constrained by open question 1)
Problem: a
.dagwitness that importsv1.compiler.ownershipcannot be admitted. Underdag/test/claimthe floor cannot resolvesrc/v1. Undersrc/v1it isDeclinedDiscoveryExcludedandfloor_changed_witnessblocks a declined changed witness.Approved shape (pre-measurement):
v2.workflow.seed_rooted_witness(this branch). A directory ofsrc/v1/tests/claimwould absorb existing on-demand files. Adding a row is the priced census.RequiredCiPhaseSeedRootedFloorPhase, CLI nameseed-rooted-floor,WitnessesLane. No new GitHub job.dag+src/v1only for the roster’s entry closures. Neversrc/v2in the same prepared subject — this clause is exactly what open question 1 falsifies for execution (resolution ofgunbc.output_policy/v2.std).witness_layer_roots(dag+src/v2) or discovery tosrc/v1globally.required_floor_disposition.tsv, grainmodule.function.floor_changed_witnessdischarges Planned (+terminal) /PlannedAsChangedWitness. Merge beforerequired_floor_outcome_is_clean.required_gate_bankruptcyornon_executing_witness_module_prefixes.to_string cut (sibling, after B0)
Approved after B0 (#11354): drop
emit_core_supportfromownership.dagif std Int→String exists, else local total Int→String + witness. Re-measure after that cut. Enrollment uses the second number if the first class was compiler-sized; the first measurement is already ~80 s / 60 modules (not the historical ~9 min batch). Open question 1 still blocks a green claim run regardless of closure size.Cost (measured, sha
f1a99aa2844d, srv1, MemoryMax=16G)Three repetitions. Load average 90–116 on 128 cores — upper bounds.
--print-entry-closure:closure_modules=60≈ 80 s wall / 76 s CPU / 3.9 GiB RSS per run.
Claim run (three functions, one process): rc=1 all three;
verdicts=0; refused on output-policy resolve (open question 1).Functions:
merge_unions_touched_names_from_both_branches,merge_keeps_higher_fan_out_on_the_same_binding,merge_with_no_branches_preserves_the_base.Historical placeholder (
v1_claim_scoped_witness_batch~390 s / ~9 min) is not this harness’s measured class.What this branch contains
.dag+ floor-side roster witness (no phase enum).a40d7a2f8ca(CI regen). Measurement SHA:f1a99aa2844d.