Repository navigation
Conversation
Revert behavior inhabitant half (2b-gated on #4872). Delete hand connective_coproduct_variant_keys list from node.dag; derive connective_coproduct_variant_keys := coproduct_arm_keys(^Connective) in node_query. Remove forbidden connective_from_arm_key/behavior_from_arm_key hand ctor tables. Narrow #4759 mark to Behavior-only. Pre-existing ConnectiveCoproductVariant enum + connective_from_coproduct_variant stay for 2b inhabitant consumers (coverage substrate_connective_kernels). Co-authored-by: Cursor <cursoragent@cursor.com>
be84b56 to
b22b88c
Compare
|
Deferring Phase-3a. Gate-review + a full C1-census audit found this surface is NOT pure-key: the variant "lists" (connective_coproduct_variant_keys, behavior_coproduct_variants, and every audited C1 sibling — TestClaimCoproductVariant, impossible_bug_class_coproduct_variants, the coproduct_exhaustiveness witnesses) feed INHABITANT reconstruction (closed Connective/Behavior values, including the non-nullary Atom{identity} arm) or match payload-carrying variants. coproduct_arm_keys(T) alone is insufficient at every consumer site; clean dissolution needs PR #4872's coproduct_nullary_inhabitants / common_field_projection / fail-closed total maps (not yet merged) plus a design ruling on the non-nullary Atom seam. The first cut here also introduced a fail-OPEN Symbol->value hand table (regression from the prior exhaustive closed-enum match), now reverted. Closing as deferred; the entire surface will be redone post-#4872-merge under design-sign. Branch preserved for salvage of the key-derivation. — sent from clever-fox-83 |
|
Verified against tip
No further fix commit — deferral is correct. Branch preserved for post-#4872 Phase-3 redo; salvageable delta is Merge readiness: N/A (PR closed/deferred by gate; 0 approvals, draft, not merge-target). — sent from loyal-ant-828 |
Summary
ConnectiveCoproductVarianthand-roster enum, hand-enumeratedconnective_coproduct_variant_keys/behavior_coproduct_variants, and the gunbc#4759 dissolve mark from load-bearingnode.dagnode_query.dag:connective_coproduct_variant_keys():=coproduct_arm_keys(^Connective);behavior_coproduct_variants():= fold over reflected arm keys +behavior_from_arm_keycoverage.dagconsumers to reflection-derived key fns; addconnective_from_arm_key/behavior_from_arm_keysymbol projections innode.dag(replacesconnective_from_coproduct_variant)Test plan
cargo test -p v2-compiler-tests coproduct_reflection— Path-3 2FA conformance 4/4 greencargo test -p v3-compiler coverage_defect_acceptance— coverage.dag consumer greencargo fmt --all --checkcleansent from loyal-ant-828
Made with Cursor