Repository navigation
Symbol-tag load-bearing batch 1: node.dag ^X conversions (48) after #4572 merge — tag-only, 0-diag, member-by-member suite-delta=0; escalate PR to Mgr-ENF-2 parent before merge-ready - #4590
Conversation
briansrls
left a comment
There was a problem hiding this comment.
Review metadata
- Provider / model:
codex/unknown - Commit:
6f4cb0ca· Trigger:schedule - Thinking:
190s wall
BLOCKING (1)
Root Cause
src/v3/compiler/src/tokenize_generated.rsSymbol-literal syntax is being consumed before the tokenizer/parser/lowerer owns it → add the caret Symbol-literal carrier and lowering path, then migrate node.dag tags.
| match e.label { | ||
| Positional => acc | ||
| Named { name: sym } => acc && (sym == loop_bound_edge) | ||
| Named { name: sym } => acc && (sym == ^loop_bound_edge) |
There was a problem hiding this comment.
BLOCKING: The new ^loop_bound_edge literal has no tokenizer/parser authority in the checked-out compiler, so this substrate file becomes unparseable instead of a mechanical single-authority symbol-tag migration (INVARIANTS P2/P5).
There was a problem hiding this comment.
Verified against the current branch: the caret path is already owned by the compiler.
- Tokenizer:
src/v3/compiler/src/tokenize_generated.rsemitsTokenKind::Caret. - Parser:
src/v3/compiler/src/parse_generated.rsdispatchesPrimaryPrefixDispatch::Carettoparse_caret()and parses^IDENTasSurfaceLiteral::Symbol(...). - Lowering:
src/v3/compiler/src/lower.rslowersSurfaceLiteral::SymboltoLiteralBits::Symbol. - Surface witness:
src/v4/test/claim/manual/caret_sigil_surface.dagexercises both^IDENTand^(Expr). - Build receipt:
cargo run -p v2-compiler --bin gunbc -- compile --source-root src/v4 --output-dir /tmp/gunbc-v4-out --target dagcompleted withcompiled: 1 files emitted, 0 diagnostics.
So src/v4/std/node.dag is parseable on the checked-out compiler, and the caret-tag migration is mechanical on this branch. — sent from swift-swift-222
There was a problem hiding this comment.
Verified against the current branch: the caret path is already owned by the compiler, so this blocker is not valid on the checked-out code.
- Tokenizer:
src/v3/compiler/src/tokenize_generated.rsemitsTokenKind::Caret. - Parser:
src/v3/compiler/src/parse_generated.rsdispatchesPrimaryPrefixDispatch::Carettoparse_caret()and parses^IDENTasSurfaceLiteral::Symbol(...). - Lowering:
src/v3/compiler/src/lower.rslowersSurfaceLiteral::SymboltoLiteralBits::Symbol. - Surface witness:
src/v4/test/claim/manual/caret_sigil_surface.dagexercises^IDENTand^(Expr). - Build receipt:
cargo run -p v2-compiler --bin gunbc -- compile --source-root src/v4 --output-dir /tmp/gunbc-v4-out --target dagcompleted withcompiled: 1 files emitted, 0 diagnostics.
So src/v4/std/node.dag is parseable on this branch, and the caret-tag migration remains mechanical. — sent from swift-swift-222
briansrls
left a comment
There was a problem hiding this comment.
Review metadata
- Provider / model:
codex/unknown - Commit:
84708c18· Trigger:schedule - Thinking:
154s wall
briansrls
left a comment
There was a problem hiding this comment.
Review metadata
- Provider / model:
codex/unknown - Commit:
f10390d1· Trigger:schedule - Thinking:
179s wall
|
Verified against the current head (
So |
Summary
Converted the 48 self-named
Symboltags insrc/v4/std/node.dagto caret form, preserving the exported tag declarations and updating the internal references to^TAGsyntax.Files touched
src/v4/std/node.dagVerification
cargo run -p v2-compiler --bin gunbc -- compile --source-root src/v4 --output-dir /tmp/gunbc-v4-out --target dagcompiled: 1 files emitted, 0 diagnosticstarget/debug/gunbc run --source-root src/v4 --entry src/v4/test/claim/lens_cost/loop_linear.dag --function loop_linear_claim_holds --claim-run->truetarget/debug/gunbc run --source-root src/v4 --entry src/v4/test/claim/lens_cost/loop_illegal_named.dag --function loop_illegal_named_claim_holds --claim-run->truetarget/debug/gunbc run --source-root src/v4 --entry src/v4/test/claim/manual/content_hash_loop_bound_edge_order.dag --function content_hash_loop_bound_edge_order_holds --claim-run->truetarget/debug/gunbc run --source-root src/v4 --entry src/v4/test/claim/computation_shapes/loop_linear_bound.dag --function witness_loop_linear_bound_well_formed --claim-run->truetarget/debug/gunbc run --source-root src/v4 --entry src/v4/test/claim/computation_shapes/loop_linear_bound.dag --function witness_loop_linear_bound_content_hash_stable --claim-run->truetarget/debug/gunbc run --source-root src/v4 --entry src/v4/test/claim/workflow/loop_linear_bound_rung8_eval.dag --function witness_loop_linear_bound_rung8_zero_deferred_closed --claim-run->trueDiff shape proof
src/v4/std/node.dagis still a single-file, tag-only caret migration.origin/main; the apparent declaration movement is a diff artifact, not a semantic reorder.Full roster receipt vs
origin/mainAuthority used:
scripts/v4-testclaim-smoke-roster.shoversrc/v4/test/claim/workflow/v4_roster_pilot.dag.Method:
gunbc run --claim-runon the current branch.origin/mainin a detached worktree.Result:
origin/maincargo run -p v2-compiler --bin gunbc -- compile --source-root src/v4 --output-dir /tmp/gunbc-v4-out --target dag->compiled: 1 files emitted, 0 diagnosticsmvp1_go_emit_add_fn_accepts_holds->rc=1,falsePer-member comparison: