Repository navigation
snappy-koi-58 - #1638
snappy-koi-58#1638
Conversation
…ger-structural-fold
|
Review metadata
1. Story of the diffThis PR retires the ROADMAP debt row for production emit-time The emitters then stop walking parent-name/variant-label strings locally and instead compare constructors against the cached IDs, preserving the same fail-closed error shapes when a required declaration is absent ( 2. Invariant categories
Compliant — the diff touches
Compliant — single authority / facts-flow-forward are improved: the authoritative declarations are resolved once into
Compliant — the change removes repeated local name-walker helpers from emit code in favor of precise
Compliant — the diff adds both a focused cache-population test for the new bootstrap invariant (
N/A — the diff retires a ROADMAP debt row and adjusts Rust implementation/cache plumbing; it does not modify a thesis/design document or alter a “LOCKED” decision in the reviewed diff (
Compliant — the only debt movement is tracked and bounded: the ROADMAP row is explicitly retired with the named ratchet 3. VerdictAPPROVE The PR moves emit lookup behavior toward single-authority cached substrate identities, keeps absence fail-closed, and includes a direct regression ratchet for the retired debt row. I did not find a diff-citable invariant violation. |
|
Review metadata
FindingsNone. The diff moves fixed emit-model resolution to bootstrap-filled caches on The new VerdictAPPROVE — Scoped, aligns emit with cached declaration ids and a documented ROADMAP retirement, with a regression guard. No diff-grounded violations of |
Ready to merge — reviewer sign-off4 CI green, mergeable, ready-for-review, body has the full audit catalog + R3 debt receipt (4532 chars). Substantive contributions:
Cannot self-approve via API. Director / merge-cap holder may proceed. |
briansrls
left a comment
There was a problem hiding this comment.
Review metadata
- Provider / model:
codex/unknown - Commit:
1d0c99a4· Trigger:schedule - Thinking:
276s wall
✅ No blocking concerns found in the mixed code/docs changes.
…ger-structural-fold
|
Review metadata
Verdict: APPROVE No concrete violations found in the diff. The PR moves emit consumers from repeated |
…ger-structural-fold
|
Review metadata
Verdict: APPROVE The diff is narrowly aligned with the rubric: emit-time name lookups are moved behind bootstrap-populated typed |
|
Review metadata
FindingsNone. The diff matches the intended direction in ROADMAP: emit stops doing production-time VerdictAPPROVE — Change is coherent, fail-closed behavior is preserved, and Exploratory observations (optional)
|
|
Review metadata
1. Story of the diffThis PR retires the ROADMAP debt row for production emit-time The PR also updates generated bootstrap initializers so the new 2. Invariant categories
3. VerdictAPPROVE The PR consistently moves distributed emit-time string lookup into a single bootstrap-populated Dag cache, preserves fail-closed error paths at use sites, and adds both population and reintroduction ratchets. I did not find a diff-line-backed invariant violation. |
…ft-items + Grounding side-branches Per bold-ferret-748 Grounding Mgr review at PR #1808 #issuecomment-4384302437. 5 findings, all VALID. Substantive structural fixes: Finding 1 (authority hierarchy correctness) — Plan §5 cited docs/audit/r3-debt-sweep-2026-05-06.md as source-of-truth, but that file is on PR #1804 (not merged to main yet). Plan PR could merge into broken authority. Fix: §5 added "Cross-PR dependency" header noting PR #1808 sequenced AFTER PR #1804 (claude APPROVE'd, doc-only, mergeable). Finding 2 (v2-retirement dependency direction REVERSED) — Plan §2.2 placed PR-F + Float migration as prerequisites for v2_directory_deleted. Wrong per r3-structure.md: T-V2-Retirement depends on T-FixedPoint + T-LensProducer + T-Numeric-Construction Int<N>; PR-F + Float are blockers for FULL Rust primitive grounding (T-Ground-Rust complete-coverage), NOT v2 deletion. Fix: §2.2 corrected sequence + added separate "Grounding-side dependency branch" section covering PR-F + Float for T-Ground-Rust + L5 closure. Finding 3 (§3 T-Anthropic-Wire status drift) — Plan said GREEN-pending / no blocker, but #1702 CLOSED + held pending Substrate variant-aware projection metadata carrier. Fix: §3 row corrected to RED with Q-Anthropic-Variant-Aware blocker; cites preserved branch codex/cc1-target-integer-structural-fold sha 51c6a4a. Finding 4 (§6 Grounding side-branches missing — closes G10) — Plan §6 DAG didn't include Grounding-driven re-dispatch edges. Fix: added "Grounding-side dependency branches" 5-row table covering: PR-F → T-Ground-Rust Phase 1; EmissionPathProjection → L6 CrossTarget-Meta; variant-aware projection → #1702 Anthropic re-dispatch; LanguageSpec projection → Coercion-Fold retirement; F10 install_hint cleanup. G10 closes. Finding 5 (§5 drift items wrong) — Plan listed #1638/#1499/declaration_by_name but #1638 + declaration_by_name are SAME issue (double-counted) + CollectionOps/StringOps/MapOps drift omitted. Fix: §5 normalized to correct three: declaration_by_name ROADMAP↔ledger; #1499 transitional fence ledger-gap; CollectionOps/StringOps/MapOps stale ledger refresh. Plus minor: §2.4 Class 5 cascade-gating clarified per Director finding 2.4 (NOT parallel-to-LBP; depends on PB chain T-FixedPoint → T-LensProducer- Retirement). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…ass-surfaces clarification
Per quiet-otter-416 review at gunbc#846 #issuecomment-4384239011.
Substantive findings on plan + canvas fold-in.
Findings absorbed:
§1 Two distinct Pass surfaces clarification — Plan §1.5 said "ALL gates
pass + zero tracked-debt rows survive" but didn't explicitly distinguish
the lane TestClaim gates (70 total) from r3_debt_paydown_zero_remaining
(standing-program ledger predicate). Risk: "70 gates green" mis-merging
into "debt gate satisfied." Fix: §1 added "Two distinct Pass surfaces"
paragraph explicitly stating both must hold.
§3 T-Debt-Paydown row was stale ("(TBD from canvas)"). Updated to
YELLOW with concrete in-flight anchors: PR #1807 (SG-0 PR-body /
diff-reconcile gate; OPEN); PR #1566 (rollup hygiene; OPEN/DRAFT per
debt-paydown-ledger); Tier-1 dispatch-brief drift sweep verified.
Current dispatch column now lists all four owned mechanisms (per-PR
rule, drift-reconcile, velocity tripwire, closure-receipt cadence,
SG-0 PR-window discipline).
§7 PR-authoring contract — r3-structure.md §"Standing program —
R3 Debt-Paydown" lists FOUR owned mechanisms. Plan §7 only had
debt-receipt + ratchet/anticipation as first-class subsections;
velocity tripwire + closure-receipt cadence + SG-0 PR-window
discipline missing. Risk: §7 reads as "debt receipt only" violating
canonical authority's four-mechanism structure.
Fix: §7 expanded with three new subsections:
- §7.6 Velocity tripwire (Debt-Paydown owned mechanism #2)
- §7.7 Closure-receipt cadence (Debt-Paydown owned mechanism #3)
- §7.8 SG-0 PR-window net-shrink discipline (Debt-Paydown owned
mechanism #4 — merge-discipline gate, separate Pass surface from
lane gates)
§7 header reorganized to mirror canonical "four owned mechanisms"
structure with explicit (1)-(4) enumeration per Debt-Paydown Mgr
review.
§5 drift items + Q-Drift-Reconcile: already covered at sha 2294265
(Grounding finding 5 normalization). Debt-Paydown Mgr's review confirms
PM accuracy on #1638/#1499/declaration_by_name + acceptable one-PR
default for Q-Drift-Reconcile.
§5 SG-0 path counts (46/89/1 → 136): Debt-Paydown Mgr verified at HEAD;
matches plan prose. No fix needed.
Q7 + #1566 + velocity tripwire operational reporting: Debt-Paydown Mgr
"still holding" items; surface in plan §10.3 as continuation but not
blocking plan PR open.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…ctionOps) Retire declaration_by_name emit-pattern row per PR #1638; add #1499 acknowledgment row for plan §533 stratum B; refresh CollectionOps strand cross-reference. Update r3-program-plan drift bullets to reconciled status. Debt receipt (R3 standing program): - Debt paid: ROADMAP/ledger rows cited in docs/debt/r3-debt-paydown-ledger-2026-05-02.md catalog + docs/r3-program-plan.md § drift list (Q7 single PR). Co-authored-by: Cursor <cursoragent@cursor.com>
#1892) * ci+docs: SG-0 net-shrink PR-body discipline (Director Risk 5) - Add scripts/check-pr-sg0-net-shrink-discipline.sh: when a pull_request touches sg0_census_test.rs, require PR body lines SG-0 hand-path delta: and SG-0 pairing: (a|b|c) for strict net +N adds; embedded --self-test. - Wire ci job: full checkout, fetch origin/main, run checker + self-test. - Extend PULL_REQUEST_TEMPLATE.md with SG-0 net-shrink section + anchors. - ROADMAP: SG-0 PR-window net-shrink discipline row (process complement to BridgeLedgerZero course correction #4). Co-authored-by: Cursor <cursoragent@cursor.com> * ci: fail-closed SG-0 PR-body delta and pairing validation Tighten check-pr-sg0-net-shrink-discipline.sh: accept only signed integer tokens (reject bogus -words), and require structured (a)/(b)/(c) pairing evidence per PR template. Extend self-test with malformed cases. Co-authored-by: Cursor <cursoragent@cursor.com> * ci: anchor SG-0 pairing lines; reject extra CLI args Harden check-pr-sg0-net-shrink-discipline.sh: pick the first body line that starts (after optional whitespace) with SG-0 pairing: so mid-line prose cannot satisfy the gate; require --self-test/--check-body-only to be the sole flag. Extend self-test for anchored vs substring-only cases. Co-authored-by: Cursor <cursoragent@cursor.com> * ci: reconcile SG-0 PR-body delta with census git diff After format/pairing validation on pull_request, compare the declared net hand-path count to adds−removes of EXPECTED_* string rows in sg0_census_test.rs (git diff origin/main...HEAD). Documents counter limits in the script header. Co-authored-by: Cursor <cursoragent@cursor.com> * ci: allow SG-0 (a)/(c) pairing evidence on the following line Flatten pairing line + continuation for path/dispatch regexes so "immediately after" matches template wording; add self-tests. Co-authored-by: Cursor <cursoragent@cursor.com> * ci: avoid SIGPIPE false-negative in SG-0 census path detection Replace `git diff --name-only … | grep -Fxq` with `git diff --quiet origin/main...HEAD -- <census>`: under pipefail, early grep exit can SIGPIPE git (exit 141), and `if !` then skips the gate. Co-authored-by: Cursor <cursoragent@cursor.com> * ci: derive SG-0 hand-path delta from git show census snapshots Count EXPECTED_HAND_AUTHORED_{NON_TEST,TEST,FRAGMENTS} rows at origin/main vs HEAD instead of diffing raw EXPECTED_* line churn (excludes EXPECTED_GENERATED_* and other inventories). Propagate counter errors into the mismatch gate. Co-authored-by: Cursor <cursoragent@cursor.com> * ci: here-string SG-0 PR-body scans; clarify template vs CI prefix Avoid printf|grep|awk pipelines on PR_BODY under pipefail (SIGPIPE false missing-delta). Add template note: raw lines must start with SG-0…, not markdown checklist bullets alone. Co-authored-by: Cursor <cursoragent@cursor.com> * ci: require column-0 SG-0 pairing line to match PR template The gate already required ^SG-0 hand-path delta:; pairing used ^[[:space:]]*SG-0 pairing:, diverging from the template single-authority contract. Anchor pairing extraction and (a)/(b)/(c) checks at column 0; add self-test for indented pairing rejection. Co-authored-by: Cursor <cursoragent@cursor.com> * ci: require path-shaped tokens after "removed" for SG-0 pairing (a) The (a) gate accepted `removed <any-token>`, which could satisfy same-PR retirement without naming a real path. Tighten to `src/v3/compiler/…` or *.rs / *.txt after "removed"; add self-test for the weasel case. Co-authored-by: Cursor <cursoragent@cursor.com> * ci: fail closed when origin/main missing on pull_request SG-0 gate Skipping the gate on a missing base ref was fail-open for PR runs. CI already fetches main to origin/main; absent ref is a setup error. Co-authored-by: Cursor <cursoragent@cursor.com> * ci: require explicit removed + path for SG-0 pairing (a); ROADMAP authority Codex blocking: (a) no longer accepts standalone .rs / slash tokens without the retirement keyword. Document fail-closed origin/main + (a) contract in ROADMAP SG-0 bullet. Co-authored-by: Cursor <cursoragent@cursor.com> * ci: here-string first token parse; local pairing_flat in SG-0 gate Address review nits: use read <<< for delta token first field; declare pairing_flat with other function locals. Co-authored-by: Cursor <cursoragent@cursor.com> * ci: document rustfmt + FRAGMENTS shape assumptions in SG-0 census counter Claude exploratory: note trailing-comma row regex and single-line vs block FRAGMENTS parsing so future census edits do not silently miscount. Co-authored-by: Cursor <cursoragent@cursor.com> * ci: fail-closed SG-0 census counter + hermetic counter self-tests Require exactly one NON_TEST/TEST/FRAGMENTS const each, reject unclosed arrays, and exit nonzero from awk on malformed snapshots. Extend --self-test with synthetic stdin cases for the counter path (gpt-5-5-pro P3/TESTING). Co-authored-by: Cursor <cursoragent@cursor.com> * ci: (a) .txt under census root; multiline FRAGMENTS counter self-test Claude exploratory: require `src/v3/compiler/…` for removed *.txt evidence (short *.rs unchanged). Add census self-test for multiline FRAGMENTS (hand==1 path) and PR-body self-tests for bare .txt vs fragment-shaped .txt. Co-authored-by: Cursor <cursoragent@cursor.com> * ci: strip CR from GitHub PR body before SG-0 gate parse pull_request.body may be CRLF; +1\\r failed numeric token match. Normalize before grep/read and add CRLF self-tests (+0, +1 (b), URL on next line). Co-authored-by: Cursor <cursoragent@cursor.com> * ci: count census path rows with EOL // comments; fail on unsupported shape Strip Rust line comments before matching rustfmt path rows; if a line still contains a hand path literal but does not match the supported pattern, exit nonzero (P3 fail-closed vs silent undercount). Add counter self-tests. Co-authored-by: Cursor <cursoragent@cursor.com> * WIP: R3 Debt-Paydown * docs(debt): DP1 Q7 reconcile ledger with ROADMAP (#1638, #1499, CollectionOps) Retire declaration_by_name emit-pattern row per PR #1638; add #1499 acknowledgment row for plan §533 stratum B; refresh CollectionOps strand cross-reference. Update r3-program-plan drift bullets to reconciled status. Debt receipt (R3 standing program): - Debt paid: ROADMAP/ledger rows cited in docs/debt/r3-debt-paydown-ledger-2026-05-02.md catalog + docs/r3-program-plan.md § drift list (Q7 single PR). Co-authored-by: Cursor <cursoragent@cursor.com> --------- Co-authored-by: Cursor <cursoragent@cursor.com>
* ci+docs: SG-0 net-shrink PR-body discipline (Director Risk 5) - Add scripts/check-pr-sg0-net-shrink-discipline.sh: when a pull_request touches sg0_census_test.rs, require PR body lines SG-0 hand-path delta: and SG-0 pairing: (a|b|c) for strict net +N adds; embedded --self-test. - Wire ci job: full checkout, fetch origin/main, run checker + self-test. - Extend PULL_REQUEST_TEMPLATE.md with SG-0 net-shrink section + anchors. - ROADMAP: SG-0 PR-window net-shrink discipline row (process complement to BridgeLedgerZero course correction #4). Co-authored-by: Cursor <cursoragent@cursor.com> * ci: fail-closed SG-0 PR-body delta and pairing validation Tighten check-pr-sg0-net-shrink-discipline.sh: accept only signed integer tokens (reject bogus -words), and require structured (a)/(b)/(c) pairing evidence per PR template. Extend self-test with malformed cases. Co-authored-by: Cursor <cursoragent@cursor.com> * ci: anchor SG-0 pairing lines; reject extra CLI args Harden check-pr-sg0-net-shrink-discipline.sh: pick the first body line that starts (after optional whitespace) with SG-0 pairing: so mid-line prose cannot satisfy the gate; require --self-test/--check-body-only to be the sole flag. Extend self-test for anchored vs substring-only cases. Co-authored-by: Cursor <cursoragent@cursor.com> * ci: reconcile SG-0 PR-body delta with census git diff After format/pairing validation on pull_request, compare the declared net hand-path count to adds−removes of EXPECTED_* string rows in sg0_census_test.rs (git diff origin/main...HEAD). Documents counter limits in the script header. Co-authored-by: Cursor <cursoragent@cursor.com> * ci: allow SG-0 (a)/(c) pairing evidence on the following line Flatten pairing line + continuation for path/dispatch regexes so "immediately after" matches template wording; add self-tests. Co-authored-by: Cursor <cursoragent@cursor.com> * ci: avoid SIGPIPE false-negative in SG-0 census path detection Replace `git diff --name-only … | grep -Fxq` with `git diff --quiet origin/main...HEAD -- <census>`: under pipefail, early grep exit can SIGPIPE git (exit 141), and `if !` then skips the gate. Co-authored-by: Cursor <cursoragent@cursor.com> * ci: derive SG-0 hand-path delta from git show census snapshots Count EXPECTED_HAND_AUTHORED_{NON_TEST,TEST,FRAGMENTS} rows at origin/main vs HEAD instead of diffing raw EXPECTED_* line churn (excludes EXPECTED_GENERATED_* and other inventories). Propagate counter errors into the mismatch gate. Co-authored-by: Cursor <cursoragent@cursor.com> * ci: here-string SG-0 PR-body scans; clarify template vs CI prefix Avoid printf|grep|awk pipelines on PR_BODY under pipefail (SIGPIPE false missing-delta). Add template note: raw lines must start with SG-0…, not markdown checklist bullets alone. Co-authored-by: Cursor <cursoragent@cursor.com> * ci: require column-0 SG-0 pairing line to match PR template The gate already required ^SG-0 hand-path delta:; pairing used ^[[:space:]]*SG-0 pairing:, diverging from the template single-authority contract. Anchor pairing extraction and (a)/(b)/(c) checks at column 0; add self-test for indented pairing rejection. Co-authored-by: Cursor <cursoragent@cursor.com> * ci: require path-shaped tokens after "removed" for SG-0 pairing (a) The (a) gate accepted `removed <any-token>`, which could satisfy same-PR retirement without naming a real path. Tighten to `src/v3/compiler/…` or *.rs / *.txt after "removed"; add self-test for the weasel case. Co-authored-by: Cursor <cursoragent@cursor.com> * ci: fail closed when origin/main missing on pull_request SG-0 gate Skipping the gate on a missing base ref was fail-open for PR runs. CI already fetches main to origin/main; absent ref is a setup error. Co-authored-by: Cursor <cursoragent@cursor.com> * ci: require explicit removed + path for SG-0 pairing (a); ROADMAP authority Codex blocking: (a) no longer accepts standalone .rs / slash tokens without the retirement keyword. Document fail-closed origin/main + (a) contract in ROADMAP SG-0 bullet. Co-authored-by: Cursor <cursoragent@cursor.com> * ci: here-string first token parse; local pairing_flat in SG-0 gate Address review nits: use read <<< for delta token first field; declare pairing_flat with other function locals. Co-authored-by: Cursor <cursoragent@cursor.com> * ci: document rustfmt + FRAGMENTS shape assumptions in SG-0 census counter Claude exploratory: note trailing-comma row regex and single-line vs block FRAGMENTS parsing so future census edits do not silently miscount. Co-authored-by: Cursor <cursoragent@cursor.com> * ci: fail-closed SG-0 census counter + hermetic counter self-tests Require exactly one NON_TEST/TEST/FRAGMENTS const each, reject unclosed arrays, and exit nonzero from awk on malformed snapshots. Extend --self-test with synthetic stdin cases for the counter path (gpt-5-5-pro P3/TESTING). Co-authored-by: Cursor <cursoragent@cursor.com> * ci: (a) .txt under census root; multiline FRAGMENTS counter self-test Claude exploratory: require `src/v3/compiler/…` for removed *.txt evidence (short *.rs unchanged). Add census self-test for multiline FRAGMENTS (hand==1 path) and PR-body self-tests for bare .txt vs fragment-shaped .txt. Co-authored-by: Cursor <cursoragent@cursor.com> * ci: strip CR from GitHub PR body before SG-0 gate parse pull_request.body may be CRLF; +1\\r failed numeric token match. Normalize before grep/read and add CRLF self-tests (+0, +1 (b), URL on next line). Co-authored-by: Cursor <cursoragent@cursor.com> * ci: count census path rows with EOL // comments; fail on unsupported shape Strip Rust line comments before matching rustfmt path rows; if a line still contains a hand path literal but does not match the supported pattern, exit nonzero (P3 fail-closed vs silent undercount). Add counter self-tests. Co-authored-by: Cursor <cursoragent@cursor.com> * WIP: R3 Debt-Paydown * docs(debt): DP1 Q7 reconcile ledger with ROADMAP (#1638, #1499, CollectionOps) Retire declaration_by_name emit-pattern row per PR #1638; add #1499 acknowledgment row for plan §533 stratum B; refresh CollectionOps strand cross-reference. Update r3-program-plan drift bullets to reconciled status. Debt receipt (R3 standing program): - Debt paid: ROADMAP/ledger rows cited in docs/debt/r3-debt-paydown-ledger-2026-05-02.md catalog + docs/r3-program-plan.md § drift list (Q7 single PR). Co-authored-by: Cursor <cursoragent@cursor.com> * docs(r3): record §S4 actions.dag audit receipt on #1771 (#1873 closed) Debt-Paydown coordination: audit-and-delta prerequisite satisfied per quick-ferret receipt; T-LBP COMPLETE remains for downstream S4 dispatch. Co-authored-by: Cursor <cursoragent@cursor.com> --------- Co-authored-by: Cursor <cursoragent@cursor.com>
R3 Debt Receipt
Debt paid: ROADMAP Row 46 — production
declaration_by_nameuse insrc/v3/compiler/src/emit*is dissolved. Fixed emit-time anchors now resolve once through bootstrap-populated typed caches, and production emit code consumesDeclarationIdfields instead of name strings. The regression gateemit_production_code_has_no_declaration_by_name_callsasserts production emit modules do not callDag::declaration_by_name.Debt newly found: none. Audit found no caller-provided string lookup sites in production emit. Remaining
declaration_by_namecalls under emit are test fixture lookups only.Remaining row: ROADMAP Row 46 closes for production emit. Test-only fixture lookups remain outside the row scope and are excluded by the ratchet's
#[cfg(test)]split.Audit Catalog
All production sites classified as (a) substrate-fixed string / fixed emit-model coproduct:
src/v3/compiler/src/emit/fold_method_contract.rs:MethodTemplateContract,fold_method. Role: validateCollectionOps.fold_contractreferences the canonical method-template contract and registry method. Consumption: contract identity comparison. Migrated toDag::method_template_contract_decl()andDag::fold_method_decl().src/v3/compiler/src/emit.rs:MethodEmitTemplate. Role: recover method-template variant labels for target method template dispatch. Consumption: method template label lookup. Migrated toDag::method_emit_template_decl().src/v3/compiler/src/emit.rs:PatternStrategy.VectorList. Role: parsePatternRealization.strategy. Consumption: constructor identity check. Migrated toDag::emit_model_variants().pattern_strategy.vector_list.src/v3/compiler/src/emit.rsandsrc/v3/compiler/src/emit/rust_target.rs:FieldAccess.DirectField,FieldAccess.AccessorMethod. Role: parse field-binding access policy. Consumption: constructor dispatch. Migrated toEmitModelVariants.field_access.src/v3/compiler/src/emit.rsandsrc/v3/compiler/src/emit/rust_target.rs:ParameterDisposition.Borrowed,ParameterDisposition.Consumed. Role: parse callable parameter disposition rows. Consumption: constructor dispatch. Migrated toEmitModelVariants.parameter_disposition.src/v3/compiler/src/emit.rs,src/v3/compiler/src/emit/rust_target.rs,src/v3/compiler/src/emit/python_target.rs:MemoryModel.{ValueOnly,GarbageCollected,RefCounted,OwnershipBased}. Role: parse target execution memory model. Consumption: target execution binding dispatch. Migrated toEmitModelVariants.memory_model.src/v3/compiler/src/emit.rs,src/v3/compiler/src/emit/rust_target.rs,src/v3/compiler/src/emit/python_target.rs:ScopeModel.{LexicalScoping,DynamicScoping}. Role: parse target execution scope model. Consumption: target execution binding dispatch. Migrated toEmitModelVariants.scope_model.src/v3/compiler/src/emit/rust_target.rs:ReadStrategy.{Borrow,PassByValue}andConstructStrategy.{CopyOrClone,PassByValue}. Role: parse Rust rendering model. Consumption: borrow/construct rendering policy. Migrated toEmitModelVariants.read_strategyandconstruct_strategy.src/v3/compiler/src/emit/rust_target.rs:Mutability.{Immutable,Mutable},Purity.{Pure,Effectful},Structure.{ExplicitDAG,Arbitrary},Iteration.{Bounded,Unbounded}. Role: parse Rust source computation model. Consumption: computation-model binding dispatch. Migrated to the correspondingEmitModelVariantsgroups.No (b) caller-provided string production sites found. No (c) diagnostic/debug-only production sites need exemption.
Verification
cargo test -p v3-compiler emit_production_code_has_no_declaration_by_name_calls -- --nocapturecargo test -p v3-compiler emit_model_variants_populated_after_bootstrap -- --nocapturecargo test -p v3-compiler emit_anchor_cache_populated_after_bootstrap -- --nocapturecargo test -p v3-compiler rendering_model_read_strategy_controls_function_parameter_shape -- --nocapturecargo test -p v3-compiler parameter_dispositions_reject_arity_drift_and_slot_collisions -- --nocaptureFull
cargo test -p v3-compilerwas also run. It passed 306 lib tests, 9 determinism tests, and 792 integration tests before failing onlysg6_regen_lens_cli_smoke_regenerates_named_entry_without_driftbecause the shared cargo target reused aregen_lensbinary compiled from another worktree path (crisp-ibex-569instead of this worktree). The failure is path-cache environmental, not related to Row 46.