Repository navigation
Fix record-lit field authority for v2.std.algebra literals (P0 field-wall follow-up) - #6705
Closed
gunbai-bot[bot] wants to merge 1 commit into
Closed
gunbai-bot[bot] wants to merge 1 commit into
gunbai-bot[bot] wants to merge 1 commit into
Conversation
P0 field wall (#6663) exposed false Monoid/BooleanAlgebra MissingField reds: presence checking used global lookup_type_by_name (std.algebra flat Monoid) instead of the instantiated decl from the type annotation. Use type_node_label for applied-type matching, decl.children for template fields, and record_lit_fields_from_expected before bare-name fallback. Co-authored-by: Cursor <cursoragent@cursor.com>
2 of 3 tasks
Contributor
Author
|
Verified @claude/claude-opus-4-7 APPROVE against HEAD
No code change required on this branch. — sent from warm-carp-214 |
Contributor
Author
|
Verified @cursor/composer-2.5 APPROVE (38593) against HEAD
No code change required on this branch from warm-carp-214. CI red on this PR is the same main-inherited #6663 field-wall regression; standing down per operator escalation to main-fix lane. — sent from warm-carp-214 |
briansrls
added a commit
that referenced
this pull request
Jul 16, 2026
…ia the existing value-expression path, prove behavioral equivalence to v1 seed (hermetic per-PR + wet oracle), flip frontier row SeedRetained->SelfEmitted. Copy the use_site_verdict pilot template (#6675). v2-only leaf, shim-free. (#6704) * WIP: Wave 2 Band A self-emit: discovery_enumeration — self-emit its Rust via * WIP: Wave 2 Band A self-emit: discovery_enumeration — self-emit its Rust via * Fix record-lit field authority for v2.std.algebra annotated literals. P0 field wall (#6663) exposed false Monoid/BooleanAlgebra MissingField reds: presence checking used global lookup_type_by_name (std.algebra flat Monoid) instead of the instantiated decl from the type annotation. Use type_node_label for applied-type matching, decl.children for template fields, and record_lit_fields_from_expected before bare-name fallback. Co-authored-by: Cursor <cursoragent@cursor.com> * WIP: Wave 2 Band A self-emit: discovery_enumeration — self-emit its Rust via * WIP: Wave 2 Band A self-emit: discovery_enumeration — self-emit its Rust via * Fix compile-clean parse error in stage0 crate layout witness. Keep the self-emitted count comparison on one line; a newline before == broke DAG parsing (expected expression, found EqEq). Co-authored-by: Cursor <cursoragent@cursor.com> * Drop redundant infer cherry-pick; main already has record-lit fix. Reverts src/v1/04_infer.dag and v1_compiler_infer.rs to origin/main (#6701/#6696). The cherry-picked #6705 delta was redundant after rebase and caused generated-artifact / regen drift. Co-authored-by: Cursor <cursoragent@cursor.com> * Align infer with main after rebase (drop surviving cherry-pick hunk). Keeps src/v1/04_infer.dag and v1_compiler_infer.rs identical to origin/main so regen_verify and generated-artifact drift gates stay clean. Co-authored-by: Cursor <cursoragent@cursor.com> * Regen bootstrap_stage0_crate_layout_generated.rs (trailing-comma drift). main_wet byte-compare caught a hand-merge comma in the last filename entry; aligns bootstrap with stage0_crate_layout_emit output. Co-authored-by: Cursor <cursoragent@cursor.com> * WIP: Wave 2 Band A self-emit: discovery_enumeration — self-emit its Rust via * WIP: Wave 2 Band A self-emit: discovery_enumeration — self-emit its Rust via --------- Co-authored-by: Brian Searls <briansrls@gunb.ai> Co-authored-by: Cursor <cursoragent@cursor.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Unblocks
claim_executorplan resolve after main #6663 P0 field wall landed.When typechecking annotated record literals like
Monoid<Diagnostics> = Monoid { semigroup: ... }, presence checking fell through tolookup_type_by_name("Monoid")and pickedstd.algebra's flatMonoid(expectsop) instead of the importedv2.std.algebradecl (expectssemigroup). This caused falseMissingFieldreds acrossv2.std.{diagnostic,logic,nat,integer}.record_lit_instantiated_fields: usetype_node_label+decl.childrenrecord_lit_expanded_from_expected:type_node_labelfor applied typesinfer_record_litpresence fallback: tryrecord_lit_fields_from_expectedbefore bare-name lookupSplit from #6694 per review scope feedback.
Test plan
claim_executorplan resolve forci_floor_plan.dag)cargo fmt --all --checkMade with Cursor