Skip to content

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

Merged
briansrls merged 6 commits into
mainfrom
session/stern-deer-237
Jul 5, 2026
Merged

briansrls merged 6 commits into
mainfrom
session/stern-deer-237

Conversation

@briansrls

@briansrls briansrls commented Jul 4, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Stale-carrier sweep: refreshed documentation receipts in the affected-set plan, fixed an unparseable fixture (.dag files don't support comments), and updated status tracking for closed work.

Detailed changes

  1. affected-set-precompute-pruning.md: Refreshed stale receipts reflecting PR Wire compile-time v2 node-level affected-set into live CI floor scheduler; retire the v1 Rust file-level force_run_all frontier hack #6061 merged (witness-level run/skip now live):

  2. Fixed unparseable fixture (provenance_fail_closed_contract_test.dag):

    • DAG grammar has NO comments (// and /* */ parse as errors)
    • Converted comment block explaining the fixture into a data-string note (precedent: affected_set_floor_runner.dag line 35)
    • Restructured to put data declaration after imports (proper DAG ordering)
    • Execution proof (DESIGN §5): gunbc compile --target dag --source-root dag --source-root src/v2 --output-dir /tmp/gunbc-compile-test
      • indexed 1732 modules, resolved 861 sources
      • provenance_fail_closed_contract_test.dag: PARSED OK (no comment-token errors)
      • Only 2 unrelated pre-existing errors in inert_lens_hygiene_witness_test.dag
  3. Updated ROADMAP.md and roadmap_authority.dag:

  4. Updated ci_floor_plan_witness_test.dag:

Test plan

Execution proof of fixture parse (DESIGN §5 — no specification-without-execution):

  • Ran gunbc compile over full source tree with fixed fixture
  • Result: fixture parses without DAG grammar errors
  • No comment-token '//' parsing errors reported
  • File structure verified: imports before data declarations

No new tests; all changes are documentation/fixture structural fixes.

Validation:

Brian Searls and others added 2 commits July 4, 2026 23:47
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
gunbai-bot Bot marked this pull request as ready for review July 4, 2026 23:49
@gunbai-bot

gunbai-bot Bot commented Jul 4, 2026

Copy link
Copy Markdown
Contributor

Differential control: pre-existing errors confirmed

Ran same compile command on origin/main to verify the 2 inert_lens_hygiene_witness_test.dag errors are pre-existing:

gunbc compile --target dag --source-root dag --source-root src/v2 --output-dir /tmp/gunbc-main-compile

Result on origin/main:

Result on HEAD (with fixture fix):
Same 2 errors, identical diagnostics.

✓ Conclusion: Errors are pre-existing on origin/main. The fixture fix's imports are identical to the original file (only the data declaration was repositioned after imports). No new imports were added; fixture is ready.

— sent from stern-deer-237

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.
@gunbai-bot

gunbai-bot Bot commented Jul 5, 2026

Copy link
Copy Markdown
Contributor

Fixed contradictions per REQUEST_CHANGES feedback (DESIGN §6).

The plan document was carrying two incompatible descriptions of the same fact:

  • Old: Step 4 description said function_edited was a gap to close
  • New: Receipt table (line 18) said consumer-1 GREEN with all three axes

Changes made:

  1. Line 54-58: Updated Impl-2 skip-decision description to reflect that all three axes are now live in the .dag authority (not a gap to fill)
  2. Line 15: Clarified Prep step now covers all three axes via PR Affected-set de-fork — prep: close function_edited axis in .dag disposition kernel + floor witness (witness (a)/migrate/delete deferred) #6065/affected-set: PARTIAL witness (a) foundation — edited_test_fns axis (#5994) #6072 + Union resolve S1: one shared index per process (prelude + discovery + shards) #6234
  3. Line 18: Receipt changed 'both axes' → 'all three axes' for clarity

The plan doc now correctly reflects: consumer-1 (witness selection) is GREEN with all three axes (, , ) modeled and wired live.

— sent from stern-deer-237

…xis (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.
@gunbai-bot

gunbai-bot Bot commented Jul 5, 2026

Copy link
Copy Markdown
Contributor

Completed full contradiction sweep per REQUEST_CHANGES feedback.

The plan document was carrying two incompatible descriptions throughout: 'two axes' in Step 3 acceptance and Consumer-2 sections vs 'three axes' in the updated Step 4/receipt sections.

Changes (commit 372f032):

  • Line 80: Intro prose — all three axes now covered as of Step 4
  • Line 95: Acceptance witness (a) — updated to all three axes (touches_frontier, function_edited, entry_file_touched)
  • Line 110: Consumer 2 gate description — all three conditions required (added touched_entry_files)
  • Line 150: Acceptance witness spec — full predicate over all three axes
  • Line 19: Receipt table — consumer 2 conditions now include all three

All sections now consistently reflect the three-axis skip decision modeled live in floor_witness_run_disposition. Plan doc is now single authority (DESIGN §6).

— sent from stern-deer-237

…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.
@gunbai-bot

gunbai-bot Bot commented Jul 5, 2026

Copy link
Copy Markdown
Contributor

Fixed all axis naming issues per REQUEST_CHANGES feedback.

The third axis was correctly named as 'entry_file_touched' in the code but I mistakenly referenced 'entry_touches_frontier_seeds' in several places. This was a §3 single-authority violation (misnamed the authoritative source).

Changes (commit e77904b):

  • Line 106: Axis (iii) source — corrected to 'diff_edits.touched_entry_files'
  • Line 95: Acceptance bar predicate — 'entry_file_touched' (was mistakenly 'entry_touches_frontier_seeds')
  • Line 150: Witness (a) spec — 'entry_file_touched' (was '...on non-data-fns')
  • Line 112: 'Conservative gate' prose — all three conditions (not just two)
  • Line 15: Prep receipt — clarified that the cited witness exercises two axes; Step 3 witness (a) provides full three-axes proof

All plan-doc predicates now correctly name the actual Rust sources in cli_run.rs.

— sent from stern-deer-237

…e 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.
@gunbai-bot

gunbai-bot Bot commented Jul 5, 2026

Copy link
Copy Markdown
Contributor

Fixed the final contradiction in acceptance witness (c).

Line 154 still had the two-axis test condition (empty frontier + empty edited_test_fns), but the actual gate and the wired runner require all three conditions including touched_entry_files.

Change (commit 5d38080):

  • Line 154: Witness (c) test condition now includes all three — empty node frontier AND empty edited_test_fns AND empty touched_entry_files

Plan doc is now single authority across all three acceptance witnesses (a, b, c). All contradictions resolved (DESIGN §6 — no parallel ledgers in same document).

— sent from stern-deer-237

@gunbai-bot

gunbai-bot Bot commented Jul 5, 2026

Copy link
Copy Markdown
Contributor

The '1 failing' check reported by the dashboard refers to pre-existing errors in inert_lens_hygiene_witness_test.dag (functions 'inert_lens_unreached_module_count' and 'inert_lens_top_level_module_count' not found in scope). These errors are NOT introduced by this PR:

  • Verification: git diff origin/main..HEAD shows this PR only touches: ROADMAP.md, roadmap_authority.dag, affected-set-precompute-pruning.md, ci_floor_plan_witness_test.dag, and provenance_fail_closed_contract_test.dag
  • Pre-existing confirmation: Same 2 errors present when compiling origin/main before this PR's changes
  • No scope expansion: This PR's changes are documentation + fixture syntax fix (comment→data carrier). No hand-Rust, no substrate model changes.

The ci job timeout is also a known infrastructure issue on this repo (previous runs 28724251797, 28724041994, 28723801831, 28723525004 all hit same 10-minute timeout). rust_tests completed successfully.

Merge status: 3 approvals (claude/opus-4-7 x2, cursor/composer-2.5), 0 REQUEST_CHANGES, mergeable=true, rust_tests green. Ready for operator merge.

— sent from stern-deer-237

@briansrls
briansrls merged commit 7d1f346 into main Jul 5, 2026
2 of 3 checks passed
@briansrls
briansrls deleted the session/stern-deer-237 branch July 5, 2026 01:11
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