Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ data caret_symbol_has_no_lowered_form: RecurringFailureMode = RecurringFailureMo
"THE BELOW-FLOOR INSTANCE, OBSERVED ON main b1b7aea9aa7: `v2.std.compilers.target_model` `ordering_predicate_from_wire_symbol` -- `if id == ^ordering_predicate_is_less {..} else if id == ^ordering_predicate_is_less_or_equal {..}` -- normalizes ACCEPTED, and its normalized tree carries `^dag_token_caret` and neither `^ordering_predicate_is_less` nor `^ordering_predicate_is_less_or_equal`: both conditions lowered to `id == ^`, so two different caret symbols became one node. Bare-operand bodies (`v2.std.grammar` `formal_binding_is_free_name_slot`, `formal_binding_is_lexeme_stamp_slot`; `v2.std.compilers.target_model` `target_model_bundle_core_keep_edge`) still refuse at normalize as `operator_operand_unread`. Measured by a seed-interpreted probe of tokenize -> parse -> normalize (branch probe/snappy-swift-136-mq1-caret @ 2349f5371d4). `v2.compiler.reference_conservation` did not report the drop (gunbc.recurring_failure_mode reference_conservation_population_omits_class_stamped_terminals).",
"REFUSED, ONE CAUSE, AT THE CARET (MQ-1 PR-1): `v2.compiler.body_lowering_fold` `body_lower_primary_expr`'s first-atom fallback refuses the caret shape as `body_lowering_reason_caret_symbol_not_lowered`, anchored at the `^` token, so the ten silently-dropping value positions and the bare operand refuse with one cause, pinned by `v2.test.claim.body_lowering.caret_symbol_value_refusal`. The rung on every route is now mitigated (a located refusal); the symbol-literal lowering is the climb.",
"RUNG FOUND AT: mitigated (a located refusal) on the operator route; below the floor on the value route. CEILING: structurally guaranteed -- a caret symbol lowers to a symbol-literal value the resolver does not read as a reference, or refuses. NEXT-RUNG TRIGGER, NAMING THE CAPABILITY: v2 body lowering has a lowered form for a caret symbol on every route, distinct from a reference, so no route answers it with its `^` token and no route refuses it as unread.",
"HANDED TO THE MQ-1 SYMBOL-LITERAL SLICE, NOT BUILT IN XL-2 (2026-09-29, sharp-carp-336, ruled by quiet-seal-543). For XL-2 the located refusal is sufficient: a caret is a literal, not a reference the namespace cut can break. Three findings bound the climb. (1) THE NAME TEXT IS NOT IN THE TREE, BY DESIGN: `v2.extdeps.languages.dag` `dag_grammar_caret_symbol_expr` class-stamps the name (`dag_grammar_ident_or_type_decl_modifier_generic_ident_identity`), so every caret literal publishes the generic `^dag_token_ident`. `v2.lens.identity_captured_navigation.analyze` `node_source_symbol_note` states that as a universal property and recovers the text out of band through the span index. The lowering must first stamp that site with its lexeme and rewrite that note. (2) THE TARGET IS THE EXISTING AUTHORITY: `std.syntax` `LitSymbol`, as `v2.workflow.compile_door_cause_ownership`'s caret row states; a new literal form beside it would be a second authority. (3) TYPING IT `Symbol` IS STEP (a) OF `gunbc.symbol_identity_census` `symbol_nominality_next_rung_trigger`, not a separate decision; v2 infer also has no `Symbol` or `String` row in `dag_binding_denotation`, so a declared `-> Symbol` is not checked today. CORRECTION TO THE RECEIPTS ABOVE, MEASURED ON MAIN 88436e585c3: a caret in value position, as a statement-let value and as an operator operand refuses `body_lowering_reason_caret_symbol_not_lowered`, but as the value of an `in`-form let (`let x = ^s in b`) it was ACCEPTED with the caret dropped, because `body_lower_try_let_in_from_captured` reads that value through `body_lower_arm_operand_resolved_optional`. That instance belongs to the first-match readers' consolidation (XL-2 PR-2, bright-boar-848), which reads the let-in value through the one value reader and carries it as a discriminating control.",
],

evidence: [
Expand Down