Repository navigation
T-38B lens_ownership: subject roster + run_test_claim wiring + family CI receipt - #4264
Conversation
0ee01b2 to
8e91c16
Compare
briansrls
left a comment
There was a problem hiding this comment.
Review metadata
- Provider / model:
codex/unknown - Commit:
9aaddc79· Trigger:schedule - Thinking:
266s wall
BLOCKING (1)
Root Cause
src/v4/test/claim/lens_ownership/subject_roster.dagLensOwnershipSubject stores the real structural_witness beside eval_subject, but the runner consumes only lens_ownership_node_subject_rows → make the ownership witness the evaluated TestClaim fact or have the family runner fold LensOwnershipSubject rows and gate the witness with the run verdict.
|
|
||
|
|
||
| type LensOwnershipSubject { | ||
| claim: TestClaim |
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
|
Review metadata
1. Story of the diffThis PR takes the existing The new family evaluator then maps those roster rows through Finally, 2. Invariant categories
The comments are mostly load-bearing scope/status headers rather than prose compensating for unclear control flow, which fits the CODING.md comment discipline. chatgpt-review-7da3090a-f3a2-4d…
The Python receipt is a host-side shape checker, but it is framed as a receipt for wiring rather than the behavioral authority; the behavioral surface remains the modeled
2.5. Top-down PM intent reviewFinding. The high-level intent is that correctness and test surfaces are structurally derived from modeled data rather than hand-maintained behavioral or roster assertions; the thesis says correctness dimensions are structural facts and Tier 3 test surfaces are The PR mostly follows that intent by adding 3. VerdictREQUEST_CHANGES. The core family-eval shape is good, but the new CI claim frontier is a second authority for the same family membership represented by |
briansrls
left a comment
There was a problem hiding this comment.
Review metadata
- Provider / model:
codex/unknown - Commit:
c0ea91b8· Trigger:schedule - Thinking:
347s wall
BLOCKING (1)
Root Cause
src/v4/test/claim/lens_ownership/subject_roster.dagThe subject roster is modeled as a manually assembled bundle of parallel claim facts → derive claim_id, structural_witness, and eval_subject from one claim authority via a constructor/accessor surface, or remove the parallel field that is not consumed.
| type LensOwnershipSubject { | ||
| claim: TestClaim | ||
| structural_witness: Bool | ||
| eval_subject: TestClaimEvalSubject<Node> |
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
Review feedback addressed (commit
|
Verdict-surface projection already binds lens_ownership_subject_rows; the parallel Symbol alias was never consumed in ci.dag. Co-authored-by: Cursor <cursoragent@cursor.com>
Dashboard reviews (
|
briansrls
left a comment
There was a problem hiding this comment.
Review metadata
- Provider / model:
codex/unknown - Commit:
11c3029d· Trigger:schedule - Thinking:
274s wall
BLOCKING (1)
Root Cause
src/v4/workflow/ci.dagCiCommand shape changed without atomically updating all construction sites → add a canonical ci_testclaim_corpus_eval_command() carrying ci_testclaim_corpus_verdict_surface_authority() and use it in job/upsert construction.
| @@ -153,6 +157,8 @@ type CiCommand | |||
| | LeafModelGoVerifyCommand | |||
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
|
Verified the blocking |
ownership_claim_input(ok: Bool) requires v4.std.logic at the module boundary. Co-authored-by: Cursor <cursoragent@cursor.com>
…gunbc into session/royal-otter-710
Outstanding blocking items verified on
|
…sm T-38B → orphans) Per Runtime/TestClaim Mgr decision (royal-gull-451): the lens_ownership and lens_parallelism T-38B wiring lands via the orphan PRs #4264 (royal-otter, ci.dag corpus path) and #4266 (proud-koi), which were in-flight first and match the lens_effect #4265 integration posture. This PR's competing self-contained wiring is dropped to avoid double-authority on subject_roster.dag / data_dependency.dag. What remains is the one genuinely-additive, non-overlapping fix surfaced during the audit: EXPECTED_HAND_AUTHORED_TEST listed v4_emit_host_harness_test before v4_emit_host_eval_dispatch_test, violating the strict ASCII-ascending invariant enforced by sg0_expected_list_is_sorted_and_unique (latent red on main). Reorders the two entries; no census membership change. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Dashboard reviews on
|
Rebased onto main after #4264 merge. Introduces LensOwnershipSubject with claim-id-derived structural witness (not a stored parallel field) and gates the family receipt on both witness hold and run_test_claim pass. Replaces the direct ownership_resource_dependency_claim_passes shortcut in family_eval with per-subject accessor dispatch. 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:
dad4a157· Trigger:schedule - Thinking:
344s wall
BLOCKING (1)
Root Cause
src/v4/test/claim/workflow/lens_ownership_family_eval.dagLensOwnershipFamilyEvalReport reimplements the existing CorpusEvalReport/tally surface and then drifts from its report.entries non-empty contract → return/use the canonical CorpusEvalReport path and gate over the report contents.
|
|
||
|
|
||
| fn lens_ownership_family_gate(report: LensOwnershipFamilyEvalReport) -> Bool { | ||
| if is_empty(xs: lens_ownership_subject_rows) { |
There was a problem hiding this comment.
BLOCKING: lens_ownership_family_gate checks the global subject roster instead of the report it is certifying, so an empty or mismatched LensOwnershipFamilyEvalReport can still close when the structural witness is true, violating P2 boundary discipline/API-level enforcement.
…_host entries) (#4294) * WIP: F.5 lens ratchet: T-13 dependency-lens family receipts — audit remaining * F.5 T-13 lens ratchet: T-38B wiring for lens_ownership + lens_parallelism families Audit of the T-13 dependency-lens families found idempotency was the only `ClassifiedDependencyView<_>` family with full T-38B wiring (subject roster + run_test_claim + family receipt over the eval_mvp2 runtime wedge). lens_ownership and lens_parallelism each carried a single worked T-13 claim that terminated at a `_passes: Bool` with no run_test_claim wedge. This extends the lens_idempotency T-38B posture to those two families: - resource_dependency.dag / data_dependency.dag gain the TestClaim receipt, run_test_claim_assert verdict, executable claim, eval_test_claim_subject, and run_test_claim over the shared eval_mvp2 wedge. - new subject_roster.dag + family_receipt.dag per family (single-leaf rosters). - one shared hand-Rust parse smoke (v4_lens_dependency_family_t38b) registered in integration.rs + SG-0 EXPECTED_HAND_AUTHORED_TEST with the standard P5/T-PB-B dissolution receipt. Also fixes a pre-existing strict-sort defect in EXPECTED_HAND_AUTHORED_TEST (emit_host_harness was listed before emit_host_eval_dispatch). Remaining unwired T-13 families (audit residue): lens_unused_parameters (split-contract, 3 claims) and lens_structural_resolution (feature-gated scaffolds) — tracked follow-up, not wired here. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * Re-scope #4294: SG-0 census strict-sort fix only (ownership/parallelism T-38B → orphans) Per Runtime/TestClaim Mgr decision (royal-gull-451): the lens_ownership and lens_parallelism T-38B wiring lands via the orphan PRs #4264 (royal-otter, ci.dag corpus path) and #4266 (proud-koi), which were in-flight first and match the lens_effect #4265 integration posture. This PR's competing self-contained wiring is dropped to avoid double-authority on subject_roster.dag / data_dependency.dag. What remains is the one genuinely-additive, non-overlapping fix surfaced during the audit: EXPECTED_HAND_AUTHORED_TEST listed v4_emit_host_harness_test before v4_emit_host_eval_dispatch_test, violating the strict ASCII-ascending invariant enforced by sg0_expected_list_is_sorted_and_unique (latent red on main). Reorders the two entries; no census membership change. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ner contract (#4301) * RR-I Class 1 worksheet — dependency-lens closure posture + corpus-runner contract I.1: ratify single-ClassifiedDependencyView<C> closure contract for the four dependency-runtime lens families (parallelism/effect/ownership/idempotency) landed post-#4264/#4292 — honest unresolved arms, no parallel roster fields, no second classification authority. NON-GOALS: Complexity/Cost/TableDecisionTree registry migration; bulk #3468 scaffold dissolution. I.1.1 (adhoc-8b1709c7-7c0) executes UnknownCoupling collapse against §2 contract / §4 R1–R4. I.3 (design-only): corpus-runner contract for testclaim_corpus_runner.dag two unsupported subject families (ci_pipeline, non_runtime_value) — root-caused as domain mismatch vs run_test_claim's monomorphic (Node, RuntimeValue), promoted only via projection-into-(Node,RuntimeValue) or an escalated parametric-evaluator L2.5 PR; never a per-family run_test_claim fork. §5.0.2 CI-needs predicate gates eval_parallel (p95>15m OR shadow>5m OR queue>3d); no runtime lands here. Mirrors RR-A #4296 format; §8 READY-FOR-WORKER-DISPATCH. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * RR-I review fixes (#4301): live-tree accuracy — 5-row roster + IdempotencyVerdict variants codex REQUEST_CHANGES: two landed-tree survey errors. - manual_corpus_roster is FIVE rows (header :3 "five rows"; 5 entries :25), not 4. Corrected all "4-row wedge" cites (carried from RR-A #4296) to 5-row. - IdempotencyVerdict has only AlgebraicIdempotenceProven { law } | RequiresAlgebraWitness (idempotency.dag:42). The Holds/Violates { diagnostic } pair lives on the inner law Witness, not on IdempotencyVerdict — corrected §2 table. Docs-only; no substrate touched. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * WIP: RR-I worksheet (Class 1) — I.1 T-13 lens closure + I.3 corpus runner con --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Summary
Adds the T-38B
lens_ownershipfamily receipt: a subject roster for the resource-dependency ownership claim, a workflow evaluator that maps that roster throughrun_test_claim, and CI model wiring for the family command/frontier.This keeps the ownership family visible as a structured TestClaimRun surface instead of a loose source-shape check.
Test plan
python3 scripts/check_t38b_lens_ownership.py— passedpython3 scripts/test_check_t38b_lens_ownership.py— passedpython3 scripts/check_t19_testgen_activation.py— passedctrl-build -- cargo test -p v3-compiler --test integration v4_workflow_ci_runner -- --quiet— passed, 39 testsctrl-build -- cargo test -p v2-compiler-tests v4_workflow_ci_runner -- --quiet— built successfully but matched 0 tests; reran the correctv3-compiler --test integrationcommand above