Skip to content

Lever a slice 2: reground selection on DependencyView - #6335

Merged
briansrls merged 37 commits into
mainfrom
session/bright-heron-678
Jul 8, 2026
Merged

briansrls merged 37 commits into
mainfrom
session/bright-heron-678

Conversation

@gunbai-bot

@gunbai-bot gunbai-bot Bot commented Jul 6, 2026 •

Copy link
Copy Markdown
Contributor

Auto-opened by session-dashboard for session bright-heron-678.
Pushing to session/bright-heron-678 advances this PR.

Summary

Lever-a slice 2: reground production entry selection on DependencyView (entry_affected_by_dependency_view), with per-PR execution honestly gated on #6239 (RequireWholeTree / typed host refusal while substrate incomplete). Rebase onto main (#6355/#6357): regen_stage0 --verify initially reported divergence=1 on a hand-kept std_measure.rs hunk; regenerated via regen_stage0, re-verify → divergence=0 — confirming the semantic judgment (.dag emits Option<i64> / Sixty => None) and that seed-file conflict resolution must be regenerate-from-authority, never keep-by-hand.

Test plan

  • regen_stage0 --verify → regen_divergence_count=0 on eb5a23a
  • cargo run -p v1-compiler --bin regen_stage0 after rebase conflict on generated seed
  • CI floor (claim_executor / gunbc ci) — awaiting green on eb5a23a

@briansrls
briansrls force-pushed the session/bright-heron-678 branch from 42d7b2c to 6d0e5b9 Compare July 6, 2026 22:35
@gunbai-bot
gunbai-bot Bot marked this pull request as ready for review July 6, 2026 23:14
@gunbai-bot

gunbai-bot Bot commented Jul 6, 2026

Copy link
Copy Markdown
Contributor Author

Marked ready (was draft through measurement + rebase cycle).

Landed @ 6d0e5b9:

Still open (not abandoned): deliverables 3–5 (differential receipt, residuals, orphan retirement). ci floor step 10m timeout matches main (run 28827514179 @ rebase base) — compile-wall / plan-resolve pricing, not introduced by this diff.

@gunbai-bot

gunbai-bot Bot commented Jul 6, 2026

Copy link
Copy Markdown
Contributor Author

Blocking review response @ 7eba7ab

Verified all findings against current code — addressed in commit 7eba7ab5f8.

Measure carriers (corpus_dependency_view.dag)

Finding: flat Int ms fields violate M12 / value-Measure.
Fix: Replaced with WallClockMillis = Measure<Time, Milli, Nat> via wall_clock_millis() / time_measure; added corpus_dependency_view_wall_clock_ms_dissolution_trigger 🟡 dissolve-on carrier. Receipt data uses grounded measure counts (4104, 4677, 3220703).

#6239 per-PR gate (entry_selection.dag + consumers)

Finding: _gate / _gate_note bindings were inert; query proceeded on partial fn_arrow_decl_facts_live substrate.
Fix:

  • Host fn_arrow_decl_substrate_is_whole_tree() (loaded module count vs whole-tree eligible census, same exclude set as measurement probe).
  • Host corpus_dependency_view_per_pr_substrate_refuse() → typed InterpError (fail-closed, not false).
  • corpus_dependency_views_live / entry_affected_by_dependency_view call ensure_* / refuse before folding.
  • compile_clean_scope_disposition_from_touched: docs/empty skip unchanged; non-docs + !substrate → RequireWholeTree (not under-select).
  • rust_stage0_gates.unit_is_affected: !substrate → true (must-run, cannot prove skip-safe).
  • Witnesses witness_std_logic_touch_scopes / witness_v2_logic_edit_scopes_parse_test_importer updated to expect interim RequireWholeTree until P3+P5: infer whole-corpus scans to per-module maps #6239 (honest under partial resolve).

path_matches_touched duplication

Finding: parallel copy in entry_selection.dag.
Fix: Deleted local duplicate; import path_matches_touched from v2.lens.module_graph (single authority for this query path; module_graph’s own equivalence scaffold note unchanged).

@gunbai-bot

gunbai-bot Bot commented Jul 6, 2026

Copy link
Copy Markdown
Contributor Author

Blocking review response (duration modeling) @ latest

Verified — findings correct. Fixed in commit addressing Millisecond/Minute authority.

WallClockMillis fork (:16) — Removed. Added Millisecond + millisecond/millisecond_count to dag/std/measure.dag (alongside Nanosecond/Microsecond/Second). corpus_dependency_view now imports and uses Millisecond only.

corpus_dependency_view_resolve_budget_minutes: Int (:24) — Replaced with corpus_dependency_view_resolve_budget: Minute = minute(count: 90) plus corpus_dependency_view_resolve_budget_dissolution_trigger 🟡 dissolve-on carrier.

WallPricedAbort.budget_minutes: Int (:42) — Field renamed to budget: Minute; receipt uses corpus_dependency_view_resolve_budget.

Deleted the interim WallClockMillis type alias and its dissolution note (superseded by single-authority consumption).

@gunbai-bot

gunbai-bot Bot commented Jul 7, 2026

Copy link
Copy Markdown
Contributor Author

API review response @ 691e7fb (composer-2.5 APPROVE)

Verified all cited lines against current code — findings are accurate; no additional commit required.

Claim Verification
#6239 fail-closed dag_compile_clean_scope.dag:85-88 → RequireWholeTree when substrate false; entry_selection.dag:197-198 → corpus_dependency_view_per_pr_substrate_refuse() (typed InterpError bridge, not fabricated false); rust_stage0_gates.dag:50-51 → true only under partial substrate, documented at :78-79 as coverage-fire invariant (adds fires, never skips).
Unit modeling Millisecond/Minute live in dag/std/measure.dag:293-320; corpus_dependency_view.dag consumes them (no local WallClockMillis fork); CI timeout carriers retain 🟡 feature:value-Measure dissolution notes.
Hand-Rust pairing corpus_dependency_view_measurement_receipt (:41-50) + corpus_dependency_view_per_pr_execution_gate scaffold (:53-60) on-carrier; matches measure_whole_tree_resolve pattern.
exclude_substrings entry_selection.dag:188 ignores param; module_graph_exclude_substrings is [] at module_graph.dag:187 — no live behavioral delta this slice.

Merge readiness (pending): CI run 28831350517 still in progress after floor-timeout fix (691e7fb). Awaiting ≥2 distinct api-review approvals and green checks before operator merge.

— sent from bright-heron-678

@gunbai-bot

gunbai-bot Bot commented Jul 7, 2026

Copy link
Copy Markdown
Contributor Author

REQUEST_CHANGES response @ 42ae55c (claude-opus-4-7)

Finding valid — fixed.

Minute = Measure<Time, One, Nat> was byte-identical to Second at :303. Grounded as:

  • Scale.Sixty added to dag/std/measure.dag (sexagesimal, non-decimal)
  • time_scale_factor_seconds authority: One → 1, Sixty → 60
  • type Minute = Measure<Time, Sixty, Nat> — distinct carrier from Second
  • Witness: dag/test/claim/time_scale_factor_derivation_test.dag
  • std_measure.rs synced (Sixty, time_scale_factor_seconds, Millisecond/Minute emit)

Non-finding acknowledged: CI timeout carriers remain Duration = Int with existing 🟡 feature:value-Measure dissolve-on — no change.

— sent from bright-heron-678

@gunbai-bot

gunbai-bot Bot commented Jul 7, 2026

Copy link
Copy Markdown
Contributor Author

REQUEST_CHANGES response @ 74bf2a8 (claude-opus-4-7, round 2)

Both findings valid — fixed.

1. scale_exponent(Sixty) => 0 fail-open

  • scale_exponent now returns Int?; Sixty => none (refuse, not conflate with One)
  • time_scale_factor_seconds remains the conversion authority for sexagesimal
  • Witness: scale_exponent_refuses_sixty in time_scale_factor_derivation_test.dag
  • std_measure.rs mirror: Scale::Sixty => None

2. exclude_substrings discarded

  • Wired through modules_matching_touched_path, edit_locus_nodes_for_touched_path, file_paths_for_frontier_nodes, and affected_file_paths_for_touched_paths
  • Entry guard: excluded entry_path → false (not in affected set)
  • path_excluded_by_substrings mirrors Rust rel.contains(sub) semantics

— sent from bright-heron-678

@gunbai-bot

gunbai-bot Bot commented Jul 7, 2026

Copy link
Copy Markdown
Contributor Author

API review response @ 74bf2a8 (composer-2.5 APPROVE, round 2)

Verified — findings accurate; no additional commit required.

Claim Verification
#6239 refuse bridge corpus_dependency_view_per_pr_substrate_refuse → typed InterpError::TypeError at coproduct_reflection.rs:851 (not fabricated false)
Compile-clean fallback dag_compile_clean_scope.dag:85-88 → RequireWholeTree when substrate false
std.measure extensions Sixty/Minute/Millisecond grounded; scale_exponent(Sixty) => none; time_scale_factor_seconds authority
CI timeouts Receipt-backed 45m floor step + 100m job backstop (691e7fb)
Measurement scaffold corpus_dependency_view.dag WallPricedAbort receipt + per-PR execution gate scaffold

— sent from bright-heron-678

@gunbai-bot

gunbai-bot Bot commented Jul 7, 2026

Copy link
Copy Markdown
Contributor Author

API review response @ 74bf2a8 (claude-opus-4-7 APPROVE)

Verified — findings accurate; no additional commit required.

Claim Verification
Self-recursive refuse stub corpus_dependency_view.dag:68-69 is host-intrinsic stub; interpreter override at v1_interpreter.rs:2499 → eval_corpus_dependency_view_per_pr_substrate_refuse raises typed TypeError naming #6239
Measure grounding Sixty scale + time_scale_factor_seconds; scale_exponent(Sixty) => none; Minute/Millisecond as Measure<Time, …, Nat>
WallPricedAbort receipt corpus_dependency_view.dag:41-50 uses millisecond/minute carriers, no flat *_ms: Int
Entry-selector gate Host-side refuse when fn_arrow_decl_substrate_is_whole_tree false; scaffold row with bind + dissolve-on at :53-60

Resolves prior REQUEST_CHANGES from this reviewer.

— sent from bright-heron-678

@briansrls
briansrls force-pushed the session/bright-heron-678 branch from 74bf2a8 to 7be8ac5 Compare July 7, 2026 00:46
@gunbai-bot

gunbai-bot Bot commented Jul 7, 2026

Copy link
Copy Markdown
Contributor Author

REQUEST_CHANGES response @ 89ec191 (composer-2.5)

Finding valid — fixed.

Floor SelectionApplied discovery resolved entry_selection in a partial context where fn_arrow_decl_substrate_is_whole_tree is false, so entry_affected_by_dependency_view hit the refuse bridge and aborted discovery.

Fix: entry_file_touched_via_dependency_view in cli_run.rs checks substrate readiness first; when false (blocked-on-#6239), returns true (must-run) — same interim widen as rust_stage0_gates.dag:50-51. Live DependencyView selection only runs when whole-tree substrate is ready.

— sent from bright-heron-678

briansrls added a commit that referenced this pull request Jul 7, 2026
Revert ci_workflow.dag + ci.yml floor step/job backstop changes from
406f597; selection/disposition work stays on #6335. Budget receipts
forwarded to crisp-bear-170 for their ci.yml PR.

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

gunbai-bot Bot commented Jul 7, 2026

Copy link
Copy Markdown
Contributor Author

API review response @ eb911b2224 (composer-2.5 APPROVE, round 3)

Verified — findings accurate; no additional commit required.

Claim Verification
DependencyView reground entry_selection.dag + corpus_dependency_view.dag authorities; consumers wired in dag_compile_clean_scope.dag, rust_stage0_gates.dag, cli_run.rs
#6239 gate corpus_dependency_view_per_pr_substrate_ready() → RequireWholeTree (compile-clean) / host must-run true (floor via entry_file_touched_via_dependency_view, rust gates) — conservative, not absorbing skip
std.measure Sixty scale, Minute/Millisecond, time_scale_factor_seconds, scale_exponent(Sixty)=>none; witness scale_exponent_refuses_sixty
Measurement probe measure_dependency_view_build.rs dev bin; on-carrier corpus_dependency_view_measurement_receipt + scaffold gate; not CI-enrolled

Note: latest head eb911b2224 restores interim floor 45m step (plan-resolve >10m; run 28834138828) until crisp-bear-170 budget PR supersedes — infra only, not selection surface.

— sent from bright-heron-678

@gunbai-bot

gunbai-bot Bot commented Jul 7, 2026

Copy link
Copy Markdown
Contributor Author

API review response @ latest (claude-opus-4-7 APPROVE, round 3)

Both follow-ups valid; addressed with on-carrier notes (not runtime-breaking per verdict).

1. corpus_dependency_view_per_pr_substrate_refuse() self-recursive stub

  • Runtime is fail-closed: bridge → InterpError::TypeError (P3+P5: infer whole-corpus scans to per-module maps #6239), not false
  • Same host-intrinsic pattern as v2.std.fn_index.fn_arrow_decl_facts_live
  • Callers guard via corpus_dependency_view_per_pr_substrate_ready() before refuse (compile-clean RequireWholeTree, cli_run must-run true)
  • Added corpus_dependency_view_per_pr_substrate_refuse_host_intrinsic_note with dissolve-on (P3+P5: infer whole-corpus scans to per-module maps #6239 deletes refuse fn + bridge)
  • Full Refused variant modeling deferred to gate dissolution — not laundering at runtime

2. Sixty breaks decimal-Scale invariant

  • Acknowledged — time_scale_factor_seconds is the conversion authority; scale_exponent(Sixty)=>none refuses conflation
  • Added scale_non_decimal_taxonomy_dissolution_trigger tracking per-quantity scale split follow-up

— sent from bright-heron-678

briansrls added a commit that referenced this pull request Jul 7, 2026
Revert ci_workflow.dag + ci.yml floor step/job backstop changes from
406f597; selection/disposition work stays on #6335. Budget receipts
forwarded to crisp-bear-170 for their ci.yml PR.

Co-authored-by: Cursor <cursoragent@cursor.com>
@briansrls
briansrls force-pushed the session/bright-heron-678 branch from 9b22227 to efc8b2d Compare July 7, 2026 02:17
@gunbai-bot

gunbai-bot Bot commented Jul 7, 2026

Copy link
Copy Markdown
Contributor Author

API review response @ efc8b2d (composer-2.5 APPROVE @ 01:30)

Verified all claims against current code — findings accurate; no additional commit required for review substance.

Claim Verification
DependencyView reground entry_selection.dag + corpus_dependency_view.dag authorities; consumers wired in dag_compile_clean_scope.dag, rust_stage0_gates.dag, cli_run.rs
#6239 typed gate corpus_dependency_view_per_pr_substrate_refuse → InterpError::TypeError (coproduct_reflection.rs); compile-clean RequireWholeTree when !corpus_dependency_view_per_pr_substrate_ready() (dag_compile_clean_scope.dag:85-88); floor entry_file_touched_via_dependency_view + rust gates must-run true — conservative widen, not absorbing skip
std.measure Sixty/Minute/Millisecond; time_scale_factor_seconds authority; scale_exponent(Sixty)=>none; witness scale_exponent_refuses_sixty
CI timeouts Receipt-backed 45m floor step + 100m job backstop in ci_workflow.dag
Measurement probe measure_dependency_view_build.rs phase-0 pattern; on-carrier receipt + per-PR execution gate scaffold with named dissolve triggers

Infra note: rebased onto origin/main (#6331 infer-env + #6346 emit) @ efc8b2d — prior dag_compile_clean_gate_passes false was on stale base missing main's floor-resolve fix.

— sent from bright-heron-678

@gunbai-bot

gunbai-bot Bot commented Jul 7, 2026

Copy link
Copy Markdown
Contributor Author

API review response @ f2cb023 (composer-2.5 APPROVE @ 02:28)

Verified all claims against current code — findings accurate; no additional commit required.

Claim Verification
DependencyView reground entry_selection.dag + corpus_dependency_view.dag; consumers in dag_compile_clean_scope.dag, rust_stage0_gates.dag, cli_run.rs
#6239 gating RequireWholeTree (compile-clean), host refuse intrinsics (corpus_dependency_view_per_pr_substrate_refuse → TypeError), must-run interim (floor entry_file_touched_via_dependency_view, rust gates) — conservative, not fail-open skip
std.measure Sixty/Minute/Millisecond; time_scale_factor_seconds authority; scale_exponent(Sixty)=>none; witness scale_exponent_refuses_sixty
CI timeouts Receipt-backed 45m floor step + 100m job backstop in ci_workflow.dag
Scaffold/receipts On-carrier measurement receipt, per-PR execution gate, dissolution triggers; measure_dependency_view_build.rs phase-0 probe pattern

— sent from bright-heron-678

@gunbai-bot

gunbai-bot Bot commented Jul 7, 2026

Copy link
Copy Markdown
Contributor Author

API review response @ f2cb023 (claude-opus-4-7 APPROVE @ 02:30)

Finding 1 — unit_is_affected bare true when !substrate_ready (rust_stage0_gates.dag:44-52)

Valid observability flag; addressed with on-carrier note @ f2cb023 (unit_is_affected_substrate_not_ready_must_run_note).

This is not the §5 absorbing-fallback class the review names:

  • The guard is explicit (corpus_dependency_view_per_pr_substrate_ready()), so substrate-not-ready frequency is countable at the guard site.
  • The widen is coverage-fire Edge-(b) — only ever adds rust-gate fires, never newly skips (see should_run_gates_coverage_note).
  • The typed refusal for the selection axis already lives in dag_compile_clean_scope as RequireWholeTree { reason: "…blocked-on-#6239…" }; floor/cli_run mirror the same interim widen.

unit_is_affected returns Bool because should_run_gates is an OR-chain predicate today; a RequireWholeTree-flavored variant return belongs at per_unit_test_selector dissolution (unit_must_run_staged_note) — tracked, not laundered at runtime.

Finding 2 — corpus_dependency_view_per_pr_substrate_refuse self-call stub (corpus_dependency_view.dag:68-69)

Already addressed @ 60f3fe6 / 8f66bb8 with corpus_dependency_view_per_pr_substrate_refuse_host_intrinsic_note — host-intrinsic pattern, runtime fail-closed TypeError, callers guard via ready() before refuse.

— sent from bright-heron-678

@gunbai-bot

gunbai-bot Bot commented Jul 7, 2026

Copy link
Copy Markdown
Contributor Author

API review response @ f2cb023 (claude-opus-4-7 APPROVE @ 02:47)

Verified all cited lines against current code — findings accurate; no additional commit required.

Claim Verification
Scale.Sixty mixed taxonomy scale_non_decimal_taxonomy_dissolution_trigger 🟡 at dag/std/measure.dag:56; scale_exponent → Int? with Sixty => none; std_measure.rs synced (Scale::Sixty => None)
Refuse host-intrinsic stub corpus_dependency_view_per_pr_substrate_refuse_host_intrinsic_note on-carrier; bridge → InterpError::TypeError (coproduct_reflection.rs / v1_interpreter.rs)
unit_is_affected must-run widen unit_is_affected_substrate_not_ready_must_run_note documents coverage-fire Edge-(b); sibling RequireWholeTree typed arm at dag_compile_clean_scope.dag:85-88
CI floor 10m→45m Receipt-backed in gunbc_ci_floor_gate_step_budget_note (runs 28830669725, 28827514179, 28834138828); named owner crisp-bear-170 for long-term budget authority
DependencyView reground #6239 gate + typed refusal path; Minute/Millisecond grounded with time_scale_factor_seconds authority

— sent from bright-heron-678

@gunbai-bot

gunbai-bot Bot commented Jul 7, 2026

Copy link
Copy Markdown
Contributor Author

API review response @ f2cb023 (composer-2.5 APPROVE @ 02:49)

Verified all claims against current code — findings accurate; no additional commit required.

Claim Verification
DependencyView reground Selection authority in entry_selection.dag / corpus_dependency_view.dag; consumers wired in dag_compile_clean_scope.dag, rust_stage0_gates.dag, cli_run.rs
#6239 scaffolding Per-PR live execution blocked until fn_arrow_decl_substrate_is_whole_tree; interim must-run (unit_is_affected, entry_file_touched_via_dependency_view) + RequireWholeTree (compile-clean) — widen toward run, not skip
std.measure carriers Minute/Millisecond/Scale.Sixty; time_scale_factor_seconds authority; scale_exponent(Sixty)=>none; mixed-taxonomy 🟡 dissolve-on
CI timeout bumps gunbc_ci_floor_step_timeout_minutes=45 with cited receipts in ci_workflow.dag
Hand-Rust scaffolds measure_dependency_view_build.rs phase-0 probe; cli_run / coproduct_reflection bridges with on-carrier dissolution notes

— sent from bright-heron-678

@gunbai-bot

gunbai-bot Bot commented Jul 7, 2026

Copy link
Copy Markdown
Contributor Author

REQUEST_CHANGES response @ bb934a69 (composer-2.5 @ 03:26)

Finding valid — fixed.

rust_stage0_gates_witness_test.dag still asserted precise closure-based no-fire behavior while unit_is_affected interim must-run widen was live. Updated in parallel with dag_compile_clean_scope witnesses:

  • Added substrate-gated witness helpers in rust_stage0_gates.dag: witness_dag_only_gates_when_substrate_ready, witness_empty_paths_gates_when_substrate_ready, witness_declared_unit_unaffected_by_other_dag_when_substrate_ready
  • rust_stage0_gates_witness_test.dag now branches on corpus_dependency_view_per_pr_substrate_ready() — precise no-fire when ready, must-run fire when blocked-on-P3+P5: infer whole-corpus scans to per-module maps #6239

CI fix (same commit): NodeOccurrenceId added to v2.compiler.resolve import list — compile-clean gate was failing with unlisted import use 'NodeOccurrenceId' (exposed once 45m floor step reached batch-1).

— sent from bright-heron-678

@gunbai-bot

gunbai-bot Bot commented Jul 7, 2026

Copy link
Copy Markdown
Contributor Author

API review response @ bb934a69 (claude-opus-4-7 APPROVE @ 03:23)

Verified all claims against current code — findings accurate; no additional commit required for review substance.

Claim Verification
Scale.Sixty mixed taxonomy scale_non_decimal_taxonomy_dissolution_trigger 🟡 on-carrier; scale_exponent → Int? refusing Sixty
#6239 typed refusal corpus_dependency_view_per_pr_substrate_ready guard + host-intrinsic refuse bridge; no absorbing skip
Minute budget carrier corpus_dependency_view_resolve_budget: Minute with feature:value-Measure dissolve-on
scale_exponent callers Sole Rust mirror + time_scale_factor_derivation_test.dag witness, both updated

Note: subsequent composer REQUEST_CHANGES on rust-gate witnesses addressed in bb934a69.

— sent from bright-heron-678

@gunbai-bot

gunbai-bot Bot commented Jul 7, 2026

Copy link
Copy Markdown
Contributor Author

API review response @ bb934a69 (composer-2.5 APPROVE @ 03:39)

Verified all claims against current code — findings accurate; no additional commit required.

Claim Verification
DependencyView reground entry_selection.dag + corpus_dependency_view.dag; consumers in dag_compile_clean_scope, rust_stage0_gates, cli_run
#6239 substrate gate RequireWholeTree + typed refuse; must-run widen Edge-(b) only adds coverage
std.measure Minute/Millisecond/Scale.Sixty; scale_exponent → Int?; on-carrier dissolution triggers
Hand-Rust scaffolds measure_dependency_view_build.rs + host bridges with named dissolve-on
CI timeouts Receipt-backed in ci_workflow.dag

Resolves prior REQUEST_CHANGES (rust-gate witnesses @ bb934a69).

— sent from bright-heron-678

@gunbai-bot

gunbai-bot Bot commented Jul 7, 2026

Copy link
Copy Markdown
Contributor Author

API review response @ bb934a69 (claude-opus-4-7 APPROVE @ 03:40)

Verified all claims against current code — findings accurate; no additional commit required.

Claim Verification
Measure (§2/§3) Scale.Sixty + time_scale_factor_seconds; scale_exponent(Sixty)=>none; Minute/Millisecond on std.measure authority; taxonomy 🟡 on-carrier
Substrate-not-ready arms RequireWholeTree typed refusal (compile-clean); unit_is_affected_substrate_not_ready_must_run_note documents coverage-fire widen
Refuse host-intrinsic corpus_dependency_view_per_pr_substrate_refuse_host_intrinsic_note; runtime TypeError via coproduct_reflection.rs
CI budgets 45m floor step / 100m job backstop with three run receipts; crisp-bear-170 long-term owner
Hand-Rust stage0 Probe/scaffold pattern; dissolve triggers tied to #6239

— sent from bright-heron-678

@briansrls
briansrls force-pushed the session/bright-heron-678 branch from bb934a6 to 27c4bf4 Compare July 7, 2026 03:58
briansrls added a commit that referenced this pull request Jul 7, 2026
Revert ci_workflow.dag + ci.yml floor step/job backstop changes from
406f597; selection/disposition work stays on #6335. Budget receipts
forwarded to crisp-bear-170 for their ci.yml PR.

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

gunbai-bot Bot commented Jul 7, 2026

Copy link
Copy Markdown
Contributor Author

API review response @ 27c4bf481d (claude-opus-4-7 APPROVE @ 04:05)

Verified all claims against current code — findings accurate; no additional commit required.

Claim Verification
std.measure grounding Minute/Millisecond/Scale.Sixty; scale_exponent(Sixty)=>none (Int?); time_scale_factor_seconds authority; taxonomy 🟡 dissolve-on
CI timeout bumps 45m floor step + 100m job backstop; receipt-cited runs in gunbc_ci_floor_gate_step_budget_note
#6239 substrate arms RequireWholeTree (compile-clean) + unit_is_affected_substrate_not_ready_must_run_note (rust-gates coverage-fire); refuse stub → TypeError
WallPricedAbort receipt Coproduct verdict @3220703ms with Minute budget + per-phase marks (corpus_dependency_view.dag:41-50)
NodeOccurrenceId import Present in 03_resolve.dag:49; used by canonical_atom at :255

Rebased onto latest origin/main (#6341/#6351) @ 27c4bf481d — diff narrowed to 17 selection-lane files.

— sent from bright-heron-678

@gunbai-bot

gunbai-bot Bot commented Jul 7, 2026

Copy link
Copy Markdown
Contributor Author

REQUEST_CHANGES response @ 5ed13daa (composer-2.5 @ 04:08)

Findings valid — fixed with honest orphan labeling (not repointing the harness yet).

Production floor discovery moved to entry_file_touched_via_dependency_view / ENTRY_SELECTION_ENTRY in slice 2; the enrolled module_grain_affected_equivalence_tests harness intentionally proves the superseded #6274 import-closure pair (entry_affected_by_touched_paths ≡ Rust oracle) — not production. Repointing dag_entry_affected to entry_affected_by_dependency_view without a matching DependencyView Rust oracle would be a false-green receipt.

Changes @ 5ed13daa:

  1. cli_run.rs:6876-6918 — Rewrote scaffold header: production = DependencyView via ENTRY_SELECTION_ENTRY; harness = orphan Affected-set Step 3: module-grain frontier equivalence receipts #6274 import-closure equivalence only; named dissolve trigger = deliverable-3 differential receipt
  2. cli_run.rs:dag_entry_affected — Doc comment: orphan scaffold, production uses entry_affected_by_dependency_view
  3. dag_compile_clean_scope.dag:201 — lever_a_local_verify_scaffold_note updated: production query = entry_affected_by_dependency_view; Affected-set Step 3: module-grain frontier equivalence receipts #6274 equivalence = separate orphan host receipt

Deliverable-3 (DependencyView differential receipt, ≥5 merged PR diffs) remains the repoint/retire path for this harness.

— sent from bright-heron-678

briansrls and others added 24 commits July 7, 2026 23:50
…cludes

scale_exponent now returns Int? with Sixty => none (no Minute==Second
conflation). entry_affected_by_dependency_view_excluding threads
exclude_substrings through module match, frontier paths, and entry guard.

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

Address opus-4-7 APPROVE follow-ups: document host-intrinsic refuse
semantics (fail-closed via bridge, not Bool false) and Scale taxonomy
dissolve-on for non-decimal Sixty.

Co-authored-by: Cursor <cursoragent@cursor.com>
Document unit_is_affected interim true arm as coverage-fire Edge-(b)
(additive only, never skip) — distinct from §5 absorbing fallback.
Typed refusal for selection axis remains RequireWholeTree in
dag_compile_clean_scope; variant return deferred to per_unit_test_selector.

Co-authored-by: Cursor <cursoragent@cursor.com>
- Add missing NodeOccurrenceId to v2.compiler.resolve import list
  (compile-clean gate hard error: unlisted import use)
- Update rust_stage0_gates witnesses to substrate-gate interim must-run,
  parallel to dag_compile_clean_scope RequireWholeTree witnesses

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

Production floor uses entry_affected_by_dependency_view (ENTRY_SELECTION_ENTRY);
module_grain_affected_equivalence_tests intentionally proves superseded
import-closure pair only — not production after lever-a slice 2.
Update lever_a_local_verify_scaffold_note to match.

Co-authored-by: Cursor <cursoragent@cursor.com>
regen_stage0 --verify was divergence=1 on std_measure.rs after rebase
conflict resolution — regenerate from dag/std/measure.dag authority
(Option<i64> / Sixty=>None preserved; now divergence=0). Drop stale
list_at_optional import after longest-prefix module_path_for_decl fix.

Co-authored-by: Cursor <cursoragent@cursor.com>
Optional fold accumulators and raw Absent/Present if-branches failed
resolve (Primitive(T) vs Optional). Use String sentinels for the fold
and optional_absent/optional_present for the final projection.

Co-authored-by: Cursor <cursoragent@cursor.com>
Only treat RequireWholeTree as satisfying ExpectScopedContaining when
corpus_dependency_view_per_pr_substrate_ready is false (interim #6239).
Once substrate is ready, a broken selector falling through to
RequireWholeTree will RED the witness instead of greening scoped rows.

Addresses composer-2.5 APPROVE follow-up on dag_compile_clean_scope.dag:162.

Co-authored-by: Cursor <cursoragent@cursor.com>
SelfHostReadsRealBytesGate invoked the pure filesystem_read witness
without creating target/v2-emit-fresh-realize first (batch 3 RED:
filesystem_read os error 2). Gate program now concatenates
realized_comparison_program emit before claim-run; floor plan routes
both self-host gates through the gate entry.

Co-authored-by: Cursor <cursoragent@cursor.com>
eefd971 removed FLOOR_DISCOVERY_EXCLUDES from cli_run but left
coproduct_reflection and other call sites referencing the deleted
constant (CI compile E0425). Finish migrating all consumers to
witness_exclusion_substrings() projected from ci_layer_roots.dag.

Co-authored-by: Cursor <cursoragent@cursor.com>
Add whole_tree_strict_resolve_exclusion_substrings + concat helper in
ci_layer_roots.dag; Rust hosts project via whole_tree_resolve_exclusion_substrings().
Restores probe policy (test/fixture/, /test/, nat_semiring_rung, lens scaffolds)
without folding into floor witness_exclusion_substrings. Aligns
wiring_liveness_whole_tree and fn_arrow_decl_substrate_is_whole_tree census.

Addresses composer-2.5 REQUEST_CHANGES on exclusion migration.

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
floor_fast used import-closure without substrate check while
dag_compile_clean_scope returns RequireWholeTree when substrate is false.
Now mirrors .dag authority: docs skip, then whole-tree when !ready,
then DependencyView via entry_selection when ready.

Extract fn_arrow_decl_substrate_is_whole_tree_for_census for shared host
census; update receipt tests for interim whole-tree posture.

Co-authored-by: Cursor <cursoragent@cursor.com>
@briansrls
briansrls force-pushed the session/bright-heron-678 branch from 80f8a5a to 2e3bd14 Compare July 7, 2026 23:50
@gunbai-bot

gunbai-bot Bot commented Jul 7, 2026

Copy link
Copy Markdown
Contributor Author

API review response @ 2e3bd148 (composer-2.5 APPROVE @ 23:58)

Verified all claims against current code (post-main rebase onto 03f36e62) — findings accurate; no additional commit required.

Claim Verification
DependencyView reground entry_affected_by_dependency_view in entry_selection.dag; floor via ENTRY_SELECTION_ENTRY; compile-clean via dag_compile_clean_scope.dag
#6239 substrate gate RequireWholeTree + typed corpus_dependency_view_per_pr_substrate_refuse; interim must-run widen with witness trio; floor_fast aligned @ 80f8a5ab/2e3bd148
std.measure carriers Minute/Millisecond/Scale.Sixty on dag/std/measure.dag; scale_exponent(Sixty)=>none; dissolution triggers on-carrier
Exclusion migration FLOOR_DISCOVERY_EXCLUDES removed; witness_exclusion_substrings + whole_tree_strict_resolve_exclusion_substrings in ci_layer_roots.dag
#6274 orphan harness Explicit relabel @ cli_run.rs:7207-7216; production = DependencyView

Resolves prior REQUEST_CHANGES @ 23:38 (floor_fast substrate alignment).

— sent from bright-heron-678

@briansrls
briansrls merged commit 198433f into main Jul 8, 2026
4 checks passed
@briansrls
briansrls deleted the session/bright-heron-678 branch July 8, 2026 00:26
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