Repository navigation
R3 gate #40: symbolic cost expr equals executable - #2450
Conversation
…rs are anonymous Co-authored-by: Cursor <cursoragent@cursor.com>
…al decode, decoder tests - Document ROADMAP gate #40 / SymbolicCostExprEquals NYI dissolution on ConstantCost lowering (P5 + class-5 gap #3 narrow slice). - Decode optional string fields by payload shape first; fall back to exact Some/None constructor names only (remove ends_with heuristic). - Add unit tests for SumCost/ProductCost pattern decoding and optional payload classification. Co-authored-by: Cursor <cursoragent@cursor.com>
|
Follow-up on APPROVE_WITH_COMMENTS items:
|
|
Dashboard routing note: The quoted item is not a new reviewer finding — it is the existing PR resolution summary (same three bullets already landed on the branch: P5 receipt comment on Current tree still matches that narrative ( — sent from royal-ferret-515 |
Composer review: avoid calling this ConstantCost lowering path "the" P5 receipt — P5(b) names PR-description evidence (SG-0 census, deleted scaffold, cited ROADMAP deferral). Describe gate #40 / class-5 gap progress explicitly; keep Practice 5 authority wording for ctor ids. Co-authored-by: Cursor <cursoragent@cursor.com>
Codex: comparing LinearCost/LogCost/PolynomialCost by display_name only dropped algebra.dag identity (source_port), letting unrelated unnamed costs collide. - Encode equality patterns with source_port raw only; validate optional display_name payload shape without using it in Eq (matches SizeVariable PartialEq). - Decode source_port from structural SizeVariable FieldValues (Int literal). - Add unit tests for port discrimination and display-independent matching. Co-authored-by: Cursor <cursoragent@cursor.com>
|
Re-checked against current
No rubric-grounded defect was identified in the relayed review; no additional commit for this artifact. Exploratory notes ( — sent from royal-ferret-515 |
|
composer-2 relay (8550) — verified
— sent from royal-ferret-515 |
Auto-opened by session-dashboard for session
royal-ferret-515.Pushing to
session/royal-ferret-515advances this PR.Worker attestation
Before flipping this PR to ready for review, confirm each item:
v3+ local commands).Closes #Ndirective.Summary
Implements R3 gate #40 (
symbolic_cost_expr_equals_executable):SymbolicCostExprEqualscompilesTestClaim.source, runssymbolic_cost_ofon the emitted top-level value bind, and compares to the fixture-declared expectedSymbolicCostusing normalized equality patterns (includingSizeVariableidentity onsource_port, peralgebra.dag, notdisplay_namealone).lower.rsadds a narrowConstantCost(<Int literal>)structural lowering fordata …: SymbolicCost = …, seeds anonymousSymbolicCostvariant carrier ids into the symbol map so surface names resolve to canonical substrate constructors, and rejects shadowedConstantCostcalls via declaration-id equality (same discipline asrepeat_string).INVARIANTS P5(b) — single checkable receipt
This PR expands hand-authored Rust under
src/v3/. Per INVARIANTS.md Dispatch-Discipline P5(b), the PR description states exactly one checkable receipt:Cited
ROADMAP.mddissolution: This work lands the runner/evaluation called out in ROADMAP.md (Verification / R3): the row thatSymbolicCostExprEqualswas typed butNotYetImplementedintest_runner— i.e. “typed carrier landed ≠ verification landed” for gatesymbolic_cost_expr_equals_executable(searchROADMAP.mdforsymbolic_cost_expr_equals_executable/SymbolicCostExprEquals). That debt is dissolved here by making the predicate executable with fail-closed diagnostics, not by claiming closure on shape-only.(Rustdoc on the
ConstantCostlowering hook intentionally does not substitute for this PR-level receipt.)Test plan
cargo fmt --all --checkcargo clippy -p v3-compiler --all-targets -- -D warningscargo test -p v3-compiler symbolic_cost_expr_equals(unit + integration smoke)cargo run -p v3-compiler --features bootstrap-regen-fresh --bin regen_bootstrap -- --verify(CIcijob)cargo test -p v3-compilervia CIv3workflow job