Skip to content

affected-set: PARTIAL witness (a) foundation — edited_test_fns axis (#5994) - #6072

Merged
briansrls merged 15 commits into
mainfrom
session/vivid-owl-377-witness-a
Jul 1, 2026
Merged

briansrls merged 15 commits into
mainfrom
session/vivid-owl-377-witness-a

Conversation

@briansrls

@briansrls briansrls commented Jul 1, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Consolidated PR — supersedes closed #6065. Carries both disposition-kernel prep (both skip axes on floor_witness_run_disposition) and PARTIAL witness (a) foundation (#5994). Freshly merged with origin/main. Impl-2 intact — no live dispatch migration, no NodeFrontierSeeds / entry_touches_frontier_seeds deletion.

Green (proved by execution)

  • Disposition prep: function_edited axis on floor_witness_run_disposition / floor_kernel_would_skip; affected_set_disposition_both_axes_test.dag; floor_disposition_kernel_alignment (disposition tautology on shared Rust inputs — NOT witness (a)).
  • edited_test_fns axis — impl-vs-impl: deterministic fixture unified diffs → Rust edited_test_fns vs independent .dag floor_test_fn_declaration_edited (decl span through next_decl-1, body-touch witness included).
  • Mandatory RED control: witness_a_red_control_under_selection_fails_superset.
  • Claim witness: affected_set_witness_a_prove_test.dag.
  • Planning receipt: docs/plans/affected-set-precompute-pruning.md (ROADMAP 1-affected-set-defork).

Explicitly blocked (NOT in this PR)

  • Node-frontier axis: blocked on resolve grounding (wiring_liveness_whole_tree / v2.lens.resolved_imports).
  • Migrate + Impl-2 DELETE: deferred pending loyal-bee root call.

Why this PR touches ci_floor_plan.dag (spawn-width witness)

Not scope-creep — this branch's CI run exposed execution_corpus_spawn_width() < conservative_fallback_width on the runner, so main's witness_floor_spawn_width_zero_budget_falls_back (width == fallback) was coincidentally passing (only true when exec_cap >= fallback). The realizer's zero-budget branch is int_min(fallback, execution_corpus_spawn_width()); b8fb8ae68 grounds the witness on that formula (net fix on merge, not affected-set logic).

Merge note

Consolidated lane after #6065 close; main merged via merge commits (not rebase).

Test plan

  • floor_witness_a_prove + ci_floor_spawn_width_live_budget_witnesses — green locally
  • cargo fmt --all --check — clean
  • CI floor on final HEAD (holding — no further pushes unless CI fails)

@gunbai-bot gunbai-bot Bot changed the title CONTINUE + COMPLETE affected-set CI de-fork (signed design #5994) — prior worker cool-fox-169 archived mid-PROVE; its 9 commits are on pushed branch session/cool-fox-169 (PR #6065, commit 1693478); NO Impl-2 deletion happened (safety intact). Resume from that branch. GAP TO CLOSE: the added cli_run. affected-set: PARTIAL witness (a) foundation — edited_test_fns axis (#5994) Jul 1, 2026
@gunbai-bot
gunbai-bot Bot marked this pull request as ready for review July 1, 2026 04:01
briansrls pushed a commit that referenced this pull request Jul 1, 2026
Picks up #6070 spawn-width fallback fix and other main advances so
#6072 CI is no longer stale-base RED. Consolidates prep + partial
witness (a) after #6065 close.
gunbai-bot Bot pushed a commit that referenced this pull request Jul 1, 2026
Post-merge regressions from List→Cons carrier and path-format mismatch:
- dag_function_edited_for_row uses repo-relative path from diff touches
  (matches floor_test_fn_declaration_edited path equality)
- frontier_list_len reads Cons lists under active InterpContext

Co-authored-by: Cursor <cursoragent@cursor.com>
gunbai-bot Bot pushed a commit that referenced this pull request Jul 1, 2026
Add test_fn_decl_end_line so .dag overlap uses decl..next_decl-1 like
collect_frontier_seeds_from_diff_line_ranges. Body-only diff witness
(line 78) proves impl-vs-impl on span, not declaration line only.

Addresses cursor REQUEST_CHANGES on a86fddf (review 34121).

Co-authored-by: Cursor <cursoragent@cursor.com>
@gunbai-bot

gunbai-bot Bot commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

Review 34121 (decl span) — addressed in a93eb2d87

Verified and fixed:

  • floor_test_fn_declaration_edited now takes test_fn_decl_end_line and passes it to floor_diff_line_touches_decl (.dag + all call sites).
  • Rust harness computes the same span as collect_frontier_seeds_from_diff_line_ranges via shared decl_span_end_line / collect_sorted_decl_lines_for_file.
  • Added body-only diff witness: witness_a_function_edited_axis_body_touch_fixture_impl_vs_impl (touch line 78 within decl span 74–84) plus .dag claim witness_a_dag_function_edited_body_touch_holds.

All 5 floor_witness_a_prove tests green locally on this HEAD.

— sent from vivid-owl-377

gunbai-bot Bot pushed a commit that referenced this pull request Jul 1, 2026
witness_floor_spawn_width_zero_budget_falls_back asserted width == 4
while gunbc_ci_floor_spawn_width_for_budget returns
min(conservative_fallback_width, execution_corpus_spawn_width()) — already
3 at the 8GiB runner cap. Align witness with implementation (same shape as
witness_floor_unreadable_budget_uses_conservative_envelope).

Fixes CI failure: ci_floor_spawn_width_live_budget_witnesses on #6072.

Co-authored-by: Cursor <cursoragent@cursor.com>
gunbai-bot Bot pushed a commit that referenced this pull request Jul 1, 2026
…6072)

After #6078 merge-check, unwired_model_no_unrostered_or_stale failed on
floor_test_fn_declaration_edited and floor_rust_run_implies_dag_run —
self-tested .dag helpers with no production consumer outside tests.

Co-authored-by: Cursor <cursoragent@cursor.com>
@gunbai-bot
gunbai-bot Bot force-pushed the session/vivid-owl-377-witness-a branch from a5d8db4 to 31ed4e0 Compare July 1, 2026 07:23
gunbai-bot Bot pushed a commit that referenced this pull request Jul 1, 2026
Post-merge regressions from List→Cons carrier and path-format mismatch:
- dag_function_edited_for_row uses repo-relative path from diff touches
  (matches floor_test_fn_declaration_edited path equality)
- frontier_list_len reads Cons lists under active InterpContext

Co-authored-by: Cursor <cursoragent@cursor.com>
gunbai-bot Bot pushed a commit that referenced this pull request Jul 1, 2026
Add test_fn_decl_end_line so .dag overlap uses decl..next_decl-1 like
collect_frontier_seeds_from_diff_line_ranges. Body-only diff witness
(line 78) proves impl-vs-impl on span, not declaration line only.

Addresses cursor REQUEST_CHANGES on a86fddf (review 34121).

Co-authored-by: Cursor <cursoragent@cursor.com>
gunbai-bot Bot pushed a commit that referenced this pull request Jul 1, 2026
witness_floor_spawn_width_zero_budget_falls_back asserted width == 4
while gunbc_ci_floor_spawn_width_for_budget returns
min(conservative_fallback_width, execution_corpus_spawn_width()) — already
3 at the 8GiB runner cap. Align witness with implementation (same shape as
witness_floor_unreadable_budget_uses_conservative_envelope).

Fixes CI failure: ci_floor_spawn_width_live_budget_witnesses on #6072.

Co-authored-by: Cursor <cursoragent@cursor.com>
briansrls and others added 15 commits July 1, 2026 12:44
…ate.

Documents that impl-vs-impl equivalence on a real diff remains open per #5994.

Co-authored-by: Cursor <cursoragent@cursor.com>
bootstrap::stage0_cargo_check and v1_compiler_lib_tests_compile_green
now use the same CARGO_BUILD_JOBS=1 / no-sccache retry ladder as ci.yml
when stderr shows temp-dir or sccache spawn errors under parallel nextest.

Co-authored-by: Cursor <cursoragent@cursor.com>
Rename tests/modules to stop claiming full-predicate equivalence; the
Rust harness is disposition-kernel alignment on shared Rust inputs only.
Witness (a) impl-vs-impl remains follow-on per #5994.

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Release build verified green locally; CI failed with sccache compile
exit status 2 under fleet pressure, not a code regression.

Co-authored-by: Cursor <cursoragent@cursor.com>
Post-merge regressions from List→Cons carrier and path-format mismatch:
- dag_function_edited_for_row uses repo-relative path from diff touches
  (matches floor_test_fn_declaration_edited path equality)
- frontier_list_len reads Cons lists under active InterpContext

Co-authored-by: Cursor <cursoragent@cursor.com>
Add test_fn_decl_end_line so .dag overlap uses decl..next_decl-1 like
collect_frontier_seeds_from_diff_line_ranges. Body-only diff witness
(line 78) proves impl-vs-impl on span, not declaration line only.

Addresses cursor REQUEST_CHANGES on a86fddf (review 34121).

Co-authored-by: Cursor <cursoragent@cursor.com>
@gunbai-bot
gunbai-bot Bot force-pushed the session/vivid-owl-377-witness-a branch from cc57034 to 9af2e75 Compare July 1, 2026 12:46
@briansrls
briansrls merged commit 1911eca into main Jul 1, 2026
3 checks passed
@briansrls
briansrls deleted the session/vivid-owl-377-witness-a branch July 1, 2026 13:26
briansrls added a commit that referenced this pull request Jul 1, 2026
…uler.

Integrate with main #6072 witness-(a) foundation: keep floor_test_fn_declaration_edited,
floor_rust_run_implies_dag_run, NodeFrontierSeeds prove harness, and disposition-kernel
alignment while landing live skip via floor_kernel_would_skip / precompute with
entry_file_touched import-closure axis (fail-closed for cross-file helper-fn edits).

Co-authored-by: Cursor <cursoragent@cursor.com>
briansrls added a commit that referenced this pull request Jul 1, 2026
…uler; retire the v1 Rust file-level force_run_all frontier hack (#6061)

* Wire compile-time v2 node-level affected-set into live CI floor scheduler.

Integrate with main #6072 witness-(a) foundation: keep floor_test_fn_declaration_edited,
floor_rust_run_implies_dag_run, NodeFrontierSeeds prove harness, and disposition-kernel
alignment while landing live skip via floor_kernel_would_skip / precompute with
entry_file_touched import-closure axis (fail-closed for cross-file helper-fn edits).

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(test): point func_env semantic oracle at reachable baseline commit.

5722326 is docs-only atop db559b4 (identical dsl/src/v1 tree) but is
not reachable from any ref in a fresh clone — git archive failed in rust_tests.
Use db559b4 (on main) and resolve git toplevel for worktree checkouts.

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix: cargo fmt on cli_run.rs (extra blank line after entry_touches_frontier_seeds).

Co-authored-by: Cursor <cursoragent@cursor.com>

---------

Co-authored-by: Brian Searls <briansrls@gunb.ai>
Co-authored-by: Cursor <cursoragent@cursor.com>
gunbai-bot Bot pushed a commit that referenced this pull request Jul 4, 2026
Refresh stale receipts in docs/plans/affected-set-precompute-pruning.md:
- Header: PR #6061 (2026-07-01) landed Step 4 consumer-1; update status
- Receipt table: add rows for Step 4 consumer-1 GREEN and consumer-2 IN PROGRESS
- Line 103: Fix stale claim — function_edited is LIVE (not ABSENT) with three axes
  (touches_frontier, function_edited, entry_file_touched; landed PR #6065/#6072)

Update ROADMAP.md and dag/gunbc/roadmap_authority.dag:
- PR #6105 closed 2026-07-02 as measured work-neutral
- Successor lane: resolver S2a + skip-before-resolve remaining fix

Fix unparseable fixture (src/v2/test/fixture/floor_skip/provenance_fail_closed_contract_test.dag):
- .dag grammar has NO comments (// and /* */ are unparseable)
- Convert comment block (lines 3-7) to data-string note
- Restructure: move data declaration after all imports

Refresh ci_floor_plan_witness_test.dag line 36:
- Update synthetic_optin_rows_note: one row enrolled since PR #6235
- Previous note said roster was empty under opt-in inversion; now reflects live state

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
gunbai-bot Bot pushed a commit that referenced this pull request Jul 5, 2026
Update affected-set-precompute-pruning.md for consistency:
- Line 54-58: Update description of skip decision to reflect all three axes now live (not a gap to fill)
- Line 15: Prep step now covers all axes (PR #6065/#6072 + #6234)
- Line 18: Consumer-1 receipt clarified — all three axes live, not contradictory 'both'

Resolves REQUEST_CHANGES from cursor/composer-2.5: plan doc must not carry contradictory facts about the same decision (§6 single authority). Step 4 consumer-1 is GREEN with all three axes modeled and wired.
briansrls added a commit that referenced this pull request Jul 5, 2026
)

* WIP: Stale-carrier sweep: affected-set plan docs + unparseable fixture

* Stale-carrier sweep: affected-set plan docs + unparseable fixture

Refresh stale receipts in docs/plans/affected-set-precompute-pruning.md:
- Header: PR #6061 (2026-07-01) landed Step 4 consumer-1; update status
- Receipt table: add rows for Step 4 consumer-1 GREEN and consumer-2 IN PROGRESS
- Line 103: Fix stale claim — function_edited is LIVE (not ABSENT) with three axes
  (touches_frontier, function_edited, entry_file_touched; landed PR #6065/#6072)

Update ROADMAP.md and dag/gunbc/roadmap_authority.dag:
- PR #6105 closed 2026-07-02 as measured work-neutral
- Successor lane: resolver S2a + skip-before-resolve remaining fix

Fix unparseable fixture (src/v2/test/fixture/floor_skip/provenance_fail_closed_contract_test.dag):
- .dag grammar has NO comments (// and /* */ are unparseable)
- Convert comment block (lines 3-7) to data-string note
- Restructure: move data declaration after all imports

Refresh ci_floor_plan_witness_test.dag line 36:
- Update synthetic_optin_rows_note: one row enrolled since PR #6235
- Previous note said roster was empty under opt-in inversion; now reflects live state

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>

* Fix contradictions in plan doc per review feedback (DESIGN §6)

Update affected-set-precompute-pruning.md for consistency:
- Line 54-58: Update description of skip decision to reflect all three axes now live (not a gap to fill)
- Line 15: Prep step now covers all axes (PR #6065/#6072 + #6234)
- Line 18: Consumer-1 receipt clarified — all three axes live, not contradictory 'both'

Resolves REQUEST_CHANGES from cursor/composer-2.5: plan doc must not carry contradictory facts about the same decision (§6 single authority). Step 4 consumer-1 is GREEN with all three axes modeled and wired.

* Complete contradiction sweep: update all two-axis language to three-axis (DESIGN §6)

Fix remaining §6 violations where plan doc carried both 'two axes' and 'three axes' descriptions:
- Line 80: Refresh intro prose — all three axes now covered as of Step 4
- Line 95: Acceptance witness (a) — all three axes, not just 'node-frontier + function-edited'
- Line 110: Consumer 2 gate — all three conditions required (including touched_entry_files)
- Line 150: Acceptance witness (a) spec — full predicate over all three axes
- Line 19: Receipt table — consumer 2 gate conditions now include all three

All sections now consistently describe the three-axis skip decision: touches_frontier OR function_edited OR entry_file_touched. Plan doc is single authority.

* Fix axis naming: third axis is entry_file_touched, not entry_touches_frontier_seeds (DESIGN §3)

Corrected predicate names and descriptions per cursor REQUEST_CHANGES:
- Line 106: Axis (iii) source is diff_edits.touched_entry_files (not frontier-seeds)
- Line 95: Acceptance bar predicate — entry_file_touched (not frontier-seeds proxy)
- Line 150: Witness (a) spec — entry_file_touched (not frontier-seeds on non-data-fns)
- Line 112: 'Conservative gate' paragraph — all three conditions (not just two)
- Line 15: Prep receipt — note that cited witness exercises two axes; full three-axes proof is Step 3 witness (a)

Fixes DESIGN §3 single-authority violation where plan doc used wrong name for third axis.

* Fix final contradiction: witness (c) acceptance bar requires all three conditions (DESIGN §6)

Line 154 acceptance witness (c) was still defining the scoped-diff condition with only two axes (empty frontier AND empty edited_test_fns), contradicting the three-axis gate in floor_precompute_would_skip (src/v2/workflow/affected_set_floor_runner.dag:177-194) and cli_run.rs:4926-4931 which includes touched_entry_files.

Updated witness (c) test condition to: empty node frontier AND empty edited_test_fns AND empty touched_entry_files.

Single authority now: plan doc matches floor-runner implementation.

---------

Co-authored-by: Brian Searls <briansearls1@gmail.com>
Co-authored-by: Claude Haiku 4.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant