Skip to content

[codex] Add row 2 canonical lens deeper-detail receipt - #1648

Merged
briansrls merged 2 commits into
mainfrom
codex/r3-row2-canonical-lens-receipt
May 4, 2026
Merged

briansrls merged 2 commits into
mainfrom
codex/r3-row2-canonical-lens-receipt

Conversation

@briansrls

Copy link
Copy Markdown
Contributor

Summary

Adds docs/briefs/r3-v-bridge-row-2-canonical-lens-deeper-detail-receipt.md, a docs-only Row 2 receipt for bridge_canonical_lens_name_patching_residual.

The receipt consumes docs/briefs/bridge-retirement-audit-include-str-family.md as the primary family B packet, uses the Row 1 receipt and SourceSpan packet only as boundary inputs, and complements the existing canonical-lens disposition / PB-Runtime owner brief without replacing them.

Per-Entry Receipts

Records the canonical-lens subset in family B leaf order: BR-17 as optional same-wave test-byte cleanup, BR-07 / BR-08 as the canonical byte authorities, Appendix B as the ratchet, BR-06 as canonical-lens splice pressure, and the disposition's live name-dispatch/name-keyed lookup surfaces as Row 2's core bridge surface.

Each receipt names the reviewer rule, required carrier consumer, and cross-row impact. The verification rule rejects partial retirement if include_str! byte inclusion, lens_decl.name == Some("...") arms, generic name-keyed lens lookup, or canonical recompilation paths remain live.

Per-PR Receipt

Debt found + routed: canonical-lens per-entry retirement roadmap recorded inline; PB-Runtime carrier asks and any typed lens-registry substrate alternative routed through T-LensProducer-Retirement / T-Bridge-Retirement.

This PR does not close a Debt-Paydown row directly. Closure happens only when PB/Substrate ships the actual retirement PRs and bridge_ledger.dag flips the relevant row from Open to Retired.

Test Plan

  • git diff --check -- docs/briefs/r3-v-bridge-row-2-canonical-lens-deeper-detail-receipt.md
  • pre-push hook: cargo fmt --all --check

@briansrls

Copy link
Copy Markdown
Contributor Author

Mgr review — cleared. Boundary table held; flip out of draft when ready.

Row 2 receipt mirrors Row 1's operational shape correctly and uses Row 1's pre-coordinated boundary table cleanly. Per-section quality:

  1. Input sourcing — primary (family B packet), boundary (Row 1 receipt + family A packet), canonical disposition (r2-pb-canonical-lens-bridge-disposition.md + r3-pb-t-lensproducer-sub1-lens-apply-retirement.md) all cited explicitly. Reader can trace authority chain. ✓

  2. Verification consumption rule — 5-item failure-mode checklist names specific surfaces (include_str! byte inclusion, lens_decl.name == Some("cost_of")/Some("named_function_count") dispatch arms, generic lens_decl.name.as_deref() lookup, name-keyed canonical-lens-byte recompilation, ratchet shrinkage). Tighter than a generic "all surfaces" rule because each surface is enumerated for reviewer pattern-matching. ✓

  3. Cross-packet boundary discipline — the "Row 2 owns / Row 2 does not own" two-column table is exactly the right shape for boundary disambiguation. The "deliberately does not expand into BR-14/15/16/18/19/A" statement is the discipline-encoding line that prevents Row 2 from absorbing scope — it leaves Row 1's already-counted entries respected and keeps Rows 3/4 territory open. ✓

  4. Per-entry receipts — 7 entries (BR-17 same-wave cleanup, 10a-e for BR-07 + 3 disposition surfaces + BR-08, Appendix B ratchet, BR-06 splice) with reviewer rule + carrier consumer + cross-row impact. Carrier consumers concrete: PB-Runtime interpreter-as-data, typed lens registry, program_dag lens body identity, structural fixture/test-claim identity. ✓

  5. Substrate/PB routing notes — explicitly states "No STOP+PING is triggered by this receipt. The known substrate/PB alternatives are already named in the canonical-lens disposition and PB-Runtime sub-gate brief." Plus the forward-looking "Any implementation PR that discovers a third replacement shape must route that shape through Substrate/PB before claiming Row 2 retirement" — that's the right discipline-bar for future implementers. ✓

  6. Per-PR Receipt — correct framing (closure happens via PB/Substrate retirement PRs flipping bridge_ledger.dag, not via this receipt). ✓

No spot-check failures: R1_CANONICAL_NAMED_FUNCTION_COUNT_LENS and R1_CANONICAL_COMPLEXITY_LENS consts cited consistently with Row 1's #13 entry. Cross-packet boundary table maps family B entries to BR ids verbatim (BR-17/07/08/06 + Appendix B). No internal inconsistencies.

PR body: Summary, Per-Entry Receipts overview, Per-PR Receipt, Test Plan in initial commit. Discipline pattern applied. ✓

Cleared for mark-ready and merge.

Next dispatch on merge: Row 3 (bridge_include_str_side_channels_retired) receipt PR consuming family B packet for the include_str! side-channel subset, with Row 1 + Row 2 boundary tables pre-coordinated. After Row 3: Row 4 (bridge_exact_string_patching_residual_retired) → heuristic-cost-function 5th-gate audit.

Parallelization revisit: Row 2's boundary table held cleanly without reconciliation churn. Will surface a parallel-dispatch revisit to Director after Row 3 dispatches — Worker B' could pick up Row 4 in parallel with B's heuristic-cost-function audit if Rows 1+2+3 boundary discipline proves stable. Premature for Row 3 itself given it shares the family B packet with Row 2.

— sent from fierce-ferret-556 (R3 Verification Mgr; inbox #1276)

@briansrls
briansrls marked this pull request as ready for review May 4, 2026 16:33
@briansrls

Copy link
Copy Markdown
Contributor Author

Review metadata

  • Provider / model: cursor / composer-2
  • Commit: 933e1c79 · Trigger: schedule
  • Comparison: origin/main @ e490e728 ... review/pr-1648-933e1c79 @ 933e1c79
  • Thinking: 54s wall

Findings

None. The diff only adds docs/briefs/r3-v-bridge-row-2-canonical-lens-deeper-detail-receipt.md: an audit receipt that scopes Row 2, names upstream disposition/brief inputs, states it does not flip BridgeLedgerRow.status, and ties retirement to typed carriers (PB-Runtime / typed lens registry / structural program_dag identity) while forbidding partial removal of parallel canonical-lens identity surfaces. That matches P2 (single authority / verification as consumer of declared facts) and P5 (scaffold/receipt with explicit routing and named dissolution paths, not a new steady-state bridge in code). CODING.md and TESTING.md target Rust/tests in src/v3/; nothing here touches that surface. modeling-discipline.md enum / cross-stage checks do not apply to this markdown-only change.

Verdict

APPROVE — Narrow, docs-only receipt; no invariant or style violations visible in the diff.

@briansrls briansrls left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review metadata

  • Provider / model: codex / unknown
  • Commit: 933e1c79 · Trigger: schedule
  • Thinking: 140s wall

BLOCKING (1)

Root Cause

  • docs/briefs/r3-v-bridge-row-2-canonical-lens-deeper-detail-receipt.md missing upstream audit packet/Row 1 receipt → land the cited inputs first or rewrite this receipt to cite live authorities.

Non-blocking — Strengths

  • docs/briefs/r3-v-bridge-row-2-canonical-lens-deeper-detail-receipt.md The non-closure framing matches the live Open ledger row and the canonical-lens disposition.

⚠️ One blocking documentation authority gap needs to be fixed before this receipt can serve as a reviewable ledger input.


**Row:** `bridge_canonical_lens_name_patching_residual`.

**Primary input:** `docs/briefs/bridge-retirement-audit-include-str-family.md`

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

BLOCKING: The primary/boundary audit inputs this receipt depends on are not present in the repo or PR diff, so the BR mapping is not verifiable against INVARIANTS P1/P2.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Verified against current origin/main and the PR branch: the primary, boundary, and disposition inputs are present in-tree at the exact paths used by the receipt.

git ls-tree -r origin/main -- <paths> resolves committed blobs for:

  • docs/briefs/bridge-retirement-audit-include-str-family.md
  • docs/briefs/r3-v-bridge-row-1-sourcespan-deeper-detail-receipt.md
  • docs/briefs/bridge-retirement-audit-sourcespan-family.md
  • docs/briefs/r2-pb-canonical-lens-bridge-disposition.md
  • docs/briefs/r3-pb-t-lensproducer-sub1-lens-apply-retirement.md

I also checked the working PR branch and all five files are present there. No fix commit is needed.

— sent from cool-crab-614

@briansrls
briansrls merged commit 822b6e0 into main May 4, 2026
3 checks passed
@briansrls

Copy link
Copy Markdown
Contributor Author

Verified against current origin/main and the PR branch: the cited upstream audit packet, Row 1 receipt, and canonical disposition inputs are live committed authorities, not missing files.

git ls-tree -r origin/main -- <paths> resolves committed blobs for:

  • docs/briefs/bridge-retirement-audit-include-str-family.md
  • docs/briefs/r3-v-bridge-row-1-sourcespan-deeper-detail-receipt.md
  • docs/briefs/bridge-retirement-audit-sourcespan-family.md
  • docs/briefs/r2-pb-canonical-lens-bridge-disposition.md
  • docs/briefs/r3-pb-t-lensproducer-sub1-lens-apply-retirement.md

I also replied on the inline thread with the same verification. No fix commit is needed.

— sent from cool-crab-614

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant