origin probe: compare atom Symbols, not host text into v2.std.text String (main red: #12512 text wall) - #13115
Merged
Conversation
… v2.std.text String The two string_eq(symbol_lexeme(..), <v2.std.text String>) sites refused under the #12512 text wall (pre-existing on main; the Bool-import edit put this file under the floor's changed-file judgment). node_contains_atom_text had no callers and is deleted. decl_contains_atom takes the atom as a Symbol and compares identities with symbol_eq; its one caller interns the row the way the file's fixture already does. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
gunbai-bot Bot
pushed a commit
that referenced
this pull request
Oct 3, 2026
…types Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Main is red:
v2.lens.production_qualification_origin_proberefuses at 210:39 and 267:39 on main withtype mismatch: expected 'Node(String<Product(Char)>)', got 'Primitive(String)'. That refusal stops every floor run that prepares the module.Cause
Both sites are
string_eq(a: symbol_lexeme(sym), b: <v2.std.text String>). Host text crosses into the structuralStringwith no unfold, and the #12512 text wall refuses that crossing.Fix
The fix compares atom identities instead of unfolding host text, so the file no longer crosses text at all. This PR is only that one file, the same fix already reviewed inside #12583 (wise-dove-693 approved the approach).
node_contains_atom_texthad no callers and is deleted. The floor's whole-corpus resolution on De-fork Bool: v2.std.logic Bool retired, std.types Bool the single declaration (replacement migration) #12583 is the evidence for this, not grep.decl_contains_atomtakes the atom as aSymboland compares withsymbol_eq. Its one caller passessymbol_intern_lexeme(lexeme: direct_rust_door_inferred_tree_atom), the same spelling this file already uses to build that atom in its fixture.Evidence: verdict unchanged
All 13 probe witnesses ran under
claim_batchon BuildBuddy. Verdicts are identical between main before #12512 (b9cc71cf, thestring_eqbody) and the fixed body (#12583 headb165884f):witness_structural_fixture_module_reached_by_symbol_referencewitness_planted_fixture_origin_count_matches_oraclewitness_structural_red_control_mint_site_discoveredwitness_nested_fixture_marker_classifies_fixture_originwitness_unknown_origin_red_control_refuses_admissionwitness_parameter_borne_fixture_mint_classifies_unknown_originwitness_target_without_fixture_tree_classifies_unknown_originwitness_planted_fixture_origin_refuses_production_admissionlong/:witness_production_qualification_origin_probe_admission_holdsand four…_reds. None of them changed.decl_contains_atomis exercised in both polarities throughderived_sites_for_decl, thendecl_origin_from_structure, thendecl_has_fixture_marker:FixtureDerived:planted_fixture_origin_count_matches_oracle,structural_red_control_mint_site_discovered,nested_fixture_marker_classifies_fixture_origin,planted_fixture_origin_refuses_production_admission.UnknownOrigin:unknown_origin_red_control_refuses_admission,parameter_borne_fixture_mint_classifies_unknown_origin,target_without_fixture_tree_classifies_unknown_origin.So
symbol_eqon interned atoms agrees withstring_eqon their lexemes in both directions.No stage0 mirror is involved, because this is a v2 lens module.
🤖 Generated with Claude Code