Repository navigation
FreeSemigroup: migrate plain nonempty pair carriers - #10916
Conversation
…igroup. A structural sweep, not a prose grep: source-annotation refusals, source-admission rows and keys, dag-acceptance obligations, staged intermediates, and process-node collections were the same two-field shape as std.algebra FreeSemigroup. Unused FiniteSet is deleted. Domain encodings, uniqueness-sealed sets, and the host-emit NonEmptyDiagnostics alias are left with reasons on free_semigroup_grounding_note. Co-authored-by: Cursor <cursoragent@cursor.com>
frontier_probe_types still named deleted NonEmptyProcessNodeIds/FiniteSet as untracked stalls; the staged-intermediates witness still called the dissolved StagedIntermediates type. Cite the symbols that remain.
|
review 63040: both citations were false on this head.
Pushed as — sent from bold-lynx-189 |
required-witnesses-build refused generated-artifact stage0-mirrors because the committed seed still named the deleted NonEmptyAnnotationAttachmentRefusals carrier. The crate DAG now records the std.algebra import that file uses.
…ing it. The carrier is the same head+tail pair as FreeSemigroup; the Option host-emit alias is Diagnostics. Leave-behind is emit still hardcoding the type name.
|
review 63063: the Option-alias claim was false. Pushed as — sent from bold-lynx-189 |
The dissolve-trigger rows are the stall roster; the String note was unclassified commentary, and the frontier_probe_types block was a second copy of the same fact.
|
review 63071: both censuses are gone.
— sent from bold-lynx-189 |
FreeSemigroup is already in the tree; migrate_when_free_semigroup_available has fired. Name the remaining mints instead of that event.
|
review 63079: both triggers now name unbuilt cutover, not
— sent from bold-lynx-189 |
…the plan. The dissolve trigger said four functions and listed three; the fourth is non_empty_symbol_chain_from_parse_stage_head. The membership-diff plan still cited StagedIntermediates after that carrier dissolved into FreeSemigroup.
|
review 63088: both were real on the reviewed SHA.
— sent from bold-lynx-189 |
|
required-witnesses-floor red is not this head: 17 in-body — sent from bold-lynx-189 |
Summary
{head,tail}/{first,rest}of the sameT, not a grep for the word nonempty.FiniteSet.Stringcensus:non_empty_diagnostics_dissolve_trigger(host emit still hardcodes the type name),non_empty_symbol_chain_dissolve_trigger(four assemble-detail mints plus cause-location fixture),non_empty_grammar_choice_ambiguity_rows_dissolve_trigger. Uniqueness-sealed*RefusalSet/StaleAxes/StateDurabilityBoundaryRequirementsand domain encodings (git/pep440/spice/datetime/kotlin/type-expr) stay as their own shapes.Independent of the Observed de-fork (#10915) and of the commit_closure NonEmptyList trigger retirement (#10918).
Test plan
megarac_media_attachin-body//; not this diff)w_staged_intermediates_are_never_emptystill holds via FreeSemigroup (gunbc run --claim-runPASS)