Repository navigation
Rename the Connective arm Cardinality to Occupancy: one name, one meaning (re-derives #13377) - #13711
Conversation
pure_dag_seam_unreachable and its _float/_string projections leave std.bytes for the leaf std.error_primitives; all 7 importers re-pointed, std.algebra trim names the seam instead of an unnamed 1 / 0, seed mirrors name the new module. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…bove the fn) Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…cupancy re-derivation Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…8514); wire tag stays "cardinality" Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
Fixed in 077bc80 (review 78514): |
|
Head dd9d987: main merged (merge commit, no rebase). Stage0 mirrors verified at the fixed point on this tree (required-regen first_generation_equal=true, planned=169 executed=169 adjudicated=169). Drift gate: only the known provisioning/srv1/gunbc-ghrunner.sudoers. self-host and v2-native-cli exit 0.
— sent from swift-eagle-101 |
|
review 78569: approve noted. Not changing the label string at src/v2/test/claim/manual/connective_anchors.dag (empty Cardinality type-node) in this PR: it is prose beside the anchor key ManualTcCardinalityEmpty, which is a separate identifier spanning lens/testgen, std/verification and the manual anchor manifest. Renaming the label alone would split it from its key, and the key rename is a wider change that would reset the approval on this head. Left for a follow-up if wanted. — sent from swift-eagle-101 |
…r arm uses Occupancy
…y*, OccupancyWrapperMalformed, depth, inhabitance_occupancy_type, ManualTcOccupancyEmpty) The connective is Occupancy at its declaration; its readers, wrappers and manual anchors no longer name it Cardinality. src/v2/dag only, no stage0 regen. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…me infer_occupancy_type_owes_no_descent_test Comments/annotations naming the connective 'Cardinality' now say Occupancy (node_query, cardinality.dag, body_lowering_fold, tests, RFM rows, for_while plan and its docs projection); body_lower_type_wrap_occupancy, occupancy_over, stub_empty_occupancy follow. Module path infer_cardinality_type_owes_no_descent_test -> infer_occupancy_type_owes_no_descent_test (no other reference). Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…peExprOccupancy, occupancy_form, rust/ts surface symbols) TargetTypeExprCardinality, cardinality_form, target_type_expr_cardinality_emitted, ^rust_surface_type_cardinality, ^ts_surface_type_cardinality and the ^target_type_expr_field_cardinality edge label all named the Occupancy connective's target realization; they are compiler-internal (encoded and decoded in target_model). The canonical_tag_cardinality hash/wire tag stays. Mirrors regenerated to the fixed point (no generated bytes changed); drift gate clean. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Re-derives closed #13377 on current main. The old head is history, not a base. It was stacked on #13686 (the bottom seam), which has since landed, so this PR is now based on main directly. The final head is
b1ffb886de67723c6143971af49ec400d0a0ecbc. It contains main through982222d989b, and the later main commits (#13726, #13723) share no files with it. 92 files change.Root
Cardinalitynamed two things in one flat constructor namespace:v2.std.node, the occupancy axis of a type;type Cardinality = Required | Optionalinstd.constructors.Qualifying
Cardinality/Optionalat v2 lens call sites (#13377) patched the symptom link and made the ambiguity worse. Here the Connective arm is renamedCardinality->Occupancyat its declaration (DESIGN §3 meaning fork: one name, one meaning), and every consumer moves in the same change:^Occupancy), and census labels;TypeNodeOccupancy/TypeNodeOccupancyRead,type_node_occupancy_read,wrap_type_node_occupancy,OccupancyWrapperMalformed, and the fieldcard->depth;inhabitance_occupancy_type;v2.lens.testgenManualTcOccupancyEmptyand its gen id, which nothing outside reads;target_model:TargetTypeExprOccupancy,occupancy_form,target_type_expr_occupancy_emitted,^rust_surface_type_occupancy,^ts_surface_type_occupancy,^target_type_expr_field_occupancy;infer_occupancy_type_owes_no_descent_test;docs/plans/for-while-loop-sugar.mdprojection.Kept on purpose, as wire/hash protocol, not a second semantic authority:
^canonical_tag_cardinality: it is a content-hash input inv2.std.nodeandaffected_set, and renaming it would change every node hash."cardinality", with digestdbe6cb930047e16f.Both encode the existing node identity and decode into
Occupancy. Every remainingcardinalityspelling insrc/v2anddag/is classified as one of:std.constructorsRequired/Optional enum concept;v2.std.cardinalitytermination;Not carried over
The call-site qualification of #13377. With one meaning per name there is nothing to disambiguate.
Frontier, recorded and not fixed here
v2 resolve still admits a variant arm spelled like a visible type name. That is a broader resolver gap, recorded as
gunbc.recurring_failure_modevariant_arm_position_admits_a_type_name(FOUND AT: mitigatable), withunique_type_spelling_still_resolvesas its discriminating claim.Evidence (final head)
--required-regenat the final tree reportsfirst_generation_equal=truewith 169 planned, 169 executed and 169 adjudicated; zero generated bytes change outsidesrc/v2.run_generated_artifact_drift_gate) on the final tree is clean, RC 0.^Occupancydiscriminating red), infer_occupancy_type_owes_no_descent 1/1, runtime_axis 6/6, and variant_field_lowering in full.982222d989btoo, so not caused by this PR:ts_sg2_conj_projected_serialize_matches_expected,ts_sg2_conj_projection_matches_goldenandmodule_member_emissiona_where_refinement_emits_its_transparent_alias_on_the_production_route_holds. Three v2 infer reds are routed to a separate fix lane.witnessescheck passes on this exact head (run 38132628230): self-host and v2-native-cli.🤖 Generated with Claude Code