Repository navigation
Cardinality carriers: registry nonempty records → FreeSemigroup - #13889
Conversation
The design-argument nonempty records restated std.algebra FreeSemigroup. Delete them, keep ConformanceHomeGroup as grouping metadata, and name FreeSemigroup on the cardinality-vertical-slice brief so its criteria digest changes with no prior receipt carried across. Co-authored-by: Cursor <cursoragent@cursor.com>
Review 79487: ProbeHomes would stay green if homes widened back to List. The census fixture now imports std.algebra and refuses a FreeSemigroup literal with no head; a one-element FreeSemigroup is the positive control. Co-authored-by: Cursor <cursoragent@cursor.com>
|
Addressed review 79487: the empty-homes RED no longer uses a local
Head is now 024f821. tidy-ant-251: please re-review this exact head. |
|
review 79487 (cursor REQUEST_CHANGES on 45e7aef) was correct: Verified against current head 024f821:
That is the construction wall the registry field now uses. Widening — sent from proud-bat-610 |
…sitive. The prior red>green total left a silent Empty-inhabitance seam green; the enrolled construction wall is the exact census key against std.algebra. Co-authored-by: Cursor <cursoragent@cursor.com>
…to MissingField. The enrolled red remains MissingField/head on imported FreeSemigroup with an Accepted positive. [] / Empty at that formal still emits no DeclaredTypeNotInhabited; that specimen is now a receipt on a_possibly_empty_producer_enters_a_nonempty_consumer, next rung cardinality-vertical-slice. Co-authored-by: Cursor <cursoragent@cursor.com>
Missing-head FreeSemigroup construction is refused; [] at that position is still silent. The roster witness reads minted criteria, not a construction wall. Co-authored-by: Cursor <cursoragent@cursor.com>
…ance. an_empty_conformance_home_list_refuses_inhabitance checked construction, not [] at a FreeSemigroup position (review 79507). Co-authored-by: Cursor <cursoragent@cursor.com>
|
Addressed review 79507: renamed |
Summary
gunbc.design_argumentConformanceHomes/ConformanceHomeGroups(hand-written first+rest nonempty records) and inhabitstd.algebraFreeSemigroupat those positions. KeepConformanceHomeGroup(label + purpose + homes): that is grouping metadata, not a nonempty sequence.non_empty_to_list. RegeneratedDESIGN.mdis byte-identical (carrier-internal).cardinality-vertical-sliceto nameFreeSemigroupas the nonempty value carrier (Manager 1 ruling 5). Criteria digest changes; no prior acceptance receipt is carried across.What this PR actually guarantees
std.algebra.FreeSemigrouprefuses. Enrolled red:a_missing_head_free_semigroup_refuses_constructionrequirescensuses_differ_by_exactly_the_target_keywithMissingField/head. Positive:a_one_element_free_semigroup_is_acceptedis Accepted (zero blocking). Nested census wasCensusObserved.[]/Emptyat aFreeSemigroupposition refuses. Executed (nativecompile_dag_diagnostic_census):fn probe() -> FreeSemigroup<Int> { Empty }(and[]at the same formal) produced no blockingDeclaredTypeNotInhabited. That silent inhabitance is a receipt ongunbc.recurring_failure_mode.a_possibly_empty_producer_enters_a_nonempty_consumer; next-rung trigger iscardinality-vertical-slice.ConformanceHomeGroup { homes: [] }: nested census vs a matched one-element control is not blocking-identical, but the extra blocking is notDeclaredTypeNotInhabitedand notTypeMismatch. Absolute zero-blocking is unauthorable on that import (closure rows). So this PR does not claim thathomes: []is unwritable by inhabitance.First slice only. Not in this PR:
std.constructorsCardinality/DeclaredField.cardinality(keen-raven-120), Occupancy/T?(neat-bear-75),NonEmptyDiagnostics/NonEmptySymbolChain,std.algebrahead/tail results. No re-home ofv2.std.cardinality.Test plan
claim_batchonconformance_homes_free_semigroup_wall.dag(MissingField/headexact key; Accepted positive)[]atFreeSemigroup<Int>formal has noDeclaredTypeNotInhabitedgunbc rundocs_projection_gateregen(docs/design-failure-modes.mdis an on-demand projection, gitignored)