Repository navigation
Provenance ingest at CI floor runtime: make v2.lens.affected_set node-closure LIVE during the floor pass (host_source_root_ingest_manifest currently Empty) so node-level pruning replaces the Rust diff->declaration / node-touch bridge — the blocker for Step 5 full-deletion in docs/plans/affected-set- - #6105
gunbai-bot[bot] wants to merge 34 commits into
Conversation
Populate an ephemeral host_source_root_ingest_manifest during floor skip so v2.lens.affected_set node-closure can drive witness pruning, falling back to the Rust seed bridge when ingest is not live. Co-authored-by: Cursor <cursoragent@cursor.com>
Mark the floor provenance-ingest overlay block with a named dissolution trigger tied to affected-set-precompute-pruning Step 5, and drop the parallel manifest substring grep in favor of floor_provenance_ingest_is_live. Co-authored-by: Cursor <cursoragent@cursor.com>
Resolve InferredTree.root from the live ingest provenance row for the entry file (not edit_loci.first), and stop shadowing Ok(false) with the seed bridge when the .dag closure path is live. Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Propagate provenance entry-root and frontier failures as Err (triggering seed-bridge fallback) instead of continuing with a partial edit-loci frontier; also fall back on Ok(false) when provenance is live. Co-authored-by: Cursor <cursoragent@cursor.com>
When provenance_live, .dag closure Err now forces entry witnesses to run (matching touch-check and git-diff fail-closed siblings) instead of falling back to the narrower seed bridge. Co-authored-by: Cursor <cursoragent@cursor.com>
…nce overlay. Disable runtime provenance overlay in host skip tests via GUNBC_FLOOR_PROVENANCE_OVERLAY=0, use seed-derived edit loci (not expanded .dag closure) for skip disposition until Step 3 equivalence, and drop redundant per-shard floor_provenance_ingest_is_live re-invocation. Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
OUTSIDE_FILE pointed at deleted src/v2/lens/unwired_model.dag (#6085); retarget to inert_carrier.dag:10 outside the floor_skip fixture import closure. Co-authored-by: Cursor <cursoragent@cursor.com>
Remove dead entry_touches_frontier_via_dag_closure (referenced deleted entry_claims_touch_frontier) and clone changed_paths into skip_ctx so parallel shard path can still borrow it. Co-authored-by: Cursor <cursoragent@cursor.com>
Remove duplicate node_frontier_plumbing_controls (kept #6061 FloorDiffEdits variant), retarget OUTSIDE_FILE to inert_carrier.dag:10, and use skip_ctx.changed_paths for single-threaded and shard skip paths. Co-authored-by: Cursor <cursoragent@cursor.com>
Resolve witness entry roots from overlay ingest with host-read fallback that strips test-fn declarations program_assembly cannot parse yet; scope provenance folding to changed paths only; and give pa_ingest_peer an orphan TestClaim so skip disposition evaluates claims instead of fail-closed run-all when saw_claim is false. Co-authored-by: Cursor <cursoragent@cursor.com>
Addresses non-blocking APPROVE notes: use std any predicate instead of hand-rolled fold_list contains, and single if-let on ingest-path witness. Co-authored-by: Cursor <cursoragent@cursor.com>
HARD GATE — affected-set pruning must produce a resolve+typecheck-COUNT receipt (operator standing rule, 2026-07-02)A floor-repair scout measured this PR's overlay path by execution (temporary
Present-arm pruning is strictly WORSE on the resolve/typecheck budget — it saves only the witness EVAL (−1), while resolve invocations go 1→6 and typecheck 27→28. This is the #6127 width-1 shard trap in miniature: wall/skip-count look like a win, total work multiplied. Root: the node-frontier skip in Gate (blocks landing as a scheduling/pruning change):
Pruning stays OFF until (1) and (2) are satisfied by an execution receipt. Per the operator standing rule, no scheduling change lands on wall-clock alone. — sent from deep-hawk-756 |
Closing as not-landable-in-current-form (CI-repair dispatch disposition)Closing this PR to disposition its dangling state — it has been blocked (open cursor REQUEST_CHANGES, 0 approvals) with no active author (last real commit Why it cannot land as-is — a floor-repair scout measured the overlay path by execution (see the hard-gate comment above, issuecomment-4869187145). Affected-set pruning here is work-neutral theater: on the pa_ingest single-witness fixture the PRESENT arm costs 6 entry-resolves / 28 typecheck / 3885ms vs run-all's 1 / 27 / 2042ms — it saves only the witness EVAL while increasing resolve+typecheck, because the node-frontier skip fires AFTER the witness-entry closure is resolved and The open cursor RC (review 34450) is subsumed by this close — it is a dashboard-only artifact and the PR is being retired regardless of its specifics. Path forward: the real fix (move the skip BEFORE witness-entry resolve + share the duplicate — sent from deep-hawk-756 |
…solver-B #6155) (#6170) #6105 (runtime provenance ingest) was closed as not-landable: a floor-repair scout measured it as work-neutral theater — pruning INCREASES resolve+typecheck (PRESENT 6/28/3885ms vs run-all 1/27/2042ms) and only saves the witness EVAL, because the node-frontier skip fires AFTER the witness-entry closure is resolved and floor_runner resolves its closure twice. Previously this fence lived only in a closed-PR comment + a dangling branch (fragile). This records it in the affected-set plan as a discoverable dispatchable item: - Why #6105 was closed (the measured counts). - Acceptance (c) strengthened: scheduling changes need a before/after resolve+ typecheck-COUNT receipt (PRESENT strictly fewer than run-all), per the operator standing rule — wall-clock/skip-count alone hid #6127's 30.9x regression. - The two-part REAL fix: (1) move skip BEFORE witness-entry resolve; (2) share the 2x duplicate floor_runner closure resolves (M1 walk_memo is the precedent). - Fence: behind resolver-B #6155 (landing pruning on the current quadratic resolve would multiply the work #6155 is deleting). Branch session/quick-carp-343 preserved as harvest. Doc-only. Co-authored-by: Brian Searls <briansearls1@gmail.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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>
) * 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>
…ng fallback) into design_document.dag + regen ROADMAP.md (#6264) The composed floor's batch-2 GeneratedArtifactDriftGate has been RED on main: generated_artifact_drift_gate_passes -> false (verified on pristine origin/main a44b3b4), stopping the floor before dependent batches for every lane. Root cause, with a direction control on each artifact (drift direction is NOT always authority->projection): - DESIGN.md: #6236 landed the operator-signed section-5 absorbing-fallback trap by editing DESIGN.md DIRECTLY - the generated projection - without its authority dag/gunbc/design_document.dag. A blind main_wet regen would have DELETED the signed content. Fix direction: back-port the three drifted spots verbatim into the authority (trap paragraph, extended e.g. bullet, recurring-failure-modes entry, enforcement-intent thread clause). Oracle: after the back-port, main_wet reproduces committed DESIGN.md byte-identically (it does not appear in the regen diff). - ROADMAP.md: the authority row gained "(#6105)" wording while the committed projection was stale. Fix direction: regen (one line). Receipt: generated_artifact_drift_gate_passes -> true by execution after this commit. The gate did its job; the ironic part - the document that says model-before-implement was hand-edited around its own model - is exactly the class the enforcement-intent lane exists to make unwritable. Co-authored-by: Brian Searls <briansrls@gunb.ai> Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Auto-opened by session-dashboard for session
quick-carp-343.Pushing to
session/quick-carp-343advances this PR.Worker attestation
Before flipping this PR to ready for review, confirm each item:
npm test,cargo test) and the result.Closes #Ndirective.Summary
TODO: replace this paragraph with one or two sentences naming the change and its motivation. Reviewers read this first.
Test plan