From 50b37f8bc4492f8038bfd2db0bd5f5b2c9e72c2b Mon Sep 17 00:00:00 2001 From: Brian Searls Date: Thu, 14 May 2026 12:51:22 -0400 Subject: [PATCH 1/3] WIP: R3 gate #33: bridge_canonical_lens_name_dispatch_retired (T-Bridge-Retir --- docs/r3-program-plan.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/r3-program-plan.md b/docs/r3-program-plan.md index 1bbfa2ce4a8..09d5a8b2c5d 100644 --- a/docs/r3-program-plan.md +++ b/docs/r3-program-plan.md @@ -257,7 +257,7 @@ This principle is NOT a separate lane; it's a per-lane gate-shape requirement ap | 30 | `anthropic_unit_enum_role_serialization_correct` | structural-fold | T-Anthropic-Wire | **CONSUMER_LANDED** (PR #2208 G5 Anthropic re-dispatch; refresh per cluster-analysis audit §1) | role enum serializes correctly | | 31 | `bridge_source_span_file_participation_retired` | state-check | T-Bridge-Retirement | **PASSING** (PR #2586 — correction file participation bridge retired 2026-05-10) | typed-identity-surface authority | | 32 | `bridge_mark_bootstrap_secret_nominal_opacity_retired` | state-check | T-Bridge-Retirement | **PASSING** | `dsl/std/types.dag` `type Secret nominal_opaque = String` + `src/v3/std/bridge_ledger.dag` row `Retired` + unit ratchet `dag.rs::bridge_mark_bootstrap_secret_nominal_opacity_retired` (bootstrap snapshots carry `Declaration.nominal_opacity` on `Secret`); historical name-keyed bootstrap bridge removed (#1272 / #937 lineage) | -| 33 | `bridge_canonical_lens_name_dispatch_retired` | state-check | T-Bridge-Retirement | **CONSUMER_LANDED** (PR #2449 squash 2026-05-10 01:14Z — bridge canonical lens-name dispatch retired; lens dispatch routes via `DeclarationRef`/typed identity) | DeclarationRef/typed identity | +| 33 | `bridge_canonical_lens_name_dispatch_retired` | state-check | T-Bridge-Retirement | **CONSUMER_LANDED + PASSING** — closure brief [`docs/briefs/r3-pb-bridge-canonical-lens-name-dispatch-closure.md`](briefs/r3-pb-bridge-canonical-lens-name-dispatch-closure.md) `Status: CLOSED`; full §Acceptance receipt at HEAD: (a) `src/v3/compiler/tests/integration/canonical_lens_bridge_ratchet_test.rs` pins **zero residual across all four categories** — A (`R1_CANONICAL_*_LENS` `include_str!` const bridges), B (`lens_decl.name.as_deref() == Some("…")` dispatch arms), C (generic `if let Some(name) = lens_decl.name.as_deref()` name-keyed lookups), D (`DeclarationRef`-to-name dispatch helpers); (b) `bridge_retirement_demonstration` runs the `lens_output_equals_gate` fixture end-to-end through `apply_lens_declaration(self.dag, lens_id, …)` with `lens_id` resolved as a fixture `DeclarationRef`, not via canonical-lens byte authority or name dispatch; (c) `src/v3/std/bridge_ledger.dag` row `bridge_canonical_lens_name_patching_residual` `Retired` with the closure brief as authority. Lineage: PR #2449 squash 2026-05-10 01:14Z (consumer-side land); prior narrow slice carried by `bridge_canonical_lens_name_dispatch_pr1183_slice_retired` ledger row. | DeclarationRef/typed identity | | 34 | `bridge_include_str_side_channels_retired` | state-check | T-Bridge-Retirement | **CONSUMER_LANDED (slice scope)** (PR #2459 squash 2026-05-10 00:05Z — `pipeline.dag` compile-time embed slice retired with structural `PipelineStageBinding` bootstrap witness + `l1_5_fixed_point_test.rs` reintroduction ratchet per `src/v3/std/bridge_ledger.dag` header) | slice-scope; **standalone closure brief #1976 STOP-BLOCKED** on Substrate T1 (compile-body witness) per `pipeline_authority.rs` `fn compile` still `ArrowBody::Unparsed` (#1939 substrate dep, clever-cat-146 verification 2026-05-09) | | 35 | `bridge_exact_string_patching_residual_retired` | state-check | T-Bridge-Retirement | **PASSING** | PB lower-helper slice retired in `bridge_ledger.dag`; residual Row-4 classes → `bridge_exact_string_semantic_patching_residual` (Open) | | 36 | `bridge_retirement_ledger_zero` | ledger-count | T-Bridge-Retirement | DECLARED | unified ledger reports 0 | From 1582bbf2f64b18cb1ffa49c831c11db80d6b0241 Mon Sep 17 00:00:00 2001 From: Brian Searls Date: Thu, 14 May 2026 16:52:06 +0000 Subject: [PATCH 2/3] docs(r3): promote gate #33 bridge_canonical_lens_name_dispatch_retired to PASSING MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit R3 §1.8 row #33 (`bridge_canonical_lens_name_dispatch_retired`, T-Bridge-Retirement) promoted from CONSUMER_LANDED to **CONSUMER_LANDED + PASSING** in `docs/r3-program-plan.md` (carried by the prior WIP commit on this branch) and the §8 close-predicate-execution audit row updated from N/A_NOT_PASSING to HARNESS_NAMED with the canonical `canonical_lens_bridge_ratchet_test` harness named. Full §Acceptance receipt at HEAD: (a) `src/v3/compiler/tests/integration/canonical_lens_bridge_ratchet_test.rs` pins zero residual across all four categories — A (R1_CANONICAL_*_LENS include_str! const bridges), B (lens_decl.name.as_deref() == Some("…") dispatch arms), C (generic if let Some(name) = lens_decl.name.as_deref() name-keyed lookups), D (DeclarationRef-to-name dispatch helpers). (b) `bridge_retirement_demonstration` runs the `lens_output_equals_gate` fixture end-to-end via `apply_lens_declaration(self.dag, lens_id, …)` with `lens_id` resolved as a fixture `DeclarationRef`, not via canonical lens byte authority or name dispatch. (c) `src/v3/std/bridge_ledger.dag` row `bridge_canonical_lens_name_patching_residual` is `Retired` with the closure brief `docs/briefs/r3-pb-bridge-canonical-lens-name-dispatch-closure.md` as authority (Status: CLOSED). No production code change required — the bridge surface was already retired on main; this commit lands the §1.8 / §8 ledger promotion that makes the predicate load-bearing for the §10 close-ceremony workspace re-sweep. Co-Authored-By: Claude Opus 4.7 (1M context) --- docs/audit/r3-close-predicate-execution-2026-05-13.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/audit/r3-close-predicate-execution-2026-05-13.md b/docs/audit/r3-close-predicate-execution-2026-05-13.md index 8e86b494604..53fdb28b117 100644 --- a/docs/audit/r3-close-predicate-execution-2026-05-13.md +++ b/docs/audit/r3-close-predicate-execution-2026-05-13.md @@ -96,7 +96,7 @@ Close-time canonical predicate harness for `PASSING` / `SATISFIED-BY-CONSTRUCTIO | 30 | `anthropic_unit_enum_role_serialization_correct` | structural-fold | **N/A_NOT_PASSING** | Predicate not yet load-bearing: §1.8 Status `CONSUMER_LANDED` (consumer-side surface landed; full §Acceptance not yet PASSING) per §1.8 row #30 Notes. | NOT_APPLICABLE_AT_HEAD — §8 predicate-execution requirement attaches only to PASSING gates. | | 31 | `bridge_source_span_file_participation_retired` | state-check | **HARNESS_NAMED** | `cargo test --workspace --exclude gunbc-dag-tests` (HEAD ratchet `bridge_source_span_file_participation_retired` and sibling ratchets cited under §1.8 row #31 Notes); cross-ref `docs/r3-structure.md` §Acceptance gate #31. | Harness named; execution receipt is produced by the §10 close-ceremony 24h workspace re-sweep, not by this Phase 2 PR. See §Workspace batch receipt for the partial fmt + clippy receipts captured during Phase 2 authoring. | | 32 | `bridge_mark_bootstrap_secret_nominal_opacity_retired` | state-check | **HARNESS_NAMED** | `cargo test --workspace --exclude gunbc-dag-tests` (HEAD ratchet `bridge_mark_bootstrap_secret_nominal_opacity_retired` and sibling ratchets cited under §1.8 row #32 Notes); cross-ref `docs/r3-structure.md` §Acceptance gate #32. | Harness named; execution receipt is produced by the §10 close-ceremony 24h workspace re-sweep, not by this Phase 2 PR. See §Workspace batch receipt for the partial fmt + clippy receipts captured during Phase 2 authoring. | -| 33 | `bridge_canonical_lens_name_dispatch_retired` | state-check | **N/A_NOT_PASSING** | Predicate not yet load-bearing: §1.8 Status `CONSUMER_LANDED` (consumer-side surface landed; full §Acceptance not yet PASSING) per §1.8 row #33 Notes. | NOT_APPLICABLE_AT_HEAD — §8 predicate-execution requirement attaches only to PASSING gates. | +| 33 | `bridge_canonical_lens_name_dispatch_retired` | state-check | **HARNESS_NAMED** | `cargo test -p v3-compiler --test integration -- canonical_lens_bridge_ratchet_test` (HEAD ratchet `canonical_lens_bridge_ratchet_test.rs` four-category zero pin + `bridge_retirement_demonstration` end-to-end `DeclarationRef`-routed `lens_output_equals_gate`); cross-ref `docs/r3-structure.md` §Acceptance gate #33 + closure brief `docs/briefs/r3-pb-bridge-canonical-lens-name-dispatch-closure.md`. | Harness named; execution receipt is produced by the §10 close-ceremony 24h workspace re-sweep, not by this Phase 2 PR. Status promoted to PASSING per §1.8 row #33 (full §Acceptance receipt at HEAD: ratchet 4-category zero + DeclarationRef-routed demonstration + bridge_ledger row Retired). | | 34 | `bridge_include_str_side_channels_retired` | state-check | **N/A_NOT_PASSING** | Predicate not yet load-bearing: §1.8 Status `CONSUMER_LANDED` (consumer-side surface landed; full §Acceptance not yet PASSING) per §1.8 row #34 Notes. | NOT_APPLICABLE_AT_HEAD — §8 predicate-execution requirement attaches only to PASSING gates. | | 35 | `bridge_exact_string_patching_residual_retired` | state-check | **HARNESS_NAMED** | `cargo test --workspace --exclude gunbc-dag-tests` (HEAD ratchet `bridge_exact_string_patching_residual_retired` and sibling ratchets cited under §1.8 row #35 Notes); cross-ref `docs/r3-structure.md` §Acceptance gate #35. | Harness named; execution receipt is produced by the §10 close-ceremony 24h workspace re-sweep, not by this Phase 2 PR. See §Workspace batch receipt for the partial fmt + clippy receipts captured during Phase 2 authoring. | | 36 | `bridge_retirement_ledger_zero` | ledger-count | **N/A_NOT_PASSING** | Predicate not yet load-bearing: §1.8 Status `DECLARED` (no PASSING claim at HEAD) per §1.8 row #36 Notes. | NOT_APPLICABLE_AT_HEAD — §8 predicate-execution requirement attaches only to PASSING gates. | From a24bb403270f74d047466dbef0ceebcb6e2e5038 Mon Sep 17 00:00:00 2001 From: Brian Searls Date: Thu, 14 May 2026 17:38:38 +0000 Subject: [PATCH 3/3] docs(r3-audit): update bucket counts + ledger-snapshot anchor for gate #33 promotion MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Codex BLOCKING review on PR #3094: the audit ledger header still reflected the pre-#33 totals (47/59, 44 PASSING, 21 CONSUMER_LANDED). Update them in the same PR per the §"Row-count parity" discipline: - Verdict line: 47 → 48 HARNESS_NAMED, 59 → 58 non-PASSING. - PASSING bucket: 44 → 45. - CONSUMER_LANDED bucket: 21 → 20. - Ledger-snapshot anchor narrative + status-bucket header record the row #33 delta (CONSUMER_LANDED → CONSUMER_LANDED + PASSING) alongside the prior row #15 delta. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../audit/r3-close-predicate-execution-2026-05-13.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/audit/r3-close-predicate-execution-2026-05-13.md b/docs/audit/r3-close-predicate-execution-2026-05-13.md index 53fdb28b117..34a56573379 100644 --- a/docs/audit/r3-close-predicate-execution-2026-05-13.md +++ b/docs/audit/r3-close-predicate-execution-2026-05-13.md @@ -25,11 +25,11 @@ Overall verdict remains **PENDING** until (a) every non-PASSING row transitions ## Verdict (Phase 2 index population) -**OVERALL: PENDING** — 47 of 106 gates have HARNESS_NAMED at this ledger snapshot; the remaining 59 gates are not at PASSING status and therefore have no predicate-execution obligation under §8 yet. **No execution receipt is asserted by this PR**; the §10 24h close-ceremony workspace re-sweep produces the receipts. +**OVERALL: PENDING** — 48 of 106 gates have HARNESS_NAMED at this ledger snapshot; the remaining 58 gates are not at PASSING status and therefore have no predicate-execution obligation under §8 yet. **No execution receipt is asserted by this PR**; the §10 24h close-ceremony workspace re-sweep produces the receipts. ## Ledger-snapshot anchor (boundary discipline, INVARIANTS P2) -This index was originally derived from `docs/r3-program-plan.md` §1.8 at commit `c055495c8` (the base commit of the Phase 2 PR). The 2026-05-14 follow-up re-derives row #15 only, after PR #3060 landed the L5 corpus runner scaffold and this PR records §1.8 gate #15 as `CONSUMER_LANDED` rather than PASSING. If a future PR edits §1.8, that PR must re-derive any affected rows in the same change per the row-count parity check below. +This index was originally derived from `docs/r3-program-plan.md` §1.8 at commit `c055495c8` (the base commit of the Phase 2 PR). The 2026-05-14 follow-up re-derives row #15 (PR #3060 — `DECLARED` → `CONSUMER_LANDED`) and row #33 (this PR — `CONSUMER_LANDED` → `CONSUMER_LANDED + PASSING`, full §Acceptance receipt at HEAD via the four-category `canonical_lens_bridge_ratchet_test`, `bridge_retirement_demonstration` DeclarationRef-routed lens-output-equals, and `src/v3/std/bridge_ledger.dag` row `bridge_canonical_lens_name_patching_residual` `Retired`). If a future PR edits §1.8, that PR must re-derive any affected rows in the same change per the row-count parity check below. ## Row-count parity (ledger source of truth) @@ -41,15 +41,15 @@ grep -cE '^\| [0-9]+ \| `' docs/r3-program-plan.md At the ledger-snapshot anchor commit `c055495c8`, that count is **106** (skeleton row count of 105 + row #106 `show_correct_code_diagnostic_coverage` added by merged PR #3020 per Gap 9 of `docs/r3-actual-close-plan.md`). The table below contains 106 rows mirroring that ledger one-for-one. -## Status-bucket distribution after row #15 re-derivation +## Status-bucket distribution after row #15 + row #33 re-derivation -Derived from the `c055495c8` §1.8 status snapshot plus the single 2026-05-14 row #15 delta (`DECLARED` → `CONSUMER_LANDED`) recorded in this follow-up: +Derived from the `c055495c8` §1.8 status snapshot plus the 2026-05-14 row #15 delta (`DECLARED` → `CONSUMER_LANDED`, PR #3060) and the row #33 delta (`CONSUMER_LANDED` → `CONSUMER_LANDED + PASSING`, this PR) recorded in this follow-up: | Bucket | Count | Predicate-execution requirement (§8) | |---|---:|---| -| `PASSING` | 44 | HARNESS_NAMED → §10 close-ceremony sweep produces EXECUTED receipt | +| `PASSING` | 45 | HARNESS_NAMED → §10 close-ceremony sweep produces EXECUTED receipt | | `SATISFIED-BY-CONSTRUCTION` | 3 | HARNESS_NAMED → §10 close-ceremony sweep produces EXECUTED receipt | -| `CONSUMER_LANDED` | 21 | not yet — not at PASSING | +| `CONSUMER_LANDED` | 20 | not yet — not at PASSING | | `DECLARED` | 30 | not yet — not at PASSING | | `R3-LOAD-BEARING` (declaration-stage) | 3 | not yet — not at PASSING | | `INTEGRATION_RECEIPT` | 3 | not yet — not at PASSING |