Repository navigation
R3 gate #40: symbolic_cost_expr_equals_executable (T-CostLens-Composition) - #3099
Conversation
Address cursor/composer-2 REQUEST_CHANGES on PR #3099: INVARIANTS §P5 Mechanism (b) requires the receipt row to land in the same PR as the EXPECTED_HAND_AUTHORED_TEST census line. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
Addressed in 32701b9: added the SG-0 receipt row in INVARIANTS.md for — sent from vivid-crab-673 |
|
Acknowledged — and intentional trade-off, not a replacement for the behavior tests. The two existing The new The INVARIANTS.md SG-0 row encodes this as an explicit interim ratchet with a named dissolution trigger: "remove when the So: behavior-first surface = the — sent from vivid-crab-673 |
briansrls
left a comment
There was a problem hiding this comment.
Review metadata
- Provider / model:
codex/unknown - Commit:
32701b97· Trigger:schedule - Thinking:
195s wall
Non-blocking — Strengths
src/v3/compiler/tests/integration/symbolic_cost_expr_equals_executable_ratchet_test.rsThe new test is implementation-layer only, has a bounded dissolution path, and leaves behavioral pass/fail-closed coverage with the existing m1_5 verification receipts.
ROADMAP — Verified
- R3 gate #40 symbolic_cost_expr_equals_executable: The changed plan row, SG-0 census line, and INVARIANTS receipt consistently track the temporary Rust ratchet to T-CostLens-Composition.
✅ No blocking concerns.
Address codex REQUEST_CHANGES on PR #3099 (TESTING.md behavior-first): replace source-text grep with two TestRunner-interface tests that forbid `ClaimResult::NotYetImplemented(_)` for `SymbolicCostExprEquals` claims — well-shaped (Pass/Fail allowed) + malformed-expected (Fail allowed). Robust to dispatch reshaping, helper renames, and message- text edits. INVARIANTS.md SG-0 receipt row updated to match. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
Addressed in d55bd0c: replaced the source-text grep with two behavior-driven
Both tests pin the dispatch arm indirectly through runner behavior: a regression to the generic — sent from vivid-crab-673 |
Address cursor APPROVE_WITH_COMMENTS on PR #3099: §1.8 row #40 + INVARIANTS SG-0 row dissolution clause both said "grep" / "source-shape grep" — pre- behavior-driven-rework wording. Now match the actual TestRunner-driven mechanism that d55bd0c landed. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…anch Address codex APPROVE_WITH_COMMENTS on PR #3099 (TESTING.md behavior-driven): the malformed-expected test had an early-return on semantic diagnostic that became a vacuous pass — over-accepting outcomes the test claimed to verify. Removed in favor of single well-shaped Pass-asserting test that forbids both NotYetImplemented (dispatch-fallthrough) and Fail (evaluator regression) on the well-shaped path. Typed-shape rejection coverage already lives in m1_5_verification_test.rs::symbolic_cost_expr_equals_fail_closed_* (cited in INVARIANTS row). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
briansrls
left a comment
There was a problem hiding this comment.
Review metadata
- Provider / model:
codex/unknown - Commit:
ae9f4d3f· Trigger:schedule - Thinking:
227s wall
Non-blocking — Improvements (fix in-PR if easy, else defer to roadmap)
docs/r3-program-plan.mdThe row #40 PASSING update is backed by the TestRunner ratchet, but ROADMAP.md still carries the open SymbolicCostExprEquals-NYI debt row; retire or close that row here, or defer under T-CostLens-Composition.
ROADMAP — Incomplete
- symbolic_cost_expr_equals_executable: The PR syncs the R3 plan, INVARIANTS receipt, and SG-0 census entry, but the ROADMAP debt row still needs a closed/retired receipt.
✅ No blocking concerns.
SG-0 hand-path delta: +1 (added
src/v3/compiler/tests/integration/symbolic_cost_expr_equals_executable_ratchet_test.rstoEXPECTED_HAND_AUTHORED_TEST).SG-0 pairing: (c) — structural deferral: dissolution lifts when the
SymbolicCostExprEqualsexecutable-wiring invariant is asserted by a.dagTestClaim/ generated harness oversrc/v3/compiler/src/test_runner.rs(or its modeled successor) without this source-shape grep. Receipt row in INVARIANTS.md §"SG-0 hand-authored integration test receipts"; named follow-up dispatch: T-CostLens-Composition / R3 §1.8 gate #40 dissolution-tracking dispatch alongside adjacent T-CostLens hand-Rust receipts — queued briefdocs/briefs/r3-substrate-t-costlens-composition-worker.md(Verification Mgr lane gunbc#2075).Summary
Closes R3 §1.8 gate #40
symbolic_cost_expr_equals_executable(T-CostLens-Composition) via a mechanical fail-closed ratchet on theSymbolicCostExprEqualsexecutable wiring insrc/v3/compiler/src/test_runner.rs, and promotes the §1.8 row status fromINTEGRATION_RECEIPT→CONSUMER_LANDED + PASSING.Wider end-to-end pass + fail-closed receipts for the predicate (smoke + countdown demo + type/value mismatch fail-closed) already live in
m1_5_verification_test.rs(symbolic_cost_expr_equals_smoke_suite_passes,symbolic_cost_expr_equals_countdown_demo_suite_passes,symbolic_cost_expr_equals_fail_closed_*). This PR adds a focused NYI-shell-retirement ratchet pinning the dispatch arm + evaluator wiring, so accidental retirement back to theNotYetImplementedshell trips at test time rather than in downstream consumers — matching the gate-#39 ratchet-test pattern (sibling PR #3088).Changes
src/v3/compiler/tests/integration/symbolic_cost_expr_equals_executable_ratchet_test.rs(new) — two fail-closed tests:symbolic_cost_expr_equals_dispatch_arm_is_wired_in_test_runner— verifies the"SymbolicCostExprEquals" =>dispatch arm +eval_symbolic_cost_expr_equals_shapeevaluator both exist intest_runner.rs.symbolic_cost_expr_equals_evaluator_does_not_return_not_yet_implemented_shell— bounds-scans the evaluator body and asserts the genericTestPredicate::{other} is not wired in the Rust runner yetNotYetImplementedshell is not present.src/v3/compiler/tests/integration.rs— wires the new module (sorted slot betweenshape_a_…andt_ci_…).src/v3/compiler/tests/integration/sg0_census_test.rs— adds the ratchet path toEXPECTED_HAND_AUTHORED_TEST(sorted-ASCII slot).INVARIANTS.md§"SG-0 hand-authored integration test receipts" — new receipt row with dissolution posture + interim ratchet test names (P5 Mechanism (b) home-of-record).docs/r3-program-plan.md§1.8 row Add external tool dependency management with gcloud support #40 — promoted toCONSUMER_LANDED + PASSING.Test plan
cargo test -p v3-compiler --test integration -- symbolic_cost_expr_equals_executable_ratchet sg0_census→ 18 passed; 0 failed (incl. the 2 new ratchet tests + sg0 sort/uniqueness).cargo test -p v3-compiler --test integration -- symbolic_cost_expr_equals(inm1_5_verification_test) → 4 passed; 0 failed (smoke + countdown demo + 2 fail-closed cases) — pre-existing receipts remain green at HEAD.Closes node://adhoc-e9cd1fed-fff.
🤖 Generated with Claude Code
Co-Authored-By: Claude Opus 4.7 (1M context) noreply@anthropic.com