Repository navigation
Consolidation #4553 Phase 1: model-first verification.dag BoolWitness/UnifiedTestClaim, gated PR with before-after cut-list and execution-equivalence tranche - #4576
Conversation
…n + equivalence witness Land mechanical bool_witness_from_roster_row projection, compile-time substrate_equivalence_holds tranche, and Mgr-C cut-list so Phase 2 runner dispatch can bind on UnifiedTestClaim without model-after-implement. Co-authored-by: Cursor <cursoragent@cursor.com>
…quivalence The v4 parser rejects `==` on coproduct variants (EqEq at expression site); discriminate modality with exhaustive match instead so ci_floor_emit M1 probe passes. Co-authored-by: Cursor <cursoragent@cursor.com>
briansrls
left a comment
There was a problem hiding this comment.
Review metadata
- Provider / model:
codex/unknown - Commit:
649f1d0e· Trigger:schedule - Thinking:
305s wall
BLOCKING (4)
Root Cause
src/v4/std/verification.dagThe Phase 1 projection copied V4RosterPilotClaimRunRow transport strings into the new std substrate instead of naming the structural function identity → use Symbol for the substrate field or add a bounded String bridge with an explicit dissolution trigger.src/v4/std/verification.dagThe Phase 1 model-first cut added registration coproducts without recording whether each one is terminal, scaffolded with a trigger, or must dissolve now → add per-coproduct classification receipts before the substrate lands.src/v4/std/verification.dagBoolWitness fields exist only on one UnifiedTestClaim arm, but the accessor API was made total over the whole coproduct with a plain String return → make the accessors arm-specific or return Optional/Outcome fail-closed values.
| // `function` carries the nullary `fn() -> Bool` witness name (roster `{entry, function}` projection). | ||
| type BoolWitness { | ||
| entry: String | ||
| function: String |
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
|
|
||
|
|
||
| // Node-corpus transport mode on `UnifiedTestClaim.NodeCorpus` — not a separate runner. | ||
| type TestClaimTransportMode |
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
| fn unified_test_claim_bool_witness_entry(c: UnifiedTestClaim) -> String { | ||
| match c { | ||
| BoolWitness { entry: e, function: _ } => e | ||
| NodeCorpus { claim: _, transport: _ } => "" |
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
| fn unified_test_claim_bool_witness_function(c: UnifiedTestClaim) -> String { | ||
| match c { | ||
| BoolWitness { entry: _, function: f } => f | ||
| NodeCorpus { claim: _, transport: _ } => "" |
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
…receipts, fail-closed projection BoolWitness.function lands as Symbol per design §3.1; roster rows gain function_symbol pins while keeping function String for shell transport. Add coproduct dissolution classifications, replace fabricating total accessors with unified_test_claim_bool_witness Outcome projection. Co-authored-by: Cursor <cursoragent@cursor.com>
|
Addressed all four blocking findings in
Verification: local |
|
codex REQUEST_CHANGES + claude APPROVE (transport bridge): addressed in
Local M1 probe green on — sent from valiant-owl-356 |
briansrls
left a comment
There was a problem hiding this comment.
Review metadata
- Provider / model:
codex/unknown - Commit:
6befddb3· Trigger:schedule - Thinking:
275s wall
Non-blocking — Strengths
src/v4/std/verification.dagThe Phase 1 substrate keeps registration descriptors separate from run receipts and names the Phase 2 subject-binding trigger.
✅ I found no blocking concerns in the changed lines.
|
Inline comment (dissolution receipts @ Verified current code carries RULING-1 + 🟢/🟡 marks on all three new coproducts:
The inline thread targets pre- codex schedule review @ No further commit required from this feedback batch. — sent from valiant-owl-356 |
…56-consolidation-4553-phase1
|
Addressed cursor/composer REQUEST_CHANGES on incomplete The four roster rows that omitted
All 53/53 claim-run rows now participate in — sent from valiant-owl-356 |
|
Dashboard review cycle closed — no code changes. Verified both APPROVE artifacts against HEAD
Prior REQUEST_CHANGES (four missing roster Symbol pins) addressed in — sent from valiant-owl-356 |
briansrls
left a comment
There was a problem hiding this comment.
Review metadata
- Provider / model:
codex/unknown - Commit:
75361148· Trigger:schedule - Thinking:
229s wall
BLOCKING (1)
Root Cause
src/v4/test/claim/workflow/v4_roster_pilot.dagThe Phase 1 symbol/string transport bridge tracks string divergence but not the existing Map.lookup→Optional bootstrap gap → either match Holds/Violates from v4.std.witness or add a bounded B-LOOKUP-1 dissolution receipt for this lookup site.
|
|
||
| fn v4_roster_pilot_row_function_transport_matches_symbol(row: V4RosterPilotClaimRunRow) -> Bool { | ||
| match v4_roster_pilot_witness_function_spellings().lookup(row.function_symbol) { | ||
| Some { value: spelling } => row.function == spelling |
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
There was a problem hiding this comment.
Fixed on b5b74704: replaced ad-hoc Map.lookup Some/None match with canonical v4.std.collection.map_get → Outcome<Optional<V>> (B-LOOKUP-1), matching grounding.dag / affected_set.dag single-authority pattern. Added gated dissolution receipt on the site.
— sent from valiant-owl-356
|
Dashboard re-review cycle — no code changes. Verified both APPROVE artifacts against HEAD
Merge readiness: CI green, mergeable=CLEAN, ≥2 distinct api-review APPROVE (cursor + claude), no open REQUEST_CHANGES (inline Map.lookup RC fixed in — sent from valiant-owl-356 |
briansrls
left a comment
There was a problem hiding this comment.
Review metadata
- Provider / model:
codex/unknown - Commit:
b5b74704· Trigger:schedule - Thinking:
273s wall
Non-blocking — Strengths
docs/planning/test-claim-consolidation-phase1-cut-list-2026-06-09.mdClassified mixed; the cut-list and .dag changes preserve the Phase 1 substrate-only gate and defer runner/CI transport cleanly.
✅ No blocking concerns in the current diff.
|
codex review (b5b7470) — no code changes. Verified: codex scheduled review records ✅ No blocking concerns on HEAD Merge readiness: CI green (9/9), mergeable=CLEAN, ≥3 distinct api-review APPROVE signals on — sent from valiant-owl-356 |
…56-consolidation-4553-phase1
briansrls
left a comment
There was a problem hiding this comment.
Review metadata
- Provider / model:
codex/unknown - Commit:
4135916e· Trigger:schedule - Thinking:
314s wall
BLOCKING (1)
Root Cause
src/v4/test/claim/workflow/v4_roster_pilot.dagbulk roster field migration missed one existing row literal → add function_symbol: lens_application_synthesis_gap_polynomial_holds to v4_roster_pilot_row_lens_application_synthesis_gap_enforce or make the symbol projection derivable for every row.
| entry: String | ||
| // 🟡 gated — feature:v4-roster-pilot-symbol-transport-bridge — shell `function` String is transport projection of `function_symbol` via `v4_roster_pilot_witness_function_spellings`; dissolve-on: Phase 4 CI transport consumes Symbol authority; forbidden: independent `function` edits diverging from spellings map. | ||
| function: String | ||
| function_symbol: Symbol |
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
There was a problem hiding this comment.
Fixed on 14d72571: completed migration for v4_roster_pilot_row_lens_application_synthesis_gap_enforce — Symbol decl lens_application_synthesis_gap_enforce_rejection_holds, spellings-map entry, and function_symbol pin (matches function transport string, not the sibling polynomial witness). Also repaired duplicate m38 map chain from partial edit so idempotency/identical_variant entries are not dropped.
— sent from valiant-owl-356
|
Addressed cursor REQUEST_CHANGES + codex BLOCKING on missing 53/53 roster rows now have — sent from valiant-owl-356 |
|
claude review (14d7257) — no code changes. Verified APPROVE artifact (27902) against HEAD Merge readiness: CI green, mergeable=CLEAN, 1/2+ fresh api-review APPROVE on — sent from valiant-owl-356 |
|
cursor review (14d7257) — no code changes. Verified APPROVE artifact (27905) against HEAD Merge readiness: CI green (9/9), mergeable=CLEAN, ≥2 distinct api-review APPROVE on — sent from valiant-owl-356 |
briansrls
left a comment
There was a problem hiding this comment.
Review metadata
- Provider / model:
codex/unknown - Commit:
14d72571· Trigger:schedule - Thinking:
644s wall
Non-blocking — Strengths
src/v4/std/verification.dagThe Phase 1 substrate split preserves both modalities and keeps NodeCorpus.subject explicitly deferred to the eval-boundary phase.
✅ No blocking concerns in the current PR diff.
|
codex review (14d7257) — no code changes. Verified ✅ No blocking concerns on HEAD Merge readiness: CI green, mergeable=CLEAN, ≥3 distinct api-review APPROVE on — sent from valiant-owl-356 |
…56-consolidation-4553-phase1
briansrls
left a comment
There was a problem hiding this comment.
Review metadata
- Provider / model:
codex/unknown - Commit:
33516413· Trigger:schedule - Thinking:
304s wall
BLOCKING (1)
Root Cause
src/v4/test/claim/workflow/v4_roster_pilot.dagmap_get was adopted as the tracked transport bridge but the module import boundary was not updated to include v4.std.diagnostic result arms and v4.std.collection Optional arms → add the missing imports or consume the canonical Witness lookup directly.
| // site: v4_roster_pilot_row_function_transport_matches_symbol spellings bridge. | ||
| fn v4_roster_pilot_row_function_transport_matches_symbol(row: V4RosterPilotClaimRunRow) -> Bool { | ||
| match map_get(m: v4_roster_pilot_witness_function_spellings(), key: row.function_symbol) { | ||
| Accepted { value: opt, diagnostics: _ } => match opt { |
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
There was a problem hiding this comment.
Fixed on 183d45ca: added missing module imports for map_get bridge match arms — v4.std.collection { Absent, Present } and v4.std.diagnostic { Accepted, Rejected }. M1 probe: 0 diagnostics.
— sent from valiant-owl-356
There was a problem hiding this comment.
Already addressed on HEAD 183d45ca (not stale dismissal — verified current tree):
import v4.std.collection { Absent, List, Map, Present, empty_map, map_get, map_insert }
import v4.std.diagnostic { Accepted, Rejected }
M1 probe + CI green on 183d45ca; codex scheduled review on same SHA records ✅ no blocking concerns. Relay predates import fix commit.
— sent from valiant-owl-356
|
Addressed codex BLOCKING + inline RC on missing Added — sent from valiant-owl-356 |
|
Dashboard re-review (183d45c) — no code changes. Verified both APPROVE artifacts against HEAD
Merge readiness: CI green, mergeable=CLEAN, ≥2 distinct api-review APPROVE on — sent from valiant-owl-356 |
briansrls
left a comment
There was a problem hiding this comment.
Review metadata
- Provider / model:
codex/unknown - Commit:
183d45ca· Trigger:schedule - Thinking:
504s wall
✅ No blocking concerns; the Phase 1 substrate tranche preserves BoolWitness as first-class, gates the roster String bridge, and keeps runner/CI migration deferred per the design.
|
codex review (183d45c) + inline import RC — no code changes.
Merge readiness: mergeable=CLEAN, CI green, ≥2 distinct APPROVE on — sent from valiant-owl-356 |
…r — operator wants it running again ASAP). PRIORITY 1 = glob-discovery / roster-dissolution (consolidation #4553 Phases 2-5, now ownerless): the MODEL landed (#4576: UnifiedTestClaim = NodeCorpus | BoolWitnessClaim in std/verificat (#4600) * WIP: Mgr-C SUCCESSOR (re-establish the auto-archived witty-pike-248 cluster — * Fix unified corpus entry labels * WIP: Mgr-C SUCCESSOR (re-establish the auto-archived witty-pike-248 cluster — * WIP: CONSISTENCY-REVIEW CLEANUP lane (operator wants full capacity; these are * Make bool witness run states exclusive * workflow: add parallel executor frontier batches * fix: bump v4_roster_pilot row count to 75 after adding 2 scaffold claims v4_roster_pilot_claim_run_row_count and the == 73 length assertion in witness_v4_roster_pilot_declares_claim_run_rows were not updated when the structural_similarity and table_decision_tree scaffold claims were added. Now 75; witness confirmed true under --claim-run. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * WIP: PARALLEL-EXECUTOR (EXEC arc, un-deferred by operator 2026-06-09): build * document executor run-plan dissolution * WIP: Mgr-C SUCCESSOR (re-establish the auto-archived witty-pike-248 cluster — * WIP: Mgr-C SUCCESSOR (re-establish the auto-archived witty-pike-248 cluster — * Revert "Merge remote-tracking branch 'origin/session/quiet-ant-728' into session/sharp-bear-579" This reverts commit 9b51ce2, reversing changes made to f273168. * Revert "WIP: Mgr-C SUCCESSOR (re-establish the auto-archived witty-pike-248 cluster —" This reverts commit f273168. * Revert "Merge remote-tracking branch 'origin/session/fierce-eagle-903' into session/sharp-bear-579" This reverts commit f8e55dc, reversing changes made to 9da55e9. * WIP: Mgr-C SUCCESSOR (re-establish the auto-archived witty-pike-248 cluster — * WIP: Mgr-C SUCCESSOR (re-establish the auto-archived witty-pike-248 cluster — * WIP: Mgr-C SUCCESSOR (re-establish the auto-archived witty-pike-248 cluster — * Use executable witness symbols for bool claims * Add markers for merged lens roster claims * Add marker for merged parallel executor claim * WIP: Mgr-C SUCCESSOR (re-establish the auto-archived witty-pike-248 cluster — * Remove generated affected receipt --------- Co-authored-by: Brian Searls <briansearls1@gmail.com> Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Summary
Consolidation #4553 Phase 1 (model-first substrate): land
BoolWitness,UnifiedTestClaim(NodeCorpus + BoolWitness arms),TestClaimTransportMode, and modality projection fns insrc/v4/std/verification.dagwithout touching runners or roster deletion.Adds mechanical
bool_witness_from_roster_rowregistry projection, a compile-timesubstrate_equivalence_holdstranche (unified_test_claim_substrate_equivalence.dag), and an explicit before/after cut list for Mgr-C gate review.TestClaimEvalSubjectbinding onNodeCorpusrows andrun_unified_corpus_evaldispatch are deferred to Phase 2 per std/eval layering.Design authority:
docs/planning/test-claim-consolidation-design-2026-06-08.md§Phase 1.Test plan
CARGO_BUILD_JOBS=2 RUSTC_WRAPPER= ctrl-build -- cargo test -p v3-compiler testgen_concept_surface_stays_closed— passes (verification.dagparse + structural ratchets)CARGO_BUILD_JOBS=2 RUSTC_WRAPPER= ctrl-build -- cargo test -p v3-compiler v4_test_bootstrap_infra_closeout— 17 passedrg 'UnifiedTestClaim|BoolWitness' src/v4/std/verification.dag— C3 substrate receiptcargo fmt --all --check— cleanCut list
docs/planning/test-claim-consolidation-phase1-cut-list-2026-06-09.md