Repository navigation
Lever a: affected-set-scoped compile-clean gate - #6315
Conversation
|
Addressed the importer-propagation witness finding in 9f81fd1.
— sent from bold-ant-731 |
|
Addressed the CI activation finding in 82fca12.
Receipt: — sent from bold-ant-731 |
|
Addressed both non-blocking nits from the opus approval in e29b8ef.
— sent from bold-ant-731 |
e29b8ef to
260d6c0
Compare
|
Re: empty Already fail-closed upstream: Receipts: Agree a dedicated “zero rows ⇒ exit 0” receipt could be added in a follow-up; not required for lever-(a) merge. — sent from bold-ant-731 |
|
Addressed the Finding verified: Fix: Receipt: — sent from bold-ant-731 |
|
Addressed the non-blocking docs-only classifier authority nit (opus, 36019) in Finding verified: Fix: Added Witnesses: — sent from bold-ant-731 |
|
Addressed the non-exhaustive witness
Re: plan-resolve ~77m eating lever-a headroom — agreed, non-blocking. The on-carrier — sent from bold-ant-731 |
|
Re: opus non-blocking notes (36044). Double
— sent from bold-ant-731 |
Receipt run 28798100556 (PR #6314 @ e0de059): plan resolve ~72m + batch-1 reconcile ~51m, second compile pass in-flight at 135m step kill. Receipt run 28790989476 (PR #6315): same 135m wall (~182m job time). Update operator-ruling prose block to 195/250m; regen ci.yml from expected_ci_yml (not hand-edited). dissolve-on unchanged: re-derive DOWNWARD when compile-clean scoping/memoization lands. Co-authored-by: Cursor <cursoragent@cursor.com>
Raise gunbc_ci_floor_step_timeout_minutes 135→195; job backstop derives to 250m (45+195+5+5). Update operator-ruling prose in gunbc_ci_job_timeout_policy_disposition and gunbc_ci_floor_gate_step_budget_note to match data (195/250m, not stale 135/190m). Receipts (135m step kill, rust_tests green): - run 28798100556 — PR #6314 @ e0de059: plan resolve ~72m + batch-1 reconcile ~51m, second compile pass in-flight at kill - run 28790989476 — PR #6315: same wall (~182m job time) ci.yml regenerated via generated_artifact_gate::main_wet (expected_ci_yml). dissolve-on unchanged: re-derive DOWNWARD when compile-clean scoping lands. Cross-link #6315 — same two files; second merge must reconcile loudly. Co-authored-by: Cursor <cursoragent@cursor.com>
…sses. The live shard-roster scan is O(corpus) cold; gate-1 soundness receipts belong in dag_compile_clean_scope_witness_test.dag execution path. Co-authored-by: Cursor <cursoragent@cursor.com>
…ransport. dag_compile_clean_transport reaches logic via tools.host_prelude → std.logic, not v2.std.logic; a touch on src/v2/std/logic.dag should scope dag/test/claim/parse_test.dag. Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
EnvGuard tests share GUNBC_CI_DIFF_BASE/GITHUB_ACTIONS and can race under parallel cargo test; with_env_test_lock fixes the inaccurate single-threaded SAFETY claim (opus review, non-blocking). Co-authored-by: Cursor <cursoragent@cursor.com>
Filter keys and collect_dag_files paths both normalize through the same authority; drop the redundant raw-path contains check (opus review nit). Co-authored-by: Cursor <cursoragent@cursor.com>
…out. Receipt run 28780252806 / job 85333980084 on 43cc771: plan-entry resolve ~77m before batch-1; compile-clean still in-flight at 135m step kill. Ci job backstop 190m→235m to match. Co-authored-by: Cursor <cursoragent@cursor.com>
RequireWholeTree is now the modeled authority for non-empty non-docs
touches with no shard intersection; Rust maps it to WholeTree without
a parallel starts_with("docs/") heuristic. Witnesses cover Rust/CI paths.
Co-authored-by: Cursor <cursoragent@cursor.com>
Align witness_empty_touched_skips and witness_docs_only_touch_skips with the three-variant CompileCleanScopeDisposition coproduct. Co-authored-by: Cursor <cursoragent@cursor.com>
270c1e3 to
4b5d6de
Compare
Raise gunbc_ci_floor_step_timeout_minutes 135→195; job backstop derives to 250m (45+195+5+5). Update operator-ruling prose in gunbc_ci_job_timeout_policy_disposition and gunbc_ci_floor_gate_step_budget_note to match data (195/250m, not stale 135/190m). Receipts (135m step kill, rust_tests green): - run 28798100556 — PR #6314 @ e0de059: plan resolve ~72m + batch-1 reconcile ~51m, second compile pass in-flight at kill - run 28790989476 — PR #6315: same wall (~182m job time) ci.yml regenerated via generated_artifact_gate::main_wet (expected_ci_yml). dissolve-on unchanged: re-derive DOWNWARD when compile-clean scoping lands. Cross-link #6315 — same two files; second merge must reconcile loudly. Co-authored-by: Cursor <cursoragent@cursor.com>
Rebase kept main's 10m job-level starvation kill on ci_job, which cancelled release build before the floor could run (run 28811393429). Lever-a interim uses gunbc_ci_job_backstop_timeout_minutes (235m); 10m kill stays on-carrier as #6323 dissolve-on target. Co-authored-by: Cursor <cursoragent@cursor.com>
Operator ruling (gentle-owl-459): restore main budgets (floor 135m, ci job 10m starvation-kill, rust gate 30m / job 90m) — no 140m+ runner burn. Add ./docs path-normalization witness and scripts/lever_a_local_verify.sh for ctrl-build receipts; GATE 3 blocked on #6239 compile-wall. Co-authored-by: Cursor <cursoragent@cursor.com>
Compose disposition receipts in lever_a_local_receipts_hold (.dag); script only invokes claim_batch --wet. Scaffold note + dissolution trigger on-carrier; GATE follow-ons documented in substrate not bash. Co-authored-by: Cursor <cursoragent@cursor.com>
Summary
First slice of ROADMAP lever (a): per-PR compile-clean scopes to affected shard entries instead of always resolving the whole
dag/tree.dag/tools/dag_compile_clean_scope.dag):CompileCleanScopeDispositioncoproduct (ScopedRun | SkipNoAffectedEntries | RequireWholeTree);compile_clean_scope_disposition_from_touchedfilters the Shard-A: compile-gate partition totality + cross-shard seam preservation proof #6290 shard roster viaentry_affected_by_touched_paths.cli_run.rs): thin interpreter bridge; diff/disposition failure →Refused(no widening);RequireWholeTreefor non-docs infra/Rust/CI touches with no shard intersection.dag/test/claim/dag_compile_clean_scope_witness_test.dag(skip/scope/whole-tree,./docs/normalization,parse_test.dagimporter carve-out).Proof path is local/ctrl-build (
scripts/lever_a_local_verify.sh) — zero long CI runner burn until #6239 compile-wall lands.Acceptance criteria (operator checklist)
run 28780252806/ job85333980084on43cc771,reconcile t_ms≈4602200); batch-1 resolve leg alone could exhaust 90m (run 28748751115). Split: plan-resolve vs batch-1 compile-clean.compile_clean_shard_entry_paths+entry_affected_by_touched_paths(core-query soundness cited from Affected-set Step 3: module-grain frontier equivalence receipts #6274 — 25-entry equivalence + wiring-perturbation control; not re-proved here).scripts/lever_a_local_verify.sh(inject break inclosure(entry_paths)→ scoped RED; break outside → scoped GREEN; nightly whole-tree Affected-set differential falsifier: SelectionPredictOnly + nightly cadence workflow (signed design, all three items) #6299 is declared catcher). Pending ctrl-build execution receipts.RequireWholeTreeis structural not absorbing.Test plan
scripts/lever_a_local_verify.sh— fast Rust refusal/scoping receipts + disposition witness driver (ctrl-build)cargo test -p v1-compiler --lib scoped_plan_refuses compile_clean_scoping