From 14331e59ff6d6b0a200be3a5fcdd2c82516a642f Mon Sep 17 00:00:00 2001 From: Brian Searls Date: Wed, 13 May 2026 18:02:18 +0000 Subject: [PATCH 01/15] =?UTF-8?q?docs(r3):=20R3=20actual-close=20plan=20?= =?UTF-8?q?=E2=80=94=2010=20adversarial=20gaps=20with=20disposition=20+=20?= =?UTF-8?q?dispatch=20sequencing=20(DRAFT=20pending=20Director=20+=20opera?= =?UTF-8?q?tor=20ratification)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Operator directive 2026-05-13 verbatim: "can we start on the planning docs to get to ACTUAL r3 close? like all of our adversarial questions answered positively? i feel like the planning for this stuff has been continuously dropped". PM-authored planning doc replacing "viz-as-SoT closed_at + DECLARED-strings-are-drift" framing with explicit per-gap disposition for the 10 substantive counterfactuals surfaced by today's adversarial audit: 1. PB-0 zero hand-Rust (177+ entries in EXPECTED_HAND_AUTHORED_NON_TEST; gate #8 DECLARED) 2. L5 cross-target consistency (gate #15 DECLARED; no Python/Go executable emission on main) 3. Self-host fixed point R3-strong (gate #16 R1-horizon only; 4 joint preconditions deferred) 4. Lens behavioral parity (3 of 4 lenses NOT behaviorally complete; gates #79/#81/#82/#83) 5. Tests-as-data completeness (gate #84 Cluster M Phase 3 bulk-port pending; load-bearing-blocking) 6. v2 retirement terminal (gate #97 coherence-only; src/v2/ exists at HEAD) 7. T-WAD FULL R3 (gates #98-#103 all DECLARED; ci.yml still hand-edited) 8. Bootstrap-seed Rust survivors (folded into Gap 1) 9. Show-the-correct-code (no §1.8 gate exists for THESIS:103-105) 10. Close-audit doc absent (interrogation §8 self-check has no execution log on main) For each gap: promise verbatim + HEAD evidence + what's missing + plan to cash (owner, sub-program, effort estimate) + close criterion predicate. §2 dispatch sequencing: 6 phases A-F mapped to Substrate Mgr / Verification Mgr / Debt-Paydown Mgr / Director-tier coordination / PM-direct. §3 total time-to-actual-close: 8-12 weeks optimistic; 12-20 realistic; 6+ months if PB-0 retirement is the longest tail and can't parallelize aggressively. §4 operator decision points: 4 binary IN-R3 / R4-defer choices that determine actual R3 scope (PB-0, L5 cross-target, self-host R3-strong, show-correct-code). §5 process discipline (preventing future drop): single authoritative plan doc, weekly PM closure-cadence message, per-gap closure-PR template, Gap 10 (close-audit doc) authored FIRST as receipt mechanism. Authority: - Operator directive 2026-05-13 (planning request) - Today's adversarial audit findings (counterfactual evidence against viz-as-SoT closure claim) - THESIS.md promise enumeration + r3-close-interrogation.md §-by-§ adversarial structure - §1.8 closure-authority ledger gate state at HEAD Status: DRAFT pending Director ratification + operator scope-decision approval before dispatch. Co-Authored-By: Claude Opus 4.7 (1M context) --- docs/r3-actual-close-plan.md | 382 +++++++++++++++++++++++++++++++++++ 1 file changed, 382 insertions(+) create mode 100644 docs/r3-actual-close-plan.md diff --git a/docs/r3-actual-close-plan.md b/docs/r3-actual-close-plan.md new file mode 100644 index 00000000000..50ac4f572a0 --- /dev/null +++ b/docs/r3-actual-close-plan.md @@ -0,0 +1,382 @@ +# R3 Actual-Close Plan — Adversarial-Gap Disposition + +**Status**: DRAFT (PM-authored 2026-05-13, pending Director ratification + operator approval) + +**Authority chain**: +- Operator directive 2026-05-13 (verbatim): *"can we start on the planning docs to get to ACTUAL r3 close? like all of our adversarial questions answered positively? i feel like the planning for this stuff has been continuously dropped"* +- Adversarial audit conducted 2026-05-13 by PM (deep-wolf-155) against `docs/r3-close-interrogation.md` § promise enumeration +- Counterfactual surface: 10 substantive gaps found between Director's viz-as-SoT closure claim and THESIS-promise delivery on main +- This doc replaces "viz-as-SoT closed_at + DECLARED-strings-are-drift" framing with explicit per-gap disposition: PROVEN / WEAK-EVIDENCE / GAP-with-plan / R4-DEFERRED-with-operator-accepted + +**Closure target**: every adversarial counterfactual either (a) cashed by a landed PR with on-main evidence, OR (b) explicitly R4-deferred with named operator acceptance recorded here, OR (c) reframed as not-R3-promised per THESIS authority. + +**Closure NOT-target**: closing R3 with `closed_at` markers alone. The Director's procedural closure is necessary but not sufficient. The substantive closure requires the receipts named below. + +--- + +## §1. Adversarial gaps + disposition plan + +Each gap below has: **Promise** (verbatim quote + citation), **HEAD evidence** (what exists today), **What's missing** (the load-bearing gap), **Plan to cash** (concrete dispatch shape + owner + effort), **Close criterion** (the predicate that would let this gap flip to PROVEN). + +--- + +### Gap 1 — PB-0 zero hand-Rust (gate #8 + #84) + +**Promise** (THESIS.md `feedback_pb_zero_is_r3_close_target` + r3-program-plan.md §1.8): *"R3 close = 0 hand-Rust + 0 TESTING residual per §1.8 gates #8 + #84."* + +**HEAD evidence**: +- `src/v3/compiler/tests/integration/sg0_census_test.rs:237` `EXPECTED_HAND_AUTHORED_NON_TEST` const carries **177+ entries** (the named-retirement-schedule) +- `EXPECTED_HAND_AUTHORED_TEST` const carries additional test residual +- Gate #8 row in §1.8 = **DECLARED** + +**What's missing**: the 177+ hand-Rust survivors are not migrated to `.dag` substrate or eliminated. The ratchet shape is "no NEW additions"; the close criterion is "ratchet list = empty." + +**Plan to cash**: +- **Owner**: warm-wolf-698 (R3 Substrate Mgr) for substrate work + zesty-boar-261 (R3 Debt-Paydown Mgr) for retirement campaign +- **Sub-program**: enumerate each entry's retirement path — (a) migrate to `.dag` carrier + walker, (b) eliminate via Practice-4 dissolution into existing substrate, (c) explicit R4-deferral with operator-recorded acceptance +- **Effort estimate**: ~3-6 months at current velocity (per memory `feedback_pre_authored_brief_queue` cadence) +- **Discipline**: every retirement PR ratchets list size DOWN by ≥1; never add to list; PR-template asserts ratchet direction + +**Close criterion**: +```rust +// in sg0_census_test.rs at HEAD when R3 actually closes: +const EXPECTED_HAND_AUTHORED_NON_TEST: &[&str] = &[]; +const EXPECTED_HAND_AUTHORED_TEST: &[&str] = &[]; +``` +plus `cargo test --release sg0_census_test` passes with predicate = 0. + +**Alternative disposition (if operator accepts deferral)**: explicit R4 acceptance recorded here for specific subsets of the 177+ entries (e.g., grounding submodules may be Tier-2 R4-deferred per design-pure-bootstrap-zero.md). PM-recommended: do NOT R4-defer this in bulk — it's the load-bearing thesis claim. + +--- + +### Gap 2 — L5 cross-target consistency (gate #15) + +**Promise** (r3-structure.md §Acceptance + §3.1 of interrogation doc): *"for every `.dag` program, emitted Rust/Python/Go produce equivalent runtime behavior on the certification corpus."* + +**HEAD evidence**: +- Gate #15 `l5_cross_target_consistency` = **DECLARED** +- Python emission: only `src/v3/compiler/tests/boundary/m1_4_emit_python_test.rs` (boundary test, not lane acceptance) +- Go emission: no equivalent boundary test +- No `.dag → {Rust, Python, Go}` stdout-parity demo on main + +**What's missing**: certification corpus + 3-target emission per corpus program + stdout-parity assertion. + +**Plan to cash**: +- **Owner**: swift-deer-459 (R3 Verification Mgr) + warm-wolf-698 (for any missing carrier-level support) +- **Sub-program** (5 phases): + 1. **Define certification corpus**: enumerate the `.dag` programs that constitute the L5 corpus; ratify with operator (estimate 10-20 programs covering 5 dimensions × 3 algebra-classes) + 2. **Land Python emitter** as lane-acceptance code path (not boundary-test scope) + 3. **Land Go emitter** as lane-acceptance code path + 4. **Per-corpus-program L5 assertion**: each program runs through Rust + Python + Go; stdout compared; assertion fail-closed on divergence + 5. **CI integration**: corpus runs on every PR; ratchet on coverage growth +- **Effort estimate**: 4-8 weeks (Python emitter alone is significant; Go follows pattern) + +**Close criterion**: +```bash +# Predicate at gate #15 close: +cargo test --release -p v3-compiler --test l5_cross_target_consistency +# returns: PASS with N>0 certification-corpus programs, all 3 targets agreeing on stdout +``` +plus §1.8 row #15 status flips DECLARED → PASSING with corpus enumeration cited. + +**Alternative disposition**: if operator accepts Python/Go as R4-deferred (R3 = Rust-only + Shape-B SQL/Markdown/OpenAPI), record acceptance here + amend §3.1 to claim only Rust as R3-shipped Shape-A. This re-scopes the 3-target story. + +--- + +### Gap 3 — Self-host fixed point (gate #16) + +**Promise** (r3-structure.md §"Acceptance" + §4.2 of interrogation doc): *"bit-identical stage0 + emitted artifact" — the compiler can compile itself and emit a bit-for-bit identical compiler.* + +**HEAD evidence**: +- Gate #16 = **CONSUMER_LANDED (R1 horizon; R3 stronger interpretation pending)** +- 4 joint preconditions deferred per parent brief: + - R2-Evaluator landed + - R2-Grounding-Rust+Python landed + - T-LP/SG-0 landed (= Gap 1 above) + - Row-B materialization landed + +**What's missing**: the 4 joint preconditions all need to land before R3-strong-form self-host can be claimed. + +**Plan to cash**: +- **Owner**: Director-tier coordination (cross-Mgr); PM tracks +- **Sub-program**: each precondition has its own program; this gap is meta-blocked + - R2-Evaluator: separate program; current status unknown to PM (need Director audit) + - R2-Grounding-Rust+Python: gate #18 + extdeps work + - T-LP/SG-0: same as Gap 1 + - Row-B materialization: T-LBP work +- **Effort estimate**: 2-4 months (joint precondition; bounded by the longest of 4) + +**Close criterion**: +```bash +# Predicate at gate #16 R3-strong-form close: +self_host_fixed_point && diff -q +# returns: byte-identical +``` +All 4 precondition gates PASSING + actual self-host invocation producing bit-identical output. + +**Alternative disposition**: if operator accepts R1-horizon as R3-acceptable (compiler self-compiles but bit-identity only on R1-subset), record acceptance here + amend §4.2 promise text to scope-narrow the R3 claim. + +--- + +### Gap 4 — Lens behavioral parity (gates #79 / #81 / #82 / #83) + +**Promise** (r3-program-plan.md §1.6 Cluster F + interrogation §1.1/§1.3/§1.4): *"4 in-R3 lenses (complexity + cost + parallelism + effect_enum) behaviorally complete; lens capability register has zero proxy / zero stub."* + +**HEAD evidence**: +- #79 complexity = **SATISFIED-BY-CONSTRUCTION** via temporary Rust cementing receipt (`complexity_lens_behavioral_completion.rs`) "until ComplexitySummary TestClaim literals are expressible" +- #80 cost = **PASSING** ✓ +- #81 parallelism = **R3-LOAD-BEARING**, F-α sub-phase pending (Stage 2e walker port from `workflow_parallelism.rs` → `.dag`) +- #82 effect_enum = **R3-LOAD-BEARING**, F-β.1 canvas + F-β.2 atomic-migration pending +- #83 lens_capability_register_zero_proxy_zero_stub = **DECLARED** (proxies/stubs still exist for 3 of 4 lenses) + +**What's missing**: +- Complexity: `ComplexitySummary` TestClaim literals (bridge-Rust to native-.dag migration) +- Parallelism: Cluster F sub-phase F-α (Stage 2e walker port) +- Effect: Cluster F sub-phase F-β.1 (canvas) + F-β.2 (atomic-migration impl) +- Register: zero-proxy-zero-stub for all 4 lenses post-sub-phase landings + +**Plan to cash**: +- **Owner**: warm-wolf-698 (Substrate Mgr) for canvases + worker dispatch +- **Sub-program** (in dependency order): + 1. F-α (parallelism walker port) — worker brief pending dispatch + 2. F-β.1 (effect canvas) — Substrate Mgr canvas authoring + 3. F-β.2 (effect atomic-migration) — worker dispatch post-canvas-ratification + 4. ComplexitySummary TestClaim literals — substrate work to enable native-.dag complexity assertions + 5. F-γ.2 (post-all-4-lenses-complete register sweep) — gate #83 close +- **Effort estimate**: 4-8 weeks for all 4 sub-phases (warm-wolf-698 sequential cadence per `feedback_parallel_canvas_sequential_authoring`) + +**Close criterion**: §1.8 rows #79 (PASSING with native-.dag witness, no Rust cementing receipt), #81 PASSING, #82 PASSING, #83 PASSING. + +--- + +### Gap 5 — Tests-as-data completeness (gates #84 + #85) + +**Promise** (THESIS facet 3 + r3-program-plan.md §1.8 #84): *"every Rust test ports to `.dag` or is generated."* + +**HEAD evidence**: +- Gate #84 `every_rust_test_ports_to_dag_or_generated` = **DECLARED** +- Gate #85 `forall_exists_quantifier_substrate_landed` = **DECLARED** (carriers landed; generated consumer pending per §P2) +- Gate #86 `program_generator_carrier_landed` = **CONSUMER_LANDED + PASSING** ✓ +- Gate #87 `lens_cementing_test_discipline_complete` = **CONSUMER_LANDED + PASSING** ✓ +- Per Q-PB0-ClusterM-Cold-Risk6 verbatim: *"Severity: load-bearing-blocking — without Cluster M dispatch, gate #84 cannot close inside 8-12 week R3 window."* +- 99 hand-Rust tests in `src/v3/compiler/tests/integration/` + +**What's missing**: +- Cluster M Phase 3 bulk-port (per-class workers) — 80-90 of 101 SG-0 test entries dissolve via this single bulk event +- Gate #85 generated consumer (SuiteClaim wrapper migration per design §6 line 344) + +**Plan to cash**: +- **Owner**: swift-deer-459 (R3 Verification Mgr) + per-class workers +- **Sub-program** (per `docs/audit/r3-cluster-m-sequencing-plan-2026-05-09.md`): + - Phase 1 (#86): LANDED ✓ + - Phase 1a (#85 carriers): LANDED ✓ + - Phase 2 (#87 receipts): LANDED ✓ + - **Phase 3 (#84 bulk-port)**: 99 tests × per-class dispatch — per-class worker briefs needed +- **Effort estimate**: 4-8 weeks per Cluster M plan (operator "staffing not a concern" allows parallel dispatch) + +**Close criterion**: +```bash +# Predicate at gate #84 close: +find src/v3/compiler/tests/integration -name "*.rs" -not -path "*/common/*" -not -path "*/boundary/*" | wc -l +# returns: 0 (or only generated-from-.dag survivors) +``` +plus #85 SuiteClaim wrapper consumer landed. + +--- + +### Gap 6 — v2 retirement terminal (gate #97) + +**Promise** (interrogation §5.2): *"v2 fully retired."* + +**HEAD evidence**: +- Gate #97 `method_template_projection_emit_shim_retirement_coherence` = **PASSING** for coherence-only +- Per gate row verbatim: *"Terminal retirement = v2 tree absent ⇒ lib + bin table + bin source absent; coherence holds continuously."* +- `src/v2/` exists at HEAD (terminal not reached) + +**What's missing**: actual deletion of `src/v2/` tree. + +**Plan to cash**: +- **Owner**: zesty-boar-261 (R3 Debt-Paydown Mgr) — terminal-deletion sweep +- **Sub-program**: + 1. Final v2 consumer audit (any `src/v2/` consumers remaining?) + 2. Delete `src/v2/` + dependent build manifests + workspace member + 3. Verify gate #97 coherence: lib absent ✓ + bin table empty ✓ + bin source absent ✓ +- **Effort estimate**: 1-2 weeks (mostly audit; deletion is mechanical) +- **Dependency**: gates #16 (self-host fixed point) AND #84 (tests-as-data) precondition — can't delete v2 until v3 can self-host AND tests don't depend on v2 oracles + +**Close criterion**: `ls src/v2/ 2>&1 | grep "No such file"` returns true. §1.8 row #97 terminal-PASSING. + +--- + +### Gap 7 — T-WAD FULL R3 (gates #98-#103) + +**Promise** (r3-program-plan.md §1.8 #98-#103, ratified 2026-05-12 per Director msg_5cbdad24 + msg_f9fd669e + operator directive 2026-05-12): *"Workflow-as-data FULL R3 — ci.yml is structural emission output not hand-authored; affected-set lens used in CI selection."* + +**HEAD evidence**: +- All 6 gates (#98 / #99 / #100 / #101 / #102 / #103) = **DECLARED** +- `.github/workflows/ci.yml` still **hand-edited** at HEAD +- `project_github_actions` projection function not landed +- T-WAD Slice 4 (YamlStatic emitter) in-flight at PR #2816 (open) +- Affected-set lens has design doc (`docs/design-affected-set-lens.md`); no §1.8 ratification + +**What's missing**: 5-slice cascade (Slice 4 substrate → Slice 5 ci.yml swap → Slice 6 binary-shim → Slice 7 affected-set → Slice 8 substrate completion). + +**Plan to cash**: +- **Owner**: zesty-boar-261 (R3 Debt-Paydown Mgr) per T-WAD lane assignment + sharp-deer-576 for Slice 6 cost-dim work +- **Sub-program** (per cascade): + 1. Slice 4: PR #2816 YamlStatic emitter — IN-FLIGHT + 2. Slice 5: ci.yml swap to emission-output + 3. Slice 6: BinaryShim runtime + slow-test-exemptions dissolution + 4. Slice 7: affected-set lens CI integration + 5. Slice 8: substrate completion (gate #99 #100 #101 ratifications) +- **Effort estimate**: 4-6 weeks (Slice 4 nearly landed; rest follows quickly) + +**Close criterion**: §1.8 rows #98-#103 all PASSING. `.github/workflows/ci.yml` is byte-identical to `project_github_actions(ci_workflow_dag, YamlStatic)` output. + +--- + +### Gap 8 — Bootstrap-seed Rust survivors + +**Promise** (design-pure-bootstrap-zero.md:41 + :210): *"0-floor target; machine-emitted bootstrap-seed is the only acceptable form."* + +**HEAD evidence**: bound to Gap 1 — hand-authored survivors persist on the ratchet. + +**Plan to cash**: same as Gap 1 (PB-0 retirement); this gap is folded into the SG-0 census campaign. + +**Close criterion**: same as Gap 1. + +--- + +### Gap 9 — Show-the-correct-code (THESIS:103-105) + +**Promise** (THESIS.md:103-105): *"Diagnostics should point to the structurally correct program, not just report that the current one is wrong."* + +**HEAD evidence**: +- **No §1.8 gate** exists for this promise +- `docs/audit/` does not have a "show-correct-code coverage" tracking doc +- Closure ledger doesn't carry it + +**What's missing**: §1.8 gate + per-diagnostic-class audit + close criterion. + +**Plan to cash**: +- **Owner**: PM (deep-wolf-155) authors the new §1.8 row + Verification Mgr (swift-deer-459) implements +- **Sub-program**: + 1. Author new §1.8 row #106 `show_correct_code_diagnostic_coverage` with substrate-shape gate type + 2. Enumerate diagnostic classes (parse / type / lens / emit / ...) + 3. For each class, audit existing diagnostics + check whether they cite "Y would be right" or only "X is wrong" + 4. Author canvas for the substrate shape that admits Diagnostic-with-correction + 5. Worker brief dispatch to retrofit existing diagnostics +- **Effort estimate**: 4-8 weeks (depends on diagnostic class count; potentially smaller if substrate already supports it) + +**Close criterion**: §1.8 row #106 PASSING; every Diagnostic in `src/v3/compiler/` has a `correction: Option` field that is `Some(_)` for ≥80% of fired diagnostics in test corpus. + +**Alternative disposition**: if operator accepts that show-correct-code is THESIS-aspirational not R3-promised, record explicit not-R3-scoped here + amend interrogation doc §6 to reflect. + +--- + +### Gap 10 — Close-audit doc absent (interrogation §8) + +**Promise** (r3-close-interrogation.md §8): *"All 104 §1.8 predicates executed at HEAD within 24h of close ceremony. Execution log preserved as audit artifact."* + +**HEAD evidence**: +- No `docs/audit/r3-close-predicate-execution-2026-05-13.md` exists +- The close-ceremony self-check doc has not been authored + +**What's missing**: the close-ceremony doc. + +**Plan to cash**: +- **Owner**: PM (deep-wolf-155) authors the doc; Verification Mgr (swift-deer-459) executes predicates +- **Sub-program**: + 1. PM authors skeleton: 105 rows, one per §1.8 gate, with column for predicate execution status + 2. Verification Mgr runs each predicate at HEAD; records pass/fail + output snippet + 3. PM closes out the doc with verdict per row + overall R3-close verdict +- **Effort estimate**: 1-2 days (execution-only; depends on remote build availability) + +**Close criterion**: `docs/audit/r3-close-predicate-execution-YYYY-MM-DD.md` exists on main with ALL 105 rows filled + overall verdict cited. + +**Note**: this gap is the *receipt* for the closure ceremony. It can land at any time (not blocked on other gaps). Authoring this should be PM's immediate next deliverable. + +--- + +## §2. Dispatch sequencing (PM-recommended) + +Given the cross-gap dependencies, recommended dispatch order: + +**Phase A — Immediate (PM-direct, 1-2 weeks)**: +- Gap 10: PM authors close-audit doc skeleton; dispatches predicate execution +- Gap 9: PM proposes §1.8 row #106 to Director for ratification + +**Phase B — Substrate Mgr lane (warm-wolf-698, 4-8 weeks)**: +- Gap 4 (lens behavioral parity): F-α → F-β.1 → F-β.2 → ComplexitySummary → F-γ.2 register sweep +- Gap 7 (T-WAD): Slice 4 → 5 → 6 → 7 → 8 cascade (zesty-boar-261 + sharp-deer-576 lane) + +**Phase C — Verification Mgr lane (swift-deer-459, 4-8 weeks)**: +- Gap 5 (Cluster M Phase 3): 99-Rust-test bulk-port dispatch +- Gap 2 (L5 cross-target): certification corpus + Python/Go emitters + +**Phase D — Debt-Paydown lane (zesty-boar-261, ~3-6 months)**: +- Gap 1 (PB-0): 177-entry retirement campaign +- Gap 6 (v2 terminal): gated on Gap 1 + Gap 3 + +**Phase E — Director-tier coordination (zesty-bear-812, parallel)**: +- Gap 3 (self-host fixed point): 4-joint-precondition cross-Mgr audit + +**Phase F — Final close ceremony (PM-direct, 1 week)**: +- Re-run close-audit doc with all gaps PROVEN or R4-DEFERRED-with-acceptance +- Operator final ratification +- Bookkeeping batch PR per Director's identified hygiene fix (105 stale §1.8 strings → sync to closed_at reality) + +--- + +## §3. Total estimated time-to-actual-close + +**Optimistic**: 8-12 weeks with parallel Mgr dispatch + operator "staffing not a concern" framing. + +**Realistic**: 12-20 weeks accounting for: +- Joint preconditions on Gap 3 +- Cluster M Phase 3 bulk dispatch coordination (Gap 5) +- 177-entry retirement campaign velocity (Gap 1; the longest tail) + +**Pessimistic**: 6+ months if Gap 1 cannot be parallelized aggressively (PB-0 is the longest tail; everything else can run faster). + +--- + +## §4. Operator decision points (request for ratification) + +Before dispatching this plan, PM requests operator decision on: + +1. **Gap 1 (PB-0)**: full 177-entry retirement IN-R3, OR partial R4-deferral with explicit list? +2. **Gap 2 (L5 cross-target)**: full 3-target Python+Go IN-R3, OR Rust-only-Shape-A with Python+Go R4-deferred? +3. **Gap 3 (self-host R3-strong)**: 4-joint-precondition cascade IN-R3, OR R1-horizon acceptable with strong-form R4-deferred? +4. **Gap 9 (show-correct-code)**: new §1.8 gate IN-R3, OR THESIS-aspirational-not-R3-promised reframe? + +These 4 decisions determine the actual R3 scope. Without them, the plan above optimistically assumes all gaps cash IN-R3, which is the longer time horizon. + +--- + +## §5. Process discipline (preventing future drop) + +Operator framing 2026-05-13: *"planning for this stuff has been continuously dropped."* + +Anti-pattern observed: closure-ceremony work is ad-hoc and gets bumped by reactive work (PR reviews, daily merges, Mgr coordination). The closure receipt (Gap 10) was the first thing to drop. + +**Process discipline going forward**: +1. **This doc is the single authoritative closure plan**. Updates land via PR with operator review. No parallel planning docs. +2. **Weekly PM closure-cadence message to Director + operator**: progress vs plan, gaps closing, blockers surfaced. Cadence: every Monday. +3. **Per-gap closure PR template**: each gap-closure PR must cite the gap number from this doc + the close criterion satisfied + audit evidence path. +4. **Gap 10 (close-audit doc) is authored FIRST** — it's the receipt mechanism for everything else. Without it, "closed" is unverifiable. + +--- + +## §6. Pending Director + operator decisions + +- [ ] Director ratifies this plan structure (PM-recommended) +- [ ] Operator approves §4 scope decisions (4 binary IN-R3 / R4-defer choices) +- [ ] Operator authorizes Phase A immediate dispatch (close-audit doc + §1.8 row #106 author) +- [ ] PM dispatches Phase B + Phase C briefs post-ratification + +--- + +**Authored by**: deep-wolf-155 (PM) +**Date**: 2026-05-13 +**Status**: DRAFT pending Director ratification + operator scope approval From 05c73eb83c4c98f65999dabfeb808990290bc67c Mon Sep 17 00:00:00 2001 From: Brian Searls Date: Wed, 13 May 2026 18:04:03 +0000 Subject: [PATCH 02/15] =?UTF-8?q?docs(r3):=20Gap=204=20=E2=80=94=20cite=20?= =?UTF-8?q?closed=20PR=20#2860=20as=20content-source=20for=20parallelism?= =?UTF-8?q?=20cementing-receipt=20re-launch=20(Director=20msg=5Fb3324a05?= =?UTF-8?q?=20flag)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Director (msg_b3324a05) flagged PR #2860 (G87-C parallelism cementing receipt + ratchet repair, closed 2026-05-13T16:45:44Z under operator cleanup directive) as load-bearing for counterfactual #4 / Gap 4 parallelism behavioral parity. The PR content is retrievable via `gh pr view 2860 --json body` so the Gap 4 cementing-receipt re-launch doesn't author from scratch. Adds PR #2860 reference to Gap 4 sub-program as step 2 (between F-α and F-β.1), with concrete artifact paths + dissolution-trigger naming + relationship-to-F-α clarification (cementing-receipt is gate-#87 ratchet-discipline level, distinct from F-α Stage 2e walker port which is substrate work). Both are required for full Gap 4 closure. Cementing-receipt re-launch is cheaper (PR #2860 substance ready); F-α walker port is the larger substrate scope. Authority: - Director msg_b3324a05 flag (2026-05-13) - PR #2860 substance per gh API retrieval - §1.8 row #87 lens_cementing_test_discipline_complete (CONSUMER_LANDED + PASSING; ratchet fires on inventory mismatch) Co-Authored-By: Claude Opus 4.7 (1M context) --- docs/r3-actual-close-plan.md | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/docs/r3-actual-close-plan.md b/docs/r3-actual-close-plan.md index 50ac4f572a0..0edd0b1c427 100644 --- a/docs/r3-actual-close-plan.md +++ b/docs/r3-actual-close-plan.md @@ -139,13 +139,14 @@ All 4 precondition gates PASSING + actual self-host invocation producing bit-ide - **Owner**: warm-wolf-698 (Substrate Mgr) for canvases + worker dispatch - **Sub-program** (in dependency order): 1. F-α (parallelism walker port) — worker brief pending dispatch - 2. F-β.1 (effect canvas) — Substrate Mgr canvas authoring - 3. F-β.2 (effect atomic-migration) — worker dispatch post-canvas-ratification - 4. ComplexitySummary TestClaim literals — substrate work to enable native-.dag complexity assertions - 5. F-γ.2 (post-all-4-lenses-complete register sweep) — gate #83 close -- **Effort estimate**: 4-8 weeks for all 4 sub-phases (warm-wolf-698 sequential cadence per `feedback_parallel_canvas_sequential_authoring`) - -**Close criterion**: §1.8 rows #79 (PASSING with native-.dag witness, no Rust cementing receipt), #81 PASSING, #82 PASSING, #83 PASSING. + 2. **Gate-#87 cementing-receipt re-launch for parallelism** — content-source from **closed PR #2860** (`session/crisp-owl-183`, closed 2026-05-13T16:45:44Z under operator cleanup directive; flagged by Director msg_b3324a05 as load-bearing): `regen.dag` parallelism row needs matching gate-#87 cementing harness; `r3_gate_87_lens_cementing_regen_receipts_test::r3_gate_87_regen_lens_registry_names_match_fixture_inventory` fails closed at HEAD on inventory mismatch (`{"parallelism"}` extra in regen.dag without paired test). PR #2860 disposition: parallelism is `LensCapabilityBehavioralPartial` + `LensCapabilityV2NoneV3Native` per `src/v3/std/verification.dag:213-218` + `docs/v3-lens-capability-register.md:45`; G87-C-disciplined receipt = explicit `Compiles` placeholder + paired Rust pin + named dissolution trigger naming public `WorkflowParallelismReport` / `ParallelismUnsupportedDetail` typed-pairwise-evidence routing; mirrors infer_helpers / lower_helpers / variant_payload pattern. Concrete artifact: `src/v3/compiler/tests/dag/t_r3_gate_87_cementing_regen_parallelism.dag`. Retrieve via `gh pr view 2860 --json body` or `gh pr diff 2860`. + 3. F-β.1 (effect canvas) — Substrate Mgr canvas authoring + 4. F-β.2 (effect atomic-migration) — worker dispatch post-canvas-ratification + 5. ComplexitySummary TestClaim literals — substrate work to enable native-.dag complexity assertions + 6. F-γ.2 (post-all-4-lenses-complete register sweep) — gate #83 close +- **Effort estimate**: 4-8 weeks for all 5 sub-phases (warm-wolf-698 sequential cadence per `feedback_parallel_canvas_sequential_authoring`) + +**Close criterion**: §1.8 rows #79 (PASSING with native-.dag witness, no Rust cementing receipt), #81 PASSING, #82 PASSING, #83 PASSING, #87 ratchet-pass at HEAD. --- From a4d1608018d17d92b083fb15ef9cc98d03f7dbb6 Mon Sep 17 00:00:00 2001 From: Brian Searls Date: Wed, 13 May 2026 18:06:44 +0000 Subject: [PATCH 03/15] docs(r3): integrate Director msg_cd2d8d7d 8 substantive feedback items into close plan MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Director (zesty-bear-812) ratified PR #3013 structure + dispatch sequencing + §5 process discipline. 8 substantive items applied: 1. **§4 R4-carve framing collision** — Per `project_no_r4_carves_directive` (Brian 2026-05-08), R4-carve is NOT freely available as default. §4 reframed: 4 decisions default to IN-R3; explicit override required with stated structural-unblockable reason. §5 process-discipline note added. 2. **Gap 3 R2-Evaluator audit** — Director-tier deliverable picked up by zesty-bear-812 (this week per msg_cd2d8d7d). §6 deliverables list tracks. 3. **Gap 4 sequential cadence as Mgr-bandwidth lever** — Effort estimate split: single-Mgr sequential 4-8wk vs parallelized-via-2nd-Substrate-Mgr ~2-4wk. Surfaced as tightening lever, not foreclosed. 4. **Gap 5 close-criterion header-marker filter** — Predicate amended to `xargs grep -L "// AUTO-GENERATED FROM .dag" | wc -l == 0` so generated-from-.dag tests are filterable. Substrate prereq: code-gen emits header line; if not present at HEAD, lands in Gap 5 Phase 3 ratchet. 5. **Gap 6 transitive-dependency depth** — Explicit 5+ deep chain call-out: Gap 6 ← Gap 3 ← {Gap 1, R2-Evaluator, R2-Grounding, Row-B}. Gap 6 framed as close-ceremony terminal gate (last 2 weeks of R3 close). 6. **Gap 9 threshold = operator decision** — ≥80% pragmatic relaxation is operator-decision-shaped, not Director-decision. §4 now surfaces (a) IN-R3 vs not-R3-promised choice + (b) if IN-R3, threshold = 100% (THESIS-correct) or ≥X% pragmatic with named-residual list. Per `project_no_r4_carves_directive`, the not-R3-promised reframe is structurally an R4-carve requiring operator override. 7. **Gap 10 timeline calibrated** — Skeleton 1-2 days (PM-direct, unblocked, immediate); execution 1-2 weeks (Verification Mgr serial) or 3-5 days (ctrl-build parallel). Overall ~1-2 weeks for full landing. 8. **Phase F bookkeeping downstream of close-audit-doc verdict** — §2 Phase F reworded: §1.8 manifest strings sync to close-audit-doc predicate-execution outcome (View-4-authoritative per `feedback_r3_close_three_views_drift`), NOT to procedural `closed_at` markers. Sequencing: close-audit-doc lands first; bookkeeping PR consumes that doc as authority. Avoids procedural-closure trap. §6 pending-decisions list updated: - Director ratification: checked ✓ - Operator §4 confirmations: 4 sub-items per gap - Director-tier deliverables in-flight per msg_cd2d8d7d (4 items) - Operator Phase A authorization Authority: - Director ratification msg_cd2d8d7d (2026-05-13) — substance verdict + 8 feedback items - `project_no_r4_carves_directive` (Brian 2026-05-08, 5d-old memory but still presumptively in force; surfaced for operator confirmation) - `feedback_r3_close_three_views_drift` View 4 authoritative (Director memory update post-msg_b3324a05) Co-Authored-By: Claude Opus 4.7 (1M context) --- docs/r3-actual-close-plan.md | 70 +++++++++++++++++++++++++----------- 1 file changed, 49 insertions(+), 21 deletions(-) diff --git a/docs/r3-actual-close-plan.md b/docs/r3-actual-close-plan.md index 0edd0b1c427..c25905bb8f1 100644 --- a/docs/r3-actual-close-plan.md +++ b/docs/r3-actual-close-plan.md @@ -144,7 +144,8 @@ All 4 precondition gates PASSING + actual self-host invocation producing bit-ide 4. F-β.2 (effect atomic-migration) — worker dispatch post-canvas-ratification 5. ComplexitySummary TestClaim literals — substrate work to enable native-.dag complexity assertions 6. F-γ.2 (post-all-4-lenses-complete register sweep) — gate #83 close -- **Effort estimate**: 4-8 weeks for all 5 sub-phases (warm-wolf-698 sequential cadence per `feedback_parallel_canvas_sequential_authoring`) +- **Effort estimate (single-Mgr sequential)**: 4-8 weeks for all 5 sub-phases (warm-wolf-698 sequential cadence per `feedback_parallel_canvas_sequential_authoring`) +- **Effort estimate (parallelized — Director feedback item 3)**: F-α + F-β.1 + ComplexitySummary substrate can parallelize under a second Substrate Mgr per operator "staffing not a concern" framing. Tightens timeline to ~2-4 weeks at cost of one additional Mgr-tier dispatch. Sequential-cadence is a Mgr-bandwidth choice, not a hard constraint; surfacing as a tightening lever for operator/Director. **Close criterion**: §1.8 rows #79 (PASSING with native-.dag witness, no Rust cementing receipt), #81 PASSING, #82 PASSING, #83 PASSING, #87 ratchet-pass at HEAD. @@ -175,14 +176,18 @@ All 4 precondition gates PASSING + actual self-host invocation producing bit-ide - **Phase 3 (#84 bulk-port)**: 99 tests × per-class dispatch — per-class worker briefs needed - **Effort estimate**: 4-8 weeks per Cluster M plan (operator "staffing not a concern" allows parallel dispatch) -**Close criterion**: +**Close criterion** (Director feedback item 4 — header-marker filter): ```bash -# Predicate at gate #84 close: -find src/v3/compiler/tests/integration -name "*.rs" -not -path "*/common/*" -not -path "*/boundary/*" | wc -l -# returns: 0 (or only generated-from-.dag survivors) +# Predicate at gate #84 close — excludes generated-from-.dag tests via header marker: +find src/v3/compiler/tests/integration -name "*.rs" -not -path "*/common/*" -not -path "*/boundary/*" \ + | xargs grep -L "// AUTO-GENERATED FROM .dag" \ + | wc -l +# returns: 0 (only generated-from-.dag survivors carry the marker; hand-authored fail-closed) ``` plus #85 SuiteClaim wrapper consumer landed. +**Substrate prereq**: code-gen pipeline must emit `// AUTO-GENERATED FROM .dag` header line for every generated `*_test.rs` so the predicate can mechanically discriminate hand-authored vs generated. If not present at HEAD, lands in Gap 5 Phase 3 ratchet. + --- ### Gap 6 — v2 retirement terminal (gate #97) @@ -203,7 +208,11 @@ plus #85 SuiteClaim wrapper consumer landed. 2. Delete `src/v2/` + dependent build manifests + workspace member 3. Verify gate #97 coherence: lib absent ✓ + bin table empty ✓ + bin source absent ✓ - **Effort estimate**: 1-2 weeks (mostly audit; deletion is mechanical) -- **Dependency**: gates #16 (self-host fixed point) AND #84 (tests-as-data) precondition — can't delete v2 until v3 can self-host AND tests don't depend on v2 oracles +- **Dependency** (Director feedback item 5 — explicit transitive depth call-out): Gap 6 has the deepest transitive chain in the program: + - Gap 6 → depends on Gap 1 (PB-0 retirement complete) + Gap 3 (self-host fixed point R3-strong) + - Gap 3 → depends on Gap 1 + R2-Evaluator + R2-Grounding-Rust+Python + Row-B materialization + - Effective chain: **Gap 6 ← Gap 3 ← {Gap 1, R2-Evaluator, R2-Grounding, Row-B}** — 5+ deep +- **Position in close ceremony**: **Gap 6 IS the close-ceremony terminal gate** (per Director recommendation msg_cd2d8d7d item 5). v2 tree deletion is the FINAL R3 dissolution; the entire ratchet → carrier → walker → emission → self-host → test-port cascade closes upstream first. Expect Gap 6 to land in the last 2 weeks of R3 close. **Close criterion**: `ls src/v2/ 2>&1 | grep "No such file"` returns true. §1.8 row #97 terminal-PASSING. @@ -269,9 +278,13 @@ plus #85 SuiteClaim wrapper consumer landed. 5. Worker brief dispatch to retrofit existing diagnostics - **Effort estimate**: 4-8 weeks (depends on diagnostic class count; potentially smaller if substrate already supports it) -**Close criterion**: §1.8 row #106 PASSING; every Diagnostic in `src/v3/compiler/` has a `correction: Option` field that is `Some(_)` for ≥80% of fired diagnostics in test corpus. +**Close criterion** (Director feedback item 6 — threshold is operator-decision-shaped, NOT Director-decision): +- **THESIS-correct (100%)**: every Diagnostic in `src/v3/compiler/` has `correction: Witness` field present + `Some(_)` for **every** fired diagnostic in test corpus. No threshold relaxation; THESIS:103-105 reads as absolute promise. +- **Pragmatic relaxation (≥X%, X TBD)**: operator-set threshold + named-residual list for diagnostics not yet producing corrections. Requires explicit operator acceptance of threshold + retirement plan for residual. -**Alternative disposition**: if operator accepts that show-correct-code is THESIS-aspirational not R3-promised, record explicit not-R3-scoped here + amend interrogation doc §6 to reflect. +Surfacing both at §4 for operator ratification (Director feedback item 6 routed there). + +**Alternative disposition**: if operator accepts that show-correct-code is THESIS-aspirational not R3-promised, record explicit not-R3-scoped here + amend interrogation doc §6 to reflect. **Note per standing directive**: this alternative requires operator override of `project_no_r4_carves_directive` since "THESIS-aspirational-not-R3-promised" is structurally an R4-carve. --- @@ -291,11 +304,15 @@ plus #85 SuiteClaim wrapper consumer landed. 1. PM authors skeleton: 105 rows, one per §1.8 gate, with column for predicate execution status 2. Verification Mgr runs each predicate at HEAD; records pass/fail + output snippet 3. PM closes out the doc with verdict per row + overall R3-close verdict -- **Effort estimate**: 1-2 days (execution-only; depends on remote build availability) +- **Effort estimate** (Director feedback item 7 — calibrated): + - **Skeleton authoring (PM-direct)**: 1-2 days — 105-row table scaffold + per-row column shape + initial categorization + - **Predicate execution (Verification Mgr serial)**: 1-2 weeks — 105 individual `cargo test` / `grep` invocations + result capture + per-row writeup + - **Predicate execution (Verification Mgr parallel via ctrl-build)**: 3-5 days compressed if remote BuildBuddy infra healthy + parallelism dispatch + - **Overall**: 1-2 weeks for full landing, contingent on Verification Mgr capacity + ctrl-build availability **Close criterion**: `docs/audit/r3-close-predicate-execution-YYYY-MM-DD.md` exists on main with ALL 105 rows filled + overall verdict cited. -**Note**: this gap is the *receipt* for the closure ceremony. It can land at any time (not blocked on other gaps). Authoring this should be PM's immediate next deliverable. +**Note**: this gap is the *receipt* for the closure ceremony. Skeleton authoring (1-2 days) is not blocked on other gaps and is PM's immediate next deliverable; predicate execution (1-2 weeks) can run in parallel with other Phase B/C/D work. --- @@ -325,7 +342,7 @@ Given the cross-gap dependencies, recommended dispatch order: **Phase F — Final close ceremony (PM-direct, 1 week)**: - Re-run close-audit doc with all gaps PROVEN or R4-DEFERRED-with-acceptance - Operator final ratification -- Bookkeeping batch PR per Director's identified hygiene fix (105 stale §1.8 strings → sync to closed_at reality) +- **Bookkeeping batch PR (Director feedback item 8 — downstream of predicate-execution verdict, NOT parallel to it)**: §1.8 manifest strings synchronize to **close-audit-doc predicate-execution outcome** (substantive View-4 authority per `feedback_r3_close_three_views_drift`), NOT to procedural `closed_at` markers. Strings sync as: row #N status = whatever the close-audit-doc row #N predicate evaluation returned. Sequencing: close-audit-doc lands first (Gap 10 execution complete); bookkeeping PR consumes that doc as authority + amends §1.8 strings to match. This avoids re-introducing the procedural-closure trap by always sourcing manifest state from predicate-execution outcome. --- @@ -344,14 +361,16 @@ Given the cross-gap dependencies, recommended dispatch order: ## §4. Operator decision points (request for ratification) -Before dispatching this plan, PM requests operator decision on: +**Standing directive context** (per `project_no_r4_carves_directive`, Brian 2026-05-08 verbatim: *"we are NOT moving anything to R4 as of now"*): R4-carve is **NOT freely available** as a default. The 4 decisions below default to **IN-R3** unless operator explicitly overrides the standing directive with a structural-unblockable-reason argument per-decision. + +PM requests operator confirmation (default IN-R3) or explicit override (R4-carve with stated reason) on: -1. **Gap 1 (PB-0)**: full 177-entry retirement IN-R3, OR partial R4-deferral with explicit list? -2. **Gap 2 (L5 cross-target)**: full 3-target Python+Go IN-R3, OR Rust-only-Shape-A with Python+Go R4-deferred? -3. **Gap 3 (self-host R3-strong)**: 4-joint-precondition cascade IN-R3, OR R1-horizon acceptable with strong-form R4-deferred? -4. **Gap 9 (show-correct-code)**: new §1.8 gate IN-R3, OR THESIS-aspirational-not-R3-promised reframe? +1. **Gap 1 (PB-0)**: IN-R3 default = full 177-entry retirement; R4-carve override would require operator to name specific subsets + structural reason +2. **Gap 2 (L5 cross-target)**: IN-R3 default = full 3-target Python+Go; R4-carve override would scope-narrow §3.1 promise to Rust-only Shape-A +3. **Gap 3 (self-host R3-strong)**: IN-R3 default = 4-joint-precondition cascade; R4-carve override would accept R1-horizon as R3-final scope-narrowed +4. **Gap 9 (show-correct-code)**: IN-R3 default = new §1.8 gate + 100% Diagnostic-with-correction coverage per THESIS:103-105 absolute promise; **operator-decision sub-question**: if R3-IN, is acceptance threshold = 100% (THESIS-correct) OR a pragmatic relaxation (e.g., ≥80% with named-residual list)? PM's prior ≥80% framing is operator-decision-shaped, not Director-decision; surfacing here for explicit ratification (Director feedback item 6). -These 4 decisions determine the actual R3 scope. Without them, the plan above optimistically assumes all gaps cash IN-R3, which is the longer time horizon. +**§5 process discipline note**: per the standing directive, asking the operator to choose IN-R3-vs-R4-carve framing for these 4 items implicitly invites R4-carve consideration. Re-framing per Director feedback item 1: the question is "confirm IN-R3 (default, per directive)" — explicit override only if structurally unblockable. --- @@ -371,10 +390,19 @@ Anti-pattern observed: closure-ceremony work is ad-hoc and gets bumped by reacti ## §6. Pending Director + operator decisions -- [ ] Director ratifies this plan structure (PM-recommended) -- [ ] Operator approves §4 scope decisions (4 binary IN-R3 / R4-defer choices) -- [ ] Operator authorizes Phase A immediate dispatch (close-audit doc + §1.8 row #106 author) -- [ ] PM dispatches Phase B + Phase C briefs post-ratification +- [x] **Director ratifies this plan structure** — APPROVED 2026-05-13 (msg_cd2d8d7d) on structure + dispatch sequencing + §5 process discipline. 8 substantive notes integrated into this revision. +- [ ] Operator §4 confirmations (4 decisions; default IN-R3 per `project_no_r4_carves_directive`): + - [ ] Gap 1 (PB-0): confirm IN-R3 OR override with named R4-carve subsets + - [ ] Gap 2 (L5 cross-target): confirm IN-R3 (Python+Go) OR override with Rust-only-Shape-A scope + - [ ] Gap 3 (self-host R3-strong): confirm IN-R3 (4-joint-precondition cascade) OR override with R1-horizon final + - [ ] Gap 9 (show-correct-code): (a) confirm IN-R3 + ratify threshold = 100% (THESIS-correct) OR ≥X% (pragmatic, X TBD); (b) override with not-R3-promised reframe +- [ ] Operator authorizes Phase A immediate dispatch (close-audit doc skeleton + §1.8 row #106 author) +- [ ] Director-tier deliverables in-flight per msg_cd2d8d7d: + - [ ] R2-Evaluator audit (Gap 3 precondition; this week) + - [ ] Gap 3 cross-Mgr coordination tracking (ongoing, Phase E) + - [ ] §1.8 row #106 substrate-shape canvas ratification when PM surfaces it + - [ ] Pre-execution review of close-audit-doc rows touching Director-tier ratification gates (gate #105 / canvas-ratified-class) +- [ ] PM dispatches Phase B + Phase C briefs post-§4-ratification --- From f05359f74bcf48ec5d2fbea5bee2aed263e906cd Mon Sep 17 00:00:00 2001 From: Brian Searls Date: Wed, 13 May 2026 18:08:48 +0000 Subject: [PATCH 04/15] =?UTF-8?q?docs(r3):=20claude=20review=2011247=20exp?= =?UTF-8?q?loratory=20observations=20integrated=20(PM=20recs=20explicit=20?= =?UTF-8?q?per=20gap=20+=20Gap=209=20canvas-promotion=20note=20+=20=C2=A73?= =?UTF-8?q?=20velocity-citation=20discipline)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 3 non-blocking exploratory observations from claude APPROVE review on PR #3013 sha a4d160801 at 2026-05-13T18:03:26Z: 1. **§4 PM-recommendation explicitness across all 4 gaps** — previously only Gap 1 stated "do not defer." Added explicit PM-recommended IN-R3 + reasoning for Gaps 2/3/9 with each R4-carve's specific dilution impact (omni-emission falsifier loss, self-host thesis dilution, THESIS:103-105 absolute promise drop). §4 preamble now states cross-gap PM view + per-gap recommendation. 2. **Gap 9 substrate-shape canvas-promotion** — `correction: Option` field commitment is buried in planning-doc prose; promoted to Substrate-Mgr-canvas-before-worker-dispatch step. Canvas authoring + Director ratification gates worker dispatch. 3. **§3 velocity-citation discipline** — most estimates were unsourced beyond Gap 1's `feedback_pre_authored_brief_queue` reference. Added explicit caveat: Gaps 2/3/5/6/7/9 are PM-prior-cycle-experience-based; final ratified version cites per-gap velocity reference + first weekly closure-cadence message calibrates against actual landing-date data. Authority: - claude APPROVE review 11247 on PR #3013 sha a4d160801 at 2026-05-13T18:03:26Z - All 3 observations non-blocking; addressing pre-operator-review for cleaner ratification Co-Authored-By: Claude Opus 4.7 (1M context) --- docs/r3-actual-close-plan.md | 35 ++++++++++++++++++++++++++--------- 1 file changed, 26 insertions(+), 9 deletions(-) diff --git a/docs/r3-actual-close-plan.md b/docs/r3-actual-close-plan.md index c25905bb8f1..b2fb9dae954 100644 --- a/docs/r3-actual-close-plan.md +++ b/docs/r3-actual-close-plan.md @@ -269,14 +269,14 @@ plus #85 SuiteClaim wrapper consumer landed. **What's missing**: §1.8 gate + per-diagnostic-class audit + close criterion. **Plan to cash**: -- **Owner**: PM (deep-wolf-155) authors the new §1.8 row + Verification Mgr (swift-deer-459) implements +- **Owner**: PM (deep-wolf-155) authors the new §1.8 row → Substrate Mgr (warm-wolf-698) authors canvas → Verification Mgr (swift-deer-459) implements - **Sub-program**: 1. Author new §1.8 row #106 `show_correct_code_diagnostic_coverage` with substrate-shape gate type 2. Enumerate diagnostic classes (parse / type / lens / emit / ...) 3. For each class, audit existing diagnostics + check whether they cite "Y would be right" or only "X is wrong" - 4. Author canvas for the substrate shape that admits Diagnostic-with-correction + 4. **Substrate-shape canvas authored by Substrate Mgr BEFORE worker dispatch** (per claude review exploratory observation #2 — this plan doc surfaces the `correction: Option` field as a sub-program step, but the actual substrate-shape commitment must be ratified via Mgr canvas, not implemented from this prose). Canvas authors the substrate shape that admits Diagnostic-with-correction; Director ratifies; worker dispatches against ratified shape. 5. Worker brief dispatch to retrofit existing diagnostics -- **Effort estimate**: 4-8 weeks (depends on diagnostic class count; potentially smaller if substrate already supports it) +- **Effort estimate**: 4-8 weeks (depends on diagnostic class count; potentially smaller if substrate already supports it). **Caveat (per claude review exploratory observation #3 — estimates unsourced)**: this estimate is PM-prior-cycle-experience-based, NOT cited against specific velocity data. Substrate Mgr canvas surfaces the actual scope + worker effort; final estimate calibrates post-canvas-ratification. **Close criterion** (Director feedback item 6 — threshold is operator-decision-shaped, NOT Director-decision): - **THESIS-correct (100%)**: every Diagnostic in `src/v3/compiler/` has `correction: Witness` field present + `Some(_)` for **every** fired diagnostic in test corpus. No threshold relaxation; THESIS:103-105 reads as absolute promise. @@ -357,20 +357,37 @@ Given the cross-gap dependencies, recommended dispatch order: **Pessimistic**: 6+ months if Gap 1 cannot be parallelized aggressively (PB-0 is the longest tail; everything else can run faster). +**Velocity-citation discipline** (per claude review exploratory observation #3 — most estimates are unsourced): +- Gap 1: cited against `feedback_pre_authored_brief_queue` cadence + observed SG-0 ratchet-shrink rate over prior R3 cycles +- Gap 2/3/5/6/7/9: PM-prior-cycle-experience-based, NOT cited against specific velocity data. Final ratified version (post-operator-§4-confirmations) should: + 1. Cite per-gap velocity reference (e.g., "Cluster M Phase 1 + 1a + 2 landed in N weeks per PR #2645/#2647/#2639/#2757 cadence; Phase 3 bulk-port estimate extrapolates") + 2. Update at first weekly closure-cadence message (§5 process discipline) once first-week dispatch lands actual delta-velocity data +- Gap 10: source = direct execution count (105 predicates × {serial 1-2wk OR parallel 3-5d via ctrl-build}) + +This caveat applies to the entire §3 — estimates above are PM-best-guess at draft authorship; precision improves as dispatch progresses and weekly closure-cadence messages calibrate against actual landing dates. + --- ## §4. Operator decision points (request for ratification) **Standing directive context** (per `project_no_r4_carves_directive`, Brian 2026-05-08 verbatim: *"we are NOT moving anything to R4 as of now"*): R4-carve is **NOT freely available** as a default. The 4 decisions below default to **IN-R3** unless operator explicitly overrides the standing directive with a structural-unblockable-reason argument per-decision. -PM requests operator confirmation (default IN-R3) or explicit override (R4-carve with stated reason) on: +**PM recommendation across all 4** (per claude review exploratory observation #1 — explicit per-gap PM view): **do not defer** any of Gaps 1/2/3/9. Each R4-carve materially dilutes a load-bearing R3 promise: +- Gap 1 R4-carve = dilutes PB-0 thesis claim ("0 hand-Rust") +- Gap 2 R4-carve = scope-narrows §3.1 from 3-Shape-A targets to Rust-only (defeats omni-emission story) +- Gap 3 R4-carve = scope-narrows §4.2 self-host fixed point to R1-horizon (defeats self-host thesis claim) +- Gap 9 R4-carve = drops THESIS:103-105 absolute promise + +PM requests operator confirmation (default IN-R3) or explicit override (R4-carve with stated structural-unblockable reason) on: -1. **Gap 1 (PB-0)**: IN-R3 default = full 177-entry retirement; R4-carve override would require operator to name specific subsets + structural reason -2. **Gap 2 (L5 cross-target)**: IN-R3 default = full 3-target Python+Go; R4-carve override would scope-narrow §3.1 promise to Rust-only Shape-A -3. **Gap 3 (self-host R3-strong)**: IN-R3 default = 4-joint-precondition cascade; R4-carve override would accept R1-horizon as R3-final scope-narrowed -4. **Gap 9 (show-correct-code)**: IN-R3 default = new §1.8 gate + 100% Diagnostic-with-correction coverage per THESIS:103-105 absolute promise; **operator-decision sub-question**: if R3-IN, is acceptance threshold = 100% (THESIS-correct) OR a pragmatic relaxation (e.g., ≥80% with named-residual list)? PM's prior ≥80% framing is operator-decision-shaped, not Director-decision; surfacing here for explicit ratification (Director feedback item 6). +1. **Gap 1 (PB-0)**: IN-R3 default = full 177-entry retirement. **PM-recommended: do not defer.** R4-carve override requires operator to name specific subsets + structural reason. +2. **Gap 2 (L5 cross-target)**: IN-R3 default = full 3-target Python+Go. **PM-recommended: do not defer.** R4-carve override scope-narrows §3.1 to Rust-only Shape-A; the omni-emission falsifier promise (R4.A architectural-falsifier) loses Python/Go round-trip validation paths. +3. **Gap 3 (self-host R3-strong)**: IN-R3 default = 4-joint-precondition cascade. **PM-recommended: do not defer.** R4-carve override accepts R1-horizon as R3-final and amends §4.2 promise text. +4. **Gap 9 (show-correct-code)**: IN-R3 default = new §1.8 gate + Diagnostic-with-correction coverage. **PM-recommended: do not defer.** Two operator sub-decisions: + - (a) IN-R3 (recommended) OR not-R3-promised reframe (= R4-carve per directive) + - (b) If IN-R3, threshold = **100%** (THESIS-correct absolute — PM's recommendation per claude exploratory observation reading THESIS:103-105 as absolute) OR **≥X% with named-residual list** (pragmatic relaxation; X TBD) -**§5 process discipline note**: per the standing directive, asking the operator to choose IN-R3-vs-R4-carve framing for these 4 items implicitly invites R4-carve consideration. Re-framing per Director feedback item 1: the question is "confirm IN-R3 (default, per directive)" — explicit override only if structurally unblockable. +**§5 process discipline note**: per the standing directive, asking the operator to choose IN-R3-vs-R4-carve framing for these 4 items implicitly invites R4-carve consideration. Re-framing per Director feedback item 1: the question is "confirm IN-R3 (default, per directive + PM-recommended)" — explicit override only if structurally unblockable. --- From 870f6ceac2a76585b27b8814184383c721016e61 Mon Sep 17 00:00:00 2001 From: Brian Searls Date: Wed, 13 May 2026 18:27:56 +0000 Subject: [PATCH 05/15] docs(r3-close): retract Gap 5 boundary carve-out + Gap 9 pragmatic-relaxation per codex BLOCKING PR #3013 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Two substantive close-criteria fixes per codex BLOCKING 2026-05-13T18:19:56Z: **Finding 1 — Gap 5 boundary carve-out violates 0-residual** (TESTING.md L212-217 + docs/design-pure-bootstrap-zero.md:41,138): - Removed `-not -path "*/boundary/*"` from gate #84 close predicate - Added authority citation: TESTING.md "🔄 RETRACTED 2026-04-25" + 0-floor target - Boundary tests ARE counted; migrate to ExecuteCommand-based .dag TestClaim per cascade **Finding 2 — Gap 9 pragmatic-relaxation dilutes THESIS absolute** (THESIS.md "show the correct code" reads as absolute promise): - Removed "Pragmatic relaxation (≥X%)" alternative from Gap 9 close criterion - Removed §4 operator sub-decision (b) threshold negotiation - Close criterion is 100% absolute; non-100% requires R4-carve override of project_no_r4_carves_directive (NOT within-R3 threshold negotiation) **Additional: Phase F adversarial re-pass discipline** (operator directive 2026-05-13 — final closeout will be adversarial analysis): - Phase F now explicitly includes operator+PM adversarial re-pass against interrogation doc + close plan + §1.8 row statuses - Bookkeeping PR sequencing updated: depends on adversarial-re-pass verdict, not just predicate execution outcome - Symmetric to 2026-05-13 adversarial sweep that surfaced 10 counterfactuals; applied at close ceremony to confirm none survived Co-Authored-By: Claude Opus 4.7 (1M context) --- docs/r3-actual-close-plan.md | 31 ++++++++++++++++++------------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/docs/r3-actual-close-plan.md b/docs/r3-actual-close-plan.md index b2fb9dae954..1cae23d64e1 100644 --- a/docs/r3-actual-close-plan.md +++ b/docs/r3-actual-close-plan.md @@ -176,16 +176,22 @@ All 4 precondition gates PASSING + actual self-host invocation producing bit-ide - **Phase 3 (#84 bulk-port)**: 99 tests × per-class dispatch — per-class worker briefs needed - **Effort estimate**: 4-8 weeks per Cluster M plan (operator "staffing not a concern" allows parallel dispatch) -**Close criterion** (Director feedback item 4 — header-marker filter): +**Close criterion** (Director feedback item 4 — header-marker filter; **codex BLOCKING PR #3013 2026-05-13 enforcement: boundary-test carve-out RETRACTED** per `TESTING.md` post-PR-#678 cascade + `docs/design-pure-bootstrap-zero.md` 0-floor target — class-5 boundary tests migrate to `ExecuteCommand`-based `.dag` `TestClaim` declarations, NOT preserved as hand-authored survivors): ```bash -# Predicate at gate #84 close — excludes generated-from-.dag tests via header marker: -find src/v3/compiler/tests/integration -name "*.rs" -not -path "*/common/*" -not -path "*/boundary/*" \ +# Predicate at gate #84 close — ALL hand-authored *_test.rs counted; only generated-from-.dag tests survive: +find src/v3/compiler/tests -name "*.rs" -not -path "*/common/*" \ | xargs grep -L "// AUTO-GENERATED FROM .dag" \ | wc -l -# returns: 0 (only generated-from-.dag survivors carry the marker; hand-authored fail-closed) +# returns: 0 (only generated-from-.dag survivors carry the marker; hand-authored fail-closed; boundary tests ARE included, must migrate to ExecuteCommand-based .dag TestClaim per TESTING.md cascade) ``` plus #85 SuiteClaim wrapper consumer landed. +**Authority for no-carve-out** (codex BLOCKING PR #3013 receipt): +- `TESTING.md` "🔄 RETRACTED 2026-04-25 (cascade promotion of `docs/design-pure-bootstrap-zero.md`)": *"the previous 'two residual categories' framing (compiler-internal unit tests + external-toolchain boundary tests stay Rust-authored permanently) is retracted under the 0-floor target. Both categories dissolve"* +- `TESTING.md` "0-residual is the target. Until v3's source tree reaches 0 hand-authored files..." +- `docs/design-pure-bootstrap-zero.md`:41 *"Goal: zero hand-authored files in v3's source tree."* +- `docs/design-pure-bootstrap-zero.md`:138 boundary-tests migrate to `ExecuteCommand`-based `.dag` `TestClaim` declarations per cascade-named successor pattern (PR #678 schema landed; bulk migration is Gap 5 Phase 3 scope) + **Substrate prereq**: code-gen pipeline must emit `// AUTO-GENERATED FROM .dag` header line for every generated `*_test.rs` so the predicate can mechanically discriminate hand-authored vs generated. If not present at HEAD, lands in Gap 5 Phase 3 ratchet. --- @@ -278,11 +284,10 @@ plus #85 SuiteClaim wrapper consumer landed. 5. Worker brief dispatch to retrofit existing diagnostics - **Effort estimate**: 4-8 weeks (depends on diagnostic class count; potentially smaller if substrate already supports it). **Caveat (per claude review exploratory observation #3 — estimates unsourced)**: this estimate is PM-prior-cycle-experience-based, NOT cited against specific velocity data. Substrate Mgr canvas surfaces the actual scope + worker effort; final estimate calibrates post-canvas-ratification. -**Close criterion** (Director feedback item 6 — threshold is operator-decision-shaped, NOT Director-decision): -- **THESIS-correct (100%)**: every Diagnostic in `src/v3/compiler/` has `correction: Witness` field present + `Some(_)` for **every** fired diagnostic in test corpus. No threshold relaxation; THESIS:103-105 reads as absolute promise. -- **Pragmatic relaxation (≥X%, X TBD)**: operator-set threshold + named-residual list for diagnostics not yet producing corrections. Requires explicit operator acceptance of threshold + retirement plan for residual. +**Close criterion** (codex BLOCKING PR #3013 2026-05-13 enforcement: **absolute 100% — pragmatic-relaxation alternative RETRACTED** as it converted a load-bearing THESIS promise into a negotiable threshold): +- **THESIS-correct (100% absolute)**: every Diagnostic in `src/v3/compiler/` has `correction: Witness` field present + `Some(_)` for **every** fired diagnostic in test corpus. No threshold relaxation. THESIS.md "Error handling: show the correct code" — *"Diagnostics should point to the structurally correct program, not just report that the current one is wrong"* — reads as absolute promise. -Surfacing both at §4 for operator ratification (Director feedback item 6 routed there). +**Authority for no-relaxation** (codex BLOCKING PR #3013 receipt): the prior "Pragmatic relaxation (≥X%)" framing dilutes an absolute THESIS commitment into a negotiable threshold without THESIS-text reconciliation. Per `project_no_r4_carves_directive` (2026-05-08), R4-carve framing is NOT freely available; within-R3 relaxation paths are structurally equivalent to R4-carves under the directive. The alternative-disposition path below (R4-scope reframe with operator-recorded acceptance) is the ONLY non-100% path, and it requires explicit operator override of the no-carves directive — not a within-R3 threshold negotiation. **Alternative disposition**: if operator accepts that show-correct-code is THESIS-aspirational not R3-promised, record explicit not-R3-scoped here + amend interrogation doc §6 to reflect. **Note per standing directive**: this alternative requires operator override of `project_no_r4_carves_directive` since "THESIS-aspirational-not-R3-promised" is structurally an R4-carve. @@ -339,10 +344,11 @@ Given the cross-gap dependencies, recommended dispatch order: **Phase E — Director-tier coordination (zesty-bear-812, parallel)**: - Gap 3 (self-host fixed point): 4-joint-precondition cross-Mgr audit -**Phase F — Final close ceremony (PM-direct, 1 week)**: +**Phase F — Final close ceremony (PM-direct + operator, 1-2 weeks)**: - Re-run close-audit doc with all gaps PROVEN or R4-DEFERRED-with-acceptance +- **Operator + PM adversarial re-pass (operator directive 2026-05-13 — final closeout discipline)**: every claim in `docs/r3-close-interrogation.md` + `docs/r3-actual-close-plan.md` + every §1.8 row status is re-interrogated against HEAD evidence with operator playing adversarial-stakeholder. Symmetric to the 2026-05-13 adversarial sweep that surfaced the 10 counterfactuals — but applied at close-ceremony to confirm none survived. Anti-pattern caught: "looks closed by procedural metric" without substantive HEAD-evidence cross-check. Discipline: every PROVEN claim has a paired predicate-execution receipt + grep-at-HEAD witness; no claim survives the adversarial-re-pass on assertion alone. - Operator final ratification -- **Bookkeeping batch PR (Director feedback item 8 — downstream of predicate-execution verdict, NOT parallel to it)**: §1.8 manifest strings synchronize to **close-audit-doc predicate-execution outcome** (substantive View-4 authority per `feedback_r3_close_three_views_drift`), NOT to procedural `closed_at` markers. Strings sync as: row #N status = whatever the close-audit-doc row #N predicate evaluation returned. Sequencing: close-audit-doc lands first (Gap 10 execution complete); bookkeeping PR consumes that doc as authority + amends §1.8 strings to match. This avoids re-introducing the procedural-closure trap by always sourcing manifest state from predicate-execution outcome. +- **Bookkeeping batch PR (Director feedback item 8 — downstream of predicate-execution verdict + adversarial-re-pass verdict, NOT parallel to either)**: §1.8 manifest strings synchronize to **close-audit-doc predicate-execution outcome PLUS adversarial-re-pass survivor status** (substantive View-4 authority per `feedback_r3_close_three_views_drift`), NOT to procedural `closed_at` markers. Strings sync as: row #N status = whatever the close-audit-doc row #N predicate evaluation returned AFTER adversarial-re-pass confirmed no counterfactuals survive. Sequencing: close-audit-doc lands first (Gap 10 execution complete) → operator+PM adversarial-re-pass against doc + interrogation + §1.8 → bookkeeping PR consumes the adversarial-re-pass verdict as authority + amends §1.8 strings to match. This avoids re-introducing the procedural-closure trap by always sourcing manifest state from predicate-execution outcome PLUS operator-verified absence of counterfactuals. --- @@ -383,9 +389,8 @@ PM requests operator confirmation (default IN-R3) or explicit override (R4-carve 1. **Gap 1 (PB-0)**: IN-R3 default = full 177-entry retirement. **PM-recommended: do not defer.** R4-carve override requires operator to name specific subsets + structural reason. 2. **Gap 2 (L5 cross-target)**: IN-R3 default = full 3-target Python+Go. **PM-recommended: do not defer.** R4-carve override scope-narrows §3.1 to Rust-only Shape-A; the omni-emission falsifier promise (R4.A architectural-falsifier) loses Python/Go round-trip validation paths. 3. **Gap 3 (self-host R3-strong)**: IN-R3 default = 4-joint-precondition cascade. **PM-recommended: do not defer.** R4-carve override accepts R1-horizon as R3-final and amends §4.2 promise text. -4. **Gap 9 (show-correct-code)**: IN-R3 default = new §1.8 gate + Diagnostic-with-correction coverage. **PM-recommended: do not defer.** Two operator sub-decisions: - - (a) IN-R3 (recommended) OR not-R3-promised reframe (= R4-carve per directive) - - (b) If IN-R3, threshold = **100%** (THESIS-correct absolute — PM's recommendation per claude exploratory observation reading THESIS:103-105 as absolute) OR **≥X% with named-residual list** (pragmatic relaxation; X TBD) +4. **Gap 9 (show-correct-code)**: IN-R3 default = new §1.8 gate + Diagnostic-with-correction coverage at **100% absolute** (no threshold negotiation; codex BLOCKING PR #3013 2026-05-13 retracted prior `≥X%` pragmatic-relaxation framing as THESIS-promise-dilution). **PM-recommended: do not defer.** Single operator sub-decision: + - (a) IN-R3 at 100% absolute (recommended) OR not-R3-promised reframe (= R4-carve per directive; requires explicit operator override of `project_no_r4_carves_directive`) **§5 process discipline note**: per the standing directive, asking the operator to choose IN-R3-vs-R4-carve framing for these 4 items implicitly invites R4-carve consideration. Re-framing per Director feedback item 1: the question is "confirm IN-R3 (default, per directive + PM-recommended)" — explicit override only if structurally unblockable. From a973064402860697c826fdc4f11351f46fad0f69 Mon Sep 17 00:00:00 2001 From: Brian Searls Date: Wed, 13 May 2026 18:29:40 +0000 Subject: [PATCH 06/15] docs(r3-close): retract fabricated Tier-2 R4-deferral authority per briansrls BLOCKING PR #3013 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit briansrls BLOCKING 2026-05-13T18:22:57Z at docs/r3-actual-close-plan.md:48: > "The PB-0 alternative disposition cites design-pure-bootstrap-zero.md as > allowing Tier-2 R4 deferral for grounding submodules, but that authority > sets a 0 hand-authored in-tree Rust floor, so this creates an unauthorized > escape hatch against the Pure Bootstrap target." **Verified**: grep -nE "tier[- ]2|grounding|R4|defer|carve" against docs/design-pure-bootstrap-zero.md returns ONLY one hit (L131: historical TESTING.md carve-out which the doc explicitly retracts under 0-floor target). Zero references to "Tier-2", "grounding submodules deferred", or any R4-deferral carve-out mechanism. The "Tier-2 R4-deferred per design-pure-bootstrap-zero.md" citation in Gap 1 alternative-disposition was fabricated authority — an unauthorized escape hatch against the absolute 0-floor target. **Fix**: - Removed the fabricated citation - Explicit statement: PB-0 design doc admits no internal escape hatch - R4-carve of PB-0 subsets requires explicit operator override of project_no_r4_carves_directive (2026-05-08), naming specific subset + structural-unblockable reason — not citation of an unauthorized escape - PM-recommendation preserved (do NOT R4-defer; standing directive applies) Symmetric to the Gap 9 pragmatic-relaxation fix at commit 870f6ceac — both findings reflect the same anti-pattern of converting absolute thesis claims into negotiable thresholds via fabricated/imputed authority. Co-Authored-By: Claude Opus 4.7 (1M context) --- docs/r3-actual-close-plan.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/docs/r3-actual-close-plan.md b/docs/r3-actual-close-plan.md index 1cae23d64e1..8ae3934980f 100644 --- a/docs/r3-actual-close-plan.md +++ b/docs/r3-actual-close-plan.md @@ -45,7 +45,11 @@ const EXPECTED_HAND_AUTHORED_TEST: &[&str] = &[]; ``` plus `cargo test --release sg0_census_test` passes with predicate = 0. -**Alternative disposition (if operator accepts deferral)**: explicit R4 acceptance recorded here for specific subsets of the 177+ entries (e.g., grounding submodules may be Tier-2 R4-deferred per design-pure-bootstrap-zero.md). PM-recommended: do NOT R4-defer this in bulk — it's the load-bearing thesis claim. +**Alternative disposition** (briansrls BLOCKING PR #3013 2026-05-13T18:22:57Z enforcement: **fabricated Tier-2 R4-deferral authority RETRACTED**): the prior framing cited `docs/design-pure-bootstrap-zero.md` as authority for Tier-2 R4-deferral of grounding submodules. That citation is fabricated — `docs/design-pure-bootstrap-zero.md` sets an absolute 0-floor (L41: *"Goal: zero hand-authored files in v3's source tree"*) and contains zero references to "Tier-2", "grounding submodules deferred", or any R4-deferral carve-out mechanism. The only "carves out" mention in that doc (L131) is the *historical* TESTING.md carve-out, which the doc explicitly **retracts** under the 0-floor target. + +The PB-0 design doc admits no internal escape hatch. Any R4-carve of PB-0 subsets requires explicit operator override of `project_no_r4_carves_directive` (2026-05-08), naming the specific subset + structural-unblockable reason. There is no per-subset deferral mechanism inside the design doc itself; the no-carves directive is the sole gate. + +**PM-recommended**: do NOT R4-defer this — it's the load-bearing thesis claim ("0 hand-Rust"). The standing directive applies absent explicit per-subset override. --- From 29684a08d016a02b23d41bc7011592ecb4721597 Mon Sep 17 00:00:00 2001 From: Brian Searls Date: Wed, 13 May 2026 18:31:06 +0000 Subject: [PATCH 07/15] docs(r3-close): replace textual AUTO-GENERATED marker with structural EXPECTED_HAND_AUTHORED_TEST list-emptied predicate per briansrls BLOCKING PR #3013 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit briansrls BLOCKING 2026-05-13T18:22:57Z at docs/r3-actual-close-plan.md:183: > "The gate #84 close predicate uses the `// AUTO-GENERATED FROM .dag` > comment as the authority for generated tests, which can pass with > hand-authored Rust carrying the marker and does not prove the THESIS > tests-as-data claim." **Verified**: this is exactly the feedback_no_textual_enforcement_bridges anti-pattern — "never propose grep/regex as interim enforcement; text-gating 'be structural' defeats itself." A textual comment is gameable; a developer could add `// AUTO-GENERATED FROM .dag` to a hand-authored file to bypass the ratchet. The THESIS claim ("every Rust test ports to .dag or is generated") is structural and requires a structural predicate. **Fix**: replaced the textual-marker predicate with the structural EXPECTED_HAND_AUTHORED_TEST list-emptied authority — the same ratchet Gap 1 uses for EXPECTED_HAND_AUTHORED_NON_TEST. Every hand-authored test entry must be named on the list (PR-template enforcement); migrations remove entries; close fires when list empties. The list discriminates structurally, not textually. Preserved the no-boundary-carve-out authority citations (separate codex BLOCKING) — boundary entries are named on EXPECTED_HAND_AUTHORED_TEST and dissolve through migration like any other entry, no separate carve-out. Co-Authored-By: Claude Opus 4.7 (1M context) --- docs/r3-actual-close-plan.md | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/docs/r3-actual-close-plan.md b/docs/r3-actual-close-plan.md index 8ae3934980f..0dc7871edf0 100644 --- a/docs/r3-actual-close-plan.md +++ b/docs/r3-actual-close-plan.md @@ -180,23 +180,25 @@ All 4 precondition gates PASSING + actual self-host invocation producing bit-ide - **Phase 3 (#84 bulk-port)**: 99 tests × per-class dispatch — per-class worker briefs needed - **Effort estimate**: 4-8 weeks per Cluster M plan (operator "staffing not a concern" allows parallel dispatch) -**Close criterion** (Director feedback item 4 — header-marker filter; **codex BLOCKING PR #3013 2026-05-13 enforcement: boundary-test carve-out RETRACTED** per `TESTING.md` post-PR-#678 cascade + `docs/design-pure-bootstrap-zero.md` 0-floor target — class-5 boundary tests migrate to `ExecuteCommand`-based `.dag` `TestClaim` declarations, NOT preserved as hand-authored survivors): -```bash -# Predicate at gate #84 close — ALL hand-authored *_test.rs counted; only generated-from-.dag tests survive: -find src/v3/compiler/tests -name "*.rs" -not -path "*/common/*" \ - | xargs grep -L "// AUTO-GENERATED FROM .dag" \ - | wc -l -# returns: 0 (only generated-from-.dag survivors carry the marker; hand-authored fail-closed; boundary tests ARE included, must migrate to ExecuteCommand-based .dag TestClaim per TESTING.md cascade) +**Close criterion** (briansrls BLOCKING PR #3013 2026-05-13T18:22:57Z enforcement: **textual `// AUTO-GENERATED FROM .dag` marker predicate RETRACTED** per `feedback_no_textual_enforcement_bridges` — "never propose grep/regex as interim enforcement; text-gating 'be structural' defeats itself". A textual comment is gameable: hand-authored Rust carrying the marker would pass the predicate without satisfying the THESIS tests-as-data claim. The structural authority for "no hand-authored tests" is the same ratchet Gap 1 uses): +```rust +// in src/v3/compiler/tests/integration/sg0_census_test.rs at HEAD when gate #84 closes: +const EXPECTED_HAND_AUTHORED_TEST: &[&str] = &[]; ``` +plus `cargo test --release sg0_census_test` passes with predicate = 0 plus #85 SuiteClaim wrapper consumer landed. -**Authority for no-carve-out** (codex BLOCKING PR #3013 receipt): +**Why structural-list-emptied beats textual-marker** (briansrls BLOCKING PR #3013 receipt): +- `feedback_no_textual_enforcement_bridges`: textual gating defeats itself; a `// AUTO-GENERATED FROM .dag` comment can be hand-authored +- `EXPECTED_HAND_AUTHORED_TEST` is the existing structural ratchet — every hand-authored test entry must be named on the list (PR-template enforcement); migrations remove entries; close fires when list empties +- The list-emptied predicate IS the THESIS tests-as-data claim: "every Rust test ports to .dag or is generated" ⇔ "no entry remains on the hand-authored ratchet" +- Generated tests (if any are checked-in as trampolines per `docs/design-pure-bootstrap-zero.md` "trampolines are 0 if their content is generated") are NOT named on `EXPECTED_HAND_AUTHORED_TEST`; the list discriminates structurally, not textually + +**Authority for no-boundary-carve-out** (separate codex BLOCKING PR #3013 receipt; preserved): - `TESTING.md` "🔄 RETRACTED 2026-04-25 (cascade promotion of `docs/design-pure-bootstrap-zero.md`)": *"the previous 'two residual categories' framing (compiler-internal unit tests + external-toolchain boundary tests stay Rust-authored permanently) is retracted under the 0-floor target. Both categories dissolve"* - `TESTING.md` "0-residual is the target. Until v3's source tree reaches 0 hand-authored files..." - `docs/design-pure-bootstrap-zero.md`:41 *"Goal: zero hand-authored files in v3's source tree."* -- `docs/design-pure-bootstrap-zero.md`:138 boundary-tests migrate to `ExecuteCommand`-based `.dag` `TestClaim` declarations per cascade-named successor pattern (PR #678 schema landed; bulk migration is Gap 5 Phase 3 scope) - -**Substrate prereq**: code-gen pipeline must emit `// AUTO-GENERATED FROM .dag` header line for every generated `*_test.rs` so the predicate can mechanically discriminate hand-authored vs generated. If not present at HEAD, lands in Gap 5 Phase 3 ratchet. +- `docs/design-pure-bootstrap-zero.md`:138 boundary-tests migrate to `ExecuteCommand`-based `.dag` `TestClaim` declarations per cascade-named successor pattern (PR #678 schema landed; bulk migration is Gap 5 Phase 3 scope) — boundary entries are named on `EXPECTED_HAND_AUTHORED_TEST` and dissolve through migration like any other entry, no separate boundary carve-out --- From 5872dae8781b6930dad8108903b52557a34bca97 Mon Sep 17 00:00:00 2001 From: Brian Searls Date: Wed, 13 May 2026 18:31:54 +0000 Subject: [PATCH 08/15] =?UTF-8?q?docs(r3-close):=20retract=20Option=20shape=20per=20briansrls=20BLOCKING=20PR=20#3013=20?= =?UTF-8?q?=E2=80=94=20Practice-2=20carrier=20refinement?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit briansrls BLOCKING 2026-05-13T18:22:57Z at docs/r3-actual-close-plan.md:277: > "The proposed correction: Option shape leaves 'diagnostic > without correction' representable even though the THESIS-correct path > requires diagnostics to point to the structurally correct program." **Verified** against three converging memory authorities: - feedback_state_space_vs_behavioral_invariants — "check if the type admits illegal state combinations; type enforcement > API enforcement" - feedback_optional_models_recovery_as_exception — "T? where absence is the norm conceals plurality" - feedback_practice_2_vs_4_same_variant_vs_cross_variant — Practice-2 carrier refinement when the redundant/illegal state crosses variant boundaries Option admits None which structurally represents "diagnostic without correction" — exactly the state THESIS.md "show the correct code" forbids absolutely. The type itself admits the illegal state; behavioral checks ("did this fired diagnostic produce a correction?") are API-tier enforcement that the carrier-tier should subsume. **Fix**: substrate-shape constraint added to Gap 9 sub-program step 4: canvas authors MUST commit `correction: Witness` (non-optional) — Practice-2 carrier refinement makes diagnostic-without-correction unrepresentable by construction. Anti-pattern symmetric to Gap 9 pragmatic-relaxation fix at 870f6ceac (both findings convert absolute THESIS claim into expressible-but-forbidden state). Co-Authored-By: Claude Opus 4.7 (1M context) --- docs/r3-actual-close-plan.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/r3-actual-close-plan.md b/docs/r3-actual-close-plan.md index 0dc7871edf0..c3ee578d046 100644 --- a/docs/r3-actual-close-plan.md +++ b/docs/r3-actual-close-plan.md @@ -286,7 +286,7 @@ plus #85 SuiteClaim wrapper consumer landed. 1. Author new §1.8 row #106 `show_correct_code_diagnostic_coverage` with substrate-shape gate type 2. Enumerate diagnostic classes (parse / type / lens / emit / ...) 3. For each class, audit existing diagnostics + check whether they cite "Y would be right" or only "X is wrong" - 4. **Substrate-shape canvas authored by Substrate Mgr BEFORE worker dispatch** (per claude review exploratory observation #2 — this plan doc surfaces the `correction: Option` field as a sub-program step, but the actual substrate-shape commitment must be ratified via Mgr canvas, not implemented from this prose). Canvas authors the substrate shape that admits Diagnostic-with-correction; Director ratifies; worker dispatches against ratified shape. + 4. **Substrate-shape canvas authored by Substrate Mgr BEFORE worker dispatch** (per claude review exploratory observation #2 — this plan doc surfaces a sub-program step, but the actual substrate-shape commitment must be ratified via Mgr canvas, not implemented from this prose). **Canvas substrate-shape constraint (briansrls BLOCKING PR #3013 2026-05-13T18:22:57Z enforcement: `Option` shape RETRACTED)**: per `feedback_state_space_vs_behavioral_invariants` ("check if the type admits illegal state combinations; type enforcement > API enforcement") + `feedback_optional_models_recovery_as_exception` ("T? where absence is the norm conceals plurality") + `feedback_practice_2_vs_4_same_variant_vs_cross_variant`, the field MUST be `correction: Witness` (NOT `correction: Option`). The Option-wrapped form admits `None` = "diagnostic without correction" which is exactly the state THESIS.md "show the correct code" forbids. Practice-2 carrier refinement: type-level enforcement that every Diagnostic value carries a Witness, no None state representable. Canvas authors a substrate shape that admits Diagnostic-with-correction *by construction*; the Witness field is non-optional. Director ratifies; worker dispatches against ratified shape. 5. Worker brief dispatch to retrofit existing diagnostics - **Effort estimate**: 4-8 weeks (depends on diagnostic class count; potentially smaller if substrate already supports it). **Caveat (per claude review exploratory observation #3 — estimates unsourced)**: this estimate is PM-prior-cycle-experience-based, NOT cited against specific velocity data. Substrate Mgr canvas surfaces the actual scope + worker effort; final estimate calibrates post-canvas-ratification. From 9d763ddcb0d64fd8c8c3a9875572dbf64a65d449 Mon Sep 17 00:00:00 2001 From: Brian Searls Date: Wed, 13 May 2026 18:34:01 +0000 Subject: [PATCH 09/15] docs(r3-close): address 3 codex BLOCKING + 1 non-blocking on PR #3013 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit codex BLOCKING 2026-05-13T18:22:57Z (sha f05359f7) — 3 root-causes + 1 improvement: **B1 — Tier-2 feature-deferral example removed entirely** (Gap 1 alternative-disposition): Prior fix at a97306440 retained the fabricated example in retraction-framing. Codex stronger ask: "remove the example OR require operator-approved amendment to PB-zero authority". Reframed: no Tier-2 example survives this section; any R4-carve requires BOTH (1) override of project_no_r4_carves_directive AND (2) amendment to docs/design-pure-bootstrap-zero.md authority text adding a per-subset deferral carrier. Neither alone is sufficient. **B2 — Generator-manifest positive structural authority** (Gap 5 close criterion): Prior fix at 29684a08d gave negative authority (list-emptied) but codex asks positive form. Added dual predicate: (a) EXPECTED_HAND_AUTHORED_TEST = empty [negative] + (b) generator-manifest maps each surviving test → its .dag source + regeneration-byte-equality fail-close on drift [positive]. Catches orphan generated files that negative form alone misses. Substrate prereq: manifest carrier authored as Cluster M Phase 3 expansion. **B3 — Deferral carrier with named reason** (Gap 9 substrate-shape): Prior fix at 5872dae87 had correction: Witness covering only the 100% path. Codex asks separation of absolute-thesis vs pragmatic-residual into named carrier variants. Reshaped to sum Correction = LiveCorrection { witness } | DeferredCorrection { reason, retirement_plan }. Diagnostic.correction is mandatory Correction (not Option). Residual is structurally named with retirement-plan accountability; gate #84/#106 close requires every DeferredCorrection ratchetable to zero per its own retirement plan. **NB1 — Ledger-derived row-count** (Gap 10 close criterion): Hard-coded "ALL 105 rows" rotted as soon as Gap 9 proposed row #106. Per feedback_no_snapshot_integers_in_briefs: derive count from §1.8 ledger at execution time via grep enumeration; Gap 9 row #106 + subsequent additions automatically included. Co-Authored-By: Claude Opus 4.7 (1M context) --- docs/r3-actual-close-plan.md | 56 ++++++++++++++++++++++++++++-------- 1 file changed, 44 insertions(+), 12 deletions(-) diff --git a/docs/r3-actual-close-plan.md b/docs/r3-actual-close-plan.md index c3ee578d046..4b5320d5cc6 100644 --- a/docs/r3-actual-close-plan.md +++ b/docs/r3-actual-close-plan.md @@ -45,11 +45,14 @@ const EXPECTED_HAND_AUTHORED_TEST: &[&str] = &[]; ``` plus `cargo test --release sg0_census_test` passes with predicate = 0. -**Alternative disposition** (briansrls BLOCKING PR #3013 2026-05-13T18:22:57Z enforcement: **fabricated Tier-2 R4-deferral authority RETRACTED**): the prior framing cited `docs/design-pure-bootstrap-zero.md` as authority for Tier-2 R4-deferral of grounding submodules. That citation is fabricated — `docs/design-pure-bootstrap-zero.md` sets an absolute 0-floor (L41: *"Goal: zero hand-authored files in v3's source tree"*) and contains zero references to "Tier-2", "grounding submodules deferred", or any R4-deferral carve-out mechanism. The only "carves out" mention in that doc (L131) is the *historical* TESTING.md carve-out, which the doc explicitly **retracts** under the 0-floor target. +**Alternative disposition** (briansrls + codex BLOCKING PR #3013 2026-05-13 enforcement: **no Tier-2 escape language survives this section**): `docs/design-pure-bootstrap-zero.md` sets an absolute 0-floor (L41: *"Goal: zero hand-authored files in v3's source tree"*) with no internal carve-out mechanism. Any PB-0 R4-carve requires **TWO** explicit operator-authored amendments BEFORE the carve can count: -The PB-0 design doc admits no internal escape hatch. Any R4-carve of PB-0 subsets requires explicit operator override of `project_no_r4_carves_directive` (2026-05-08), naming the specific subset + structural-unblockable reason. There is no per-subset deferral mechanism inside the design doc itself; the no-carves directive is the sole gate. +1. **Override of `project_no_r4_carves_directive`** (operator 2026-05-08: *"we are NOT moving anything to R4 as of now"*) — naming the specific subset + structural-unblockable reason +2. **Amendment to `docs/design-pure-bootstrap-zero.md` authority text itself** — adding a per-subset deferral carrier with named reason + retirement plan to the design-doc-tier authority, not just to this plan doc -**PM-recommended**: do NOT R4-defer this — it's the load-bearing thesis claim ("0 hand-Rust"). The standing directive applies absent explicit per-subset override. +Neither override alone is sufficient. The PB-0 design doc currently admits no escape hatch; absent the amendment, the 0-floor stands and no carve-counter exists in the authority chain. + +**PM-recommended**: do NOT R4-defer this — it's the load-bearing thesis claim ("0 hand-Rust"). The standing directive + design-doc 0-floor both apply absent explicit dual amendment. --- @@ -180,19 +183,35 @@ All 4 precondition gates PASSING + actual self-host invocation producing bit-ide - **Phase 3 (#84 bulk-port)**: 99 tests × per-class dispatch — per-class worker briefs needed - **Effort estimate**: 4-8 weeks per Cluster M plan (operator "staffing not a concern" allows parallel dispatch) -**Close criterion** (briansrls BLOCKING PR #3013 2026-05-13T18:22:57Z enforcement: **textual `// AUTO-GENERATED FROM .dag` marker predicate RETRACTED** per `feedback_no_textual_enforcement_bridges` — "never propose grep/regex as interim enforcement; text-gating 'be structural' defeats itself". A textual comment is gameable: hand-authored Rust carrying the marker would pass the predicate without satisfying the THESIS tests-as-data claim. The structural authority for "no hand-authored tests" is the same ratchet Gap 1 uses): +**Close criterion** (briansrls + codex BLOCKING PR #3013 2026-05-13 dual enforcement: **negative-form list-emptied predicate + positive-form generator-manifest predicate, both required**; textual `// AUTO-GENERATED FROM .dag` marker RETRACTED per `feedback_no_textual_enforcement_bridges`): + +**Negative authority** — hand-authored ratchet empty: ```rust // in src/v3/compiler/tests/integration/sg0_census_test.rs at HEAD when gate #84 closes: const EXPECTED_HAND_AUTHORED_TEST: &[&str] = &[]; ``` -plus `cargo test --release sg0_census_test` passes with predicate = 0 +plus `cargo test --release sg0_census_test` passes with predicate = 0. + +**Positive authority** — generator-manifest covers every surviving test (codex BLOCKING strengthening: *"make the predicate consume a generator manifest or generated-output comparison, not just a header grep"*): +``` +# Predicate at gate #84 close — every checked-in test file traces back to a .dag source via manifest: +for each *_test.rs in src/v3/compiler/tests: + manifest_entry = lookup_in_test_generator_manifest(file_path) + assert manifest_entry.exists() + assert manifest_entry.dag_source_path.exists() + assert generate_from(manifest_entry.dag_source_path) == file_contents +``` + +The generator-manifest (substrate to be authored as a Cluster M Phase 3 deliverable) maps each surviving Rust test file → its `.dag` `TestClaim` source. The predicate fails closed on any orphaned test file (no manifest entry) OR any test file whose bytes diverge from regeneration (drift). This is the structural form of "every Rust test ports to .dag or is generated." + plus #85 SuiteClaim wrapper consumer landed. -**Why structural-list-emptied beats textual-marker** (briansrls BLOCKING PR #3013 receipt): -- `feedback_no_textual_enforcement_bridges`: textual gating defeats itself; a `// AUTO-GENERATED FROM .dag` comment can be hand-authored -- `EXPECTED_HAND_AUTHORED_TEST` is the existing structural ratchet — every hand-authored test entry must be named on the list (PR-template enforcement); migrations remove entries; close fires when list empties -- The list-emptied predicate IS the THESIS tests-as-data claim: "every Rust test ports to .dag or is generated" ⇔ "no entry remains on the hand-authored ratchet" -- Generated tests (if any are checked-in as trampolines per `docs/design-pure-bootstrap-zero.md` "trampolines are 0 if their content is generated") are NOT named on `EXPECTED_HAND_AUTHORED_TEST`; the list discriminates structurally, not textually +**Why dual authority is required** (briansrls + codex BLOCKING PR #3013 receipt): +- `feedback_no_textual_enforcement_bridges`: textual marker gating defeats itself; a `// AUTO-GENERATED FROM .dag` comment can be hand-authored +- **Negative authority alone** (list-emptied) is necessary but not sufficient: it proves no entry on the hand-authored ratchet, but doesn't structurally tie each surviving file to its .dag source. A generated file that loses its .dag source (orphaned) would pass the negative predicate while violating THESIS +- **Positive authority** (generator manifest) ties each surviving Rust test file structurally to its .dag source; orphan detection + regeneration-byte-equality fail-close on drift +- Together the two predicates cash the THESIS claim *"every Rust test ports to .dag or is generated"* structurally — no textual proxy +- Substrate prereq: generator-manifest substrate carrier must be designed + landed as part of Cluster M Phase 3; brief-authoring scope expands beyond the current cluster-M-sequencing-plan to include manifest substrate **Authority for no-boundary-carve-out** (separate codex BLOCKING PR #3013 receipt; preserved): - `TESTING.md` "🔄 RETRACTED 2026-04-25 (cascade promotion of `docs/design-pure-bootstrap-zero.md`)": *"the previous 'two residual categories' framing (compiler-internal unit tests + external-toolchain boundary tests stay Rust-authored permanently) is retracted under the 0-floor target. Both categories dissolve"* @@ -286,7 +305,20 @@ plus #85 SuiteClaim wrapper consumer landed. 1. Author new §1.8 row #106 `show_correct_code_diagnostic_coverage` with substrate-shape gate type 2. Enumerate diagnostic classes (parse / type / lens / emit / ...) 3. For each class, audit existing diagnostics + check whether they cite "Y would be right" or only "X is wrong" - 4. **Substrate-shape canvas authored by Substrate Mgr BEFORE worker dispatch** (per claude review exploratory observation #2 — this plan doc surfaces a sub-program step, but the actual substrate-shape commitment must be ratified via Mgr canvas, not implemented from this prose). **Canvas substrate-shape constraint (briansrls BLOCKING PR #3013 2026-05-13T18:22:57Z enforcement: `Option` shape RETRACTED)**: per `feedback_state_space_vs_behavioral_invariants` ("check if the type admits illegal state combinations; type enforcement > API enforcement") + `feedback_optional_models_recovery_as_exception` ("T? where absence is the norm conceals plurality") + `feedback_practice_2_vs_4_same_variant_vs_cross_variant`, the field MUST be `correction: Witness` (NOT `correction: Option`). The Option-wrapped form admits `None` = "diagnostic without correction" which is exactly the state THESIS.md "show the correct code" forbids. Practice-2 carrier refinement: type-level enforcement that every Diagnostic value carries a Witness, no None state representable. Canvas authors a substrate shape that admits Diagnostic-with-correction *by construction*; the Witness field is non-optional. Director ratifies; worker dispatches against ratified shape. + 4. **Substrate-shape canvas authored by Substrate Mgr BEFORE worker dispatch** (per claude review exploratory observation #2 — this plan doc surfaces a sub-program step, but the actual substrate-shape commitment must be ratified via Mgr canvas, not implemented from this prose). **Canvas substrate-shape constraint (briansrls + codex BLOCKING PR #3013 2026-05-13 dual enforcement: `Option` shape RETRACTED; absolute thesis shape and pragmatic residual policy SEPARATED into named carrier variants)**: per `feedback_state_space_vs_behavioral_invariants` ("check if the type admits illegal state combinations; type enforcement > API enforcement") + `feedback_optional_models_recovery_as_exception` ("T? where absence is the norm conceals plurality") + `feedback_practice_2_vs_4_same_variant_vs_cross_variant`, the Correction field MUST inhabit exactly one of two named carrier variants (NOT `Option`): + + ```dag + sum Correction { + LiveCorrection { witness: Witness } + | DeferredCorrection { reason: String, retirement_plan: RetirementPlan } + } + type Diagnostic { + ... + correction: Correction // mandatory; structurally exhaustive over LiveCorrection | DeferredCorrection + } + ``` + + **LiveCorrection** is the 100% THESIS-correct path — diagnostic points to the structurally correct program via Witness. **DeferredCorrection** models any accepted residual as an explicit named-deferral carrier with retirement plan (codex BLOCKING #3 enforcement: *"model any accepted residual as an explicit deferral carrier with named reason"*). The Option-wrapped form admits `None` = "diagnostic without correction" — exactly the state THESIS.md "show the correct code" forbids — AND collapses the absolute-thesis vs pragmatic-residual axes into a single nullable boolean. Practice-2 carrier refinement: type-level enforcement that every Diagnostic value carries a Correction; the residual path is structurally named with retirement-plan accountability rather than absorbed silently into None. **Gate #84/#106 close condition** requires every `DeferredCorrection` entry to be ratchetable to zero per its own retirement plan. Canvas authors the substrate shape that admits Diagnostic-with-correction *by construction* via the sum variant; Director ratifies; worker dispatches against ratified shape. 5. Worker brief dispatch to retrofit existing diagnostics - **Effort estimate**: 4-8 weeks (depends on diagnostic class count; potentially smaller if substrate already supports it). **Caveat (per claude review exploratory observation #3 — estimates unsourced)**: this estimate is PM-prior-cycle-experience-based, NOT cited against specific velocity data. Substrate Mgr canvas surfaces the actual scope + worker effort; final estimate calibrates post-canvas-ratification. @@ -321,7 +353,7 @@ plus #85 SuiteClaim wrapper consumer landed. - **Predicate execution (Verification Mgr parallel via ctrl-build)**: 3-5 days compressed if remote BuildBuddy infra healthy + parallelism dispatch - **Overall**: 1-2 weeks for full landing, contingent on Verification Mgr capacity + ctrl-build availability -**Close criterion**: `docs/audit/r3-close-predicate-execution-YYYY-MM-DD.md` exists on main with ALL 105 rows filled + overall verdict cited. +**Close criterion** (codex non-blocking PR #3013 2026-05-13: **count-drift cleanup — derive row-count from §1.8 ledger at execution time**, NOT hard-coded; per `feedback_no_snapshot_integers_in_briefs`): `docs/audit/r3-close-predicate-execution-YYYY-MM-DD.md` exists on main with **all §1.8 ledger rows filled** (count derived at execution time via `grep -cE "^\| #[0-9]+ \|" docs/r3-program-plan.md` or equivalent §1.8 row enumeration; Gap 9 row #106 + any subsequent additions automatically included) + overall verdict cited. Avoids the snapshot-integer rot pattern. **Note**: this gap is the *receipt* for the closure ceremony. Skeleton authoring (1-2 days) is not blocked on other gaps and is PM's immediate next deliverable; predicate execution (1-2 weeks) can run in parallel with other Phase B/C/D work. From 5e5040969e77349810566870cb0261446b985dd1 Mon Sep 17 00:00:00 2001 From: Brian Searls Date: Wed, 13 May 2026 18:38:24 +0000 Subject: [PATCH 10/15] =?UTF-8?q?docs(r3-close):=20close=20=C2=A76/=C2=A74?= =?UTF-8?q?=20INVARIANTS=20P2=20violation=20+=20footer=20drift=20per=20cur?= =?UTF-8?q?sor=20APPROVE=5FWITH=5FCOMMENTS=20PR=20#3013?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit cursor/composer-2 APPROVE_WITH_COMMENTS 2026-05-13T18:35:17Z: **Finding 1 — INVARIANTS P2 violation (§6 vs §4 duplicate Gap 9 authority)**: §6 operator checklist still offered "ratify threshold = 100% (THESIS-correct) OR ≥X% (pragmatic, X TBD); (b) override with not-R3-promised reframe" — exactly the within-R3 threshold negotiation that §4 retracted in the prior fix at 870f6ceac. Two "authoritative" asks for the same Gap 9 decision = INVARIANTS P2 single-place- for-the-fact violation. **Fix**: rewrote §6 Gap 9 bullet to match §4 — single binary decision (IN-R3 at 100% absolute OR R4-carve via explicit operator override of project_no_r4_carves_directive). No threshold negotiation; no sub-decision (b) since §4 removed it. §4 is now the single authority for the Gap 9 disposition. **Finding 2 (exploratory) — §6 vs footer drift**: §6 line 453 marks "Director ratifies this plan structure — APPROVED 2026-05-13" ✓ but footer at line 471 still said "DRAFT pending Director ratification + operator scope approval". Director already ratified structure per msg_cd2d8d7d; only operator scope approval is pending. **Fix**: tightened footer to "Director structure-ratified 2026-05-13; DRAFT pending operator scope approval (§4 IN-R3 confirmations + Phase A dispatch authorization)" — preserves the actual gating state without contradicting §6 checklist. Co-Authored-By: Claude Opus 4.7 (1M context) --- docs/r3-actual-close-plan.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/r3-actual-close-plan.md b/docs/r3-actual-close-plan.md index 4b5320d5cc6..e9768cc9bef 100644 --- a/docs/r3-actual-close-plan.md +++ b/docs/r3-actual-close-plan.md @@ -455,7 +455,7 @@ Anti-pattern observed: closure-ceremony work is ad-hoc and gets bumped by reacti - [ ] Gap 1 (PB-0): confirm IN-R3 OR override with named R4-carve subsets - [ ] Gap 2 (L5 cross-target): confirm IN-R3 (Python+Go) OR override with Rust-only-Shape-A scope - [ ] Gap 3 (self-host R3-strong): confirm IN-R3 (4-joint-precondition cascade) OR override with R1-horizon final - - [ ] Gap 9 (show-correct-code): (a) confirm IN-R3 + ratify threshold = 100% (THESIS-correct) OR ≥X% (pragmatic, X TBD); (b) override with not-R3-promised reframe + - [ ] Gap 9 (show-correct-code): confirm IN-R3 at 100% absolute (no threshold negotiation per §4 + close criterion above) OR override with not-R3-promised reframe (= R4-carve; requires explicit operator override of `project_no_r4_carves_directive`) - [ ] Operator authorizes Phase A immediate dispatch (close-audit doc skeleton + §1.8 row #106 author) - [ ] Director-tier deliverables in-flight per msg_cd2d8d7d: - [ ] R2-Evaluator audit (Gap 3 precondition; this week) @@ -468,4 +468,4 @@ Anti-pattern observed: closure-ceremony work is ad-hoc and gets bumped by reacti **Authored by**: deep-wolf-155 (PM) **Date**: 2026-05-13 -**Status**: DRAFT pending Director ratification + operator scope approval +**Status**: Director structure-ratified 2026-05-13 (msg_cd2d8d7d); **DRAFT pending operator scope approval** (§4 IN-R3 confirmations + Phase A dispatch authorization) From 0f8f9e3cda232c62624114d24d2ee6c2b62b734e Mon Sep 17 00:00:00 2001 From: Brian Searls Date: Wed, 13 May 2026 18:51:36 +0000 Subject: [PATCH 11/15] docs(r3-close): align Gap 9 close criterion to sum-variant Correction carrier per codex BLOCKING #11273 PR #3013 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Prior fix at 9d763ddcb ratified `sum Correction { LiveCorrection | DeferredCorrection }` substrate-shape canvas (Practice-2 carrier refinement: nullable `Option` admits illegal "diagnostic without correction" state). But the close criterion still read `correction: Witness` + `Some(_)` — the retracted Option shape it was meant to replace. P2 single-authority violation: two incompatible carrier shapes for the same Diagnostic.correction field in adjacent text. Rewrote close criterion as: - Structural (compiler-enforced): every Diagnostic carries mandatory `correction: Correction` field (sum-variant, no Option-wrapping) - Variant-tally (zero-DeferredCorrection): every fired Diagnostic in test corpus is LiveCorrection variant; count of DeferredCorrection = 0 - Substrate ratchet: every DeferredCorrection entry ratchetable to zero per its own retirement_plan field Preserved both retraction citations (codex BLOCKING #11254 pragmatic-relaxation + briansrls Option) as audit trail. Close criterion now matches the canvas substrate-shape commitment by construction. Co-Authored-By: Claude Opus 4.7 (1M context) --- docs/r3-actual-close-plan.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/docs/r3-actual-close-plan.md b/docs/r3-actual-close-plan.md index e9768cc9bef..1581a17e7b2 100644 --- a/docs/r3-actual-close-plan.md +++ b/docs/r3-actual-close-plan.md @@ -322,8 +322,11 @@ plus #85 SuiteClaim wrapper consumer landed. 5. Worker brief dispatch to retrofit existing diagnostics - **Effort estimate**: 4-8 weeks (depends on diagnostic class count; potentially smaller if substrate already supports it). **Caveat (per claude review exploratory observation #3 — estimates unsourced)**: this estimate is PM-prior-cycle-experience-based, NOT cited against specific velocity data. Substrate Mgr canvas surfaces the actual scope + worker effort; final estimate calibrates post-canvas-ratification. -**Close criterion** (codex BLOCKING PR #3013 2026-05-13 enforcement: **absolute 100% — pragmatic-relaxation alternative RETRACTED** as it converted a load-bearing THESIS promise into a negotiable threshold): -- **THESIS-correct (100% absolute)**: every Diagnostic in `src/v3/compiler/` has `correction: Witness` field present + `Some(_)` for **every** fired diagnostic in test corpus. No threshold relaxation. THESIS.md "Error handling: show the correct code" — *"Diagnostics should point to the structurally correct program, not just report that the current one is wrong"* — reads as absolute promise. +**Close criterion** (codex BLOCKING #11273 PR #3013 2026-05-13 enforcement: must match the sum-variant `Correction` carrier ratified above — `Option` / `Some(_)` shape RETRACTED as it reintroduces the nullable form the substrate-shape canvas explicitly rejects; codex BLOCKING #11254 PR #3013 2026-05-13 prior enforcement: **absolute 100% — pragmatic-relaxation alternative RETRACTED** as it converted a load-bearing THESIS promise into a negotiable threshold): +- **THESIS-correct (100% absolute, variant-tally form)**: + - **Structural (compiler-enforced)**: every `Diagnostic` value in `src/v3/compiler/` carries a mandatory `correction: Correction` field (sum-variant: `LiveCorrection` | `DeferredCorrection`) — type system enforces presence; no `Option`-wrapping; no `None` representable. + - **Variant-tally (zero-DeferredCorrection)**: across the full test corpus, **every** fired `Diagnostic` value carries the `LiveCorrection` variant. Equivalently: count of fired `Diagnostic` values with `correction: DeferredCorrection { .. }` variant is exactly 0. Per the sum-variant carrier shape above, this exhausts the sum and discharges the THESIS promise. No threshold relaxation. THESIS.md "Error handling: show the correct code" — *"Diagnostics should point to the structurally correct program, not just report that the current one is wrong"* — reads as absolute promise. + - **Substrate ratchet (deferred-correction retirement)**: per the canvas substrate-shape commitment above, every `DeferredCorrection` entry encountered during the close-walk is ratchetable to zero per its own `retirement_plan` field; close fires when the DeferredCorrection list is empty (no fired diagnostic carries that variant). **Authority for no-relaxation** (codex BLOCKING PR #3013 receipt): the prior "Pragmatic relaxation (≥X%)" framing dilutes an absolute THESIS commitment into a negotiable threshold without THESIS-text reconciliation. Per `project_no_r4_carves_directive` (2026-05-08), R4-carve framing is NOT freely available; within-R3 relaxation paths are structurally equivalent to R4-carves under the directive. The alternative-disposition path below (R4-scope reframe with operator-recorded acceptance) is the ONLY non-100% path, and it requires explicit operator override of the no-carves directive — not a within-R3 threshold negotiation. From 85c230b4b90274ed6a80e4ef0e3aba02fef6f63b Mon Sep 17 00:00:00 2001 From: Brian Searls Date: Wed, 13 May 2026 18:57:20 +0000 Subject: [PATCH 12/15] =?UTF-8?q?docs(r3-close):=20absorb=20Director=20R2-?= =?UTF-8?q?Evaluator=20audit=20msg=5F82b9c4bb=20=E2=80=94=20Gap=203=20expa?= =?UTF-8?q?nsion=20+=20=C2=A74=20sub-item=205=20(Mgr=20dispatch)=20+=20r3-?= =?UTF-8?q?program-plan=20thesis-state=20drift=20reframe?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Director-tier R2-Evaluator audit (PR #3013 Gap 3 precondition deliverable from msg_cd2d8d7d) surfaced 3 structural findings: (a) R2 closed-with-residuals 2026-04-29 16:34Z (#1275; ROADMAP.md:512) with 5 sub-lanes carried as r3-continuation: runtime_value_model_structural (in-flight #1197/#1228/#1231), body_evaluator_structural (not-started), lens_application_complete_reflection (in-flight #1191), witness_construction_structural (not-started), cross_target_equivalence_harness_structural (not-started). Closure-ledger row stale @ #1191-#1231 era (HEAD is #3013+). (b) R3 Evaluator Mgr merry-gull-128 (#1743) ABSENT from current subtree at HEAD. Authority dispersed across 3 R3 Mgrs without single owner — r2-structure.md:73 anti-pattern reincarnation under R3-tier-slice procedural wrapper. (c) Brief surface comprehensive (r2-evaluator-manager.md + 4 sub-briefs + 10+ PR-A-E + R3-tier per-slice briefs); not the gap. (d) Director recommends re-spawn evaluator Mgr as 4th R3 Mgr lane. PM execution (bundled per feedback_bundle_workstreams_per_pr): 1. r3-actual-close-plan.md Gap 3 expansion: cite all 5 sub-lanes explicitly; reframe R2-Evaluator HEAD evidence from "landed" to "closed-with-residuals with 5 sub-lane debt"; note merry-gull-128 absence; close-criterion now requires (i) 5 sub-lanes ratchet-to-PASSING OR per-sub-lane R4-carve carrier with named retirement plan (substrate-shape symmetry with Gap 9 DeferredCorrection discipline), AND (ii) §4 sub-item 5 Mgr-dispatch disposition ratified. 2. r3-actual-close-plan.md §4 sub-item 5 (subtree-shape decision): R3 Evaluator Mgr dispatch with 3 operator sub-options — (a) re-spawn 4th lane PM+Director recommended, (b) fold into existing R3 Mgrs with named risk, (c) Director-direct ad-hoc PM-does-not-recommend per r2-structure.md:73 retraction. §6 checklist updated to track. 3. r3-program-plan.md lines 429/435 reframe: strike "R2-Evaluator (interpreter-as-data; LANDED)" / "R2-Evaluator landed" → "R2-Evaluator closed-with-residuals 2026-04-29 16:34Z per ROADMAP.md:512 — sub-lane completion partial via R3-tier slices, see Gap 3 in r3-actual-close-plan.md". Catches feedback_thesis_gate_state_drift class. Co-Authored-By: Claude Opus 4.7 (1M context) --- docs/r3-actual-close-plan.md | 35 ++++++++++++++++++++++++----------- docs/r3-program-plan.md | 4 ++-- 2 files changed, 26 insertions(+), 13 deletions(-) diff --git a/docs/r3-actual-close-plan.md b/docs/r3-actual-close-plan.md index 1581a17e7b2..41614e96f52 100644 --- a/docs/r3-actual-close-plan.md +++ b/docs/r3-actual-close-plan.md @@ -97,21 +97,21 @@ plus §1.8 row #15 status flips DECLARED → PASSING with corpus enumeration cit **HEAD evidence**: - Gate #16 = **CONSUMER_LANDED (R1 horizon; R3 stronger interpretation pending)** - 4 joint preconditions deferred per parent brief: - - R2-Evaluator landed + - **R2-Evaluator** — **closed-with-residuals 2026-04-29 16:34Z per ROADMAP.md:512, NOT LANDED**. Per Director audit msg_82b9c4bb 2026-05-13: 5 sub-lanes at R2-close per docs/r2-closure-ledger.md:250-263 — `runtime_value_model_structural` in-flight (#1197 #1228 #1231); `body_evaluator_structural` not-started; `lens_application_complete_reflection` in-flight (#1191); `witness_construction_structural` not-started; `cross_target_equivalence_harness_structural` not-started. Sub-lanes carried into R3 as r3-continuation but closure-ledger row stale @ #1191-#1231 era (HEAD is #3013+). R3-tier slice landings (sampled merged PRs 2026-04 → 2026-05-13: #1813 E6-G0d / #1857 E6-G1.a / #2152 Phase 4 / #2190 E2 Descent / #2257 TC3 D1 / #2658/#2812 gate #5 lens_apply retire / #2681 std.computation lowering / #2825/#2827/#2826/#2941 gates #57-#59) PARTIAL coverage; do NOT discharge the 5 sub-lane ledger. **R3 Evaluator Mgr merry-gull-128 (#1743) ABSENT from current subtree at HEAD** — authority dispersed across 3 R3 Mgrs without single owner (`feedback_thesis_gate_state_drift` instance; r2-structure.md:73 anti-pattern reincarnation under R3-tier-slice procedural wrapper). - R2-Grounding-Rust+Python landed - T-LP/SG-0 landed (= Gap 1 above) - Row-B materialization landed -**What's missing**: the 4 joint preconditions all need to land before R3-strong-form self-host can be claimed. +**What's missing**: the 4 joint preconditions all need to land before R3-strong-form self-host can be claimed. **R2-Evaluator joint precondition itself decomposes into 5 sub-lane closures** per the Director audit; the closure-ledger needs refresh + sub-lane ratchet-to-PASSING via §1.8 gate ratifications. **Plan to cash**: -- **Owner**: Director-tier coordination (cross-Mgr); PM tracks +- **Owner**: Director-tier coordination (cross-Mgr); PM tracks. **R2-Evaluator joint precondition specifically requires a 5th R3 Mgr lane decision** (see §4 sub-item 5 below) — re-spawn evaluator Mgr / fold into existing R3 Mgrs / Director-direct ad-hoc dispatch. - **Sub-program**: each precondition has its own program; this gap is meta-blocked - - R2-Evaluator: separate program; current status unknown to PM (need Director audit) + - R2-Evaluator: 5 sub-lanes per Director audit (runtime_value_model + body_evaluator + lens_application_complete_reflection + witness_construction + cross_target_equivalence_harness); brief surface comprehensive per Director (c) (r2-evaluator-manager.md + 4 sub-briefs + 10+ PR-A-E + R3-tier per-slice briefs). Q-EVAL ratifications landed 2026-05-06/07 (G0d-Dispatch / Descent-Termination-Contract / Lens-Fold-First-Slice). **Owner pending §4 sub-item 5 operator decision**. - R2-Grounding-Rust+Python: gate #18 + extdeps work - T-LP/SG-0: same as Gap 1 - Row-B materialization: T-LBP work -- **Effort estimate**: 2-4 months (joint precondition; bounded by the longest of 4) +- **Effort estimate**: 2-4 months (joint precondition; bounded by the longest of 4). R2-Evaluator residual closure is the dominant tail — 2 not-started sub-lanes + 3 in-flight per audit. **Close criterion**: ```bash @@ -119,9 +119,9 @@ plus §1.8 row #15 status flips DECLARED → PASSING with corpus enumeration cit self_host_fixed_point && diff -q # returns: byte-identical ``` -All 4 precondition gates PASSING + actual self-host invocation producing bit-identical output. +All 4 precondition gates PASSING + actual self-host invocation producing bit-identical output. **R2-Evaluator joint precondition close**: all 5 sub-lanes (runtime_value_model_structural / body_evaluator_structural / lens_application_complete_reflection / witness_construction_structural / cross_target_equivalence_harness_structural) PASSING in docs/r2-closure-ledger.md or §1.8 (refresh closure-ledger from #1191-#1231 era to HEAD) AND R3 Evaluator Mgr lane owner identified per §4 sub-item 5 disposition. -**Alternative disposition**: if operator accepts R1-horizon as R3-acceptable (compiler self-compiles but bit-identity only on R1-subset), record acceptance here + amend §4.2 promise text to scope-narrow the R3 claim. +**Alternative disposition**: if operator accepts R1-horizon as R3-acceptable (compiler self-compiles but bit-identity only on R1-subset), record acceptance here + amend §4.2 promise text to scope-narrow the R3 claim. **R2-Evaluator-tier alternative**: if operator R4-carves the residual 5 sub-lanes per `project_no_r4_carves_directive` explicit override, record per-sub-lane R4-carve carrier with named structural-unblockable reason + retirement plan (substrate-shape symmetry with Gap 9 `DeferredCorrection` discipline). --- @@ -417,9 +417,9 @@ This caveat applies to the entire §3 — estimates above are PM-best-guess at d ## §4. Operator decision points (request for ratification) -**Standing directive context** (per `project_no_r4_carves_directive`, Brian 2026-05-08 verbatim: *"we are NOT moving anything to R4 as of now"*): R4-carve is **NOT freely available** as a default. The 4 decisions below default to **IN-R3** unless operator explicitly overrides the standing directive with a structural-unblockable-reason argument per-decision. +**Standing directive context** (per `project_no_r4_carves_directive`, Brian 2026-05-08 verbatim: *"we are NOT moving anything to R4 as of now"*): R4-carve is **NOT freely available** as a default. The 4 scope decisions below default to **IN-R3** unless operator explicitly overrides the standing directive with a structural-unblockable-reason argument per-decision. -**PM recommendation across all 4** (per claude review exploratory observation #1 — explicit per-gap PM view): **do not defer** any of Gaps 1/2/3/9. Each R4-carve materially dilutes a load-bearing R3 promise: +**PM recommendation across all 4 scope decisions** (per claude review exploratory observation #1 — explicit per-gap PM view): **do not defer** any of Gaps 1/2/3/9. Each R4-carve materially dilutes a load-bearing R3 promise: - Gap 1 R4-carve = dilutes PB-0 thesis claim ("0 hand-Rust") - Gap 2 R4-carve = scope-narrows §3.1 from 3-Shape-A targets to Rust-only (defeats omni-emission story) - Gap 3 R4-carve = scope-narrows §4.2 self-host fixed point to R1-horizon (defeats self-host thesis claim) @@ -433,7 +433,18 @@ PM requests operator confirmation (default IN-R3) or explicit override (R4-carve 4. **Gap 9 (show-correct-code)**: IN-R3 default = new §1.8 gate + Diagnostic-with-correction coverage at **100% absolute** (no threshold negotiation; codex BLOCKING PR #3013 2026-05-13 retracted prior `≥X%` pragmatic-relaxation framing as THESIS-promise-dilution). **PM-recommended: do not defer.** Single operator sub-decision: - (a) IN-R3 at 100% absolute (recommended) OR not-R3-promised reframe (= R4-carve per directive; requires explicit operator override of `project_no_r4_carves_directive`) -**§5 process discipline note**: per the standing directive, asking the operator to choose IN-R3-vs-R4-carve framing for these 4 items implicitly invites R4-carve consideration. Re-framing per Director feedback item 1: the question is "confirm IN-R3 (default, per directive + PM-recommended)" — explicit override only if structurally unblockable. +**5. R3 Evaluator Mgr dispatch (subtree-shape decision; surfaced per Director audit msg_82b9c4bb 2026-05-13)**: structurally distinct from the 4 scope decisions above — this decision changes Director subtree shape rather than R3 surface scope. Per Director audit findings: (a) R2-Evaluator closed-with-residuals with 5 sub-lanes carried into R3; (b) R3 Evaluator Mgr merry-gull-128 (#1743) ABSENT from current subtree at HEAD; (c) brief surface comprehensive; (d) Director-recommends re-spawn as 4th R3 Mgr lane. PM-recommendation **OPTION A: re-spawn evaluator Mgr** per: + - `feedback_standing_managers_need_owned_deliverables` — 5 named sub-lanes (runtime_value_model + body_evaluator + lens_application_complete_reflection + witness_construction + cross_target_equivalence_harness) is an owned-program count that justifies a Mgr lane. + - `feedback_pre_authored_brief_queue` — brief surface already comprehensive per Director (c); re-spawn does NOT bottleneck on Mgr-tier dispatch authoring. + - Operator standing directive *"staffing not a concern"* (2026-05-13 PR #3013 ratification thread) frames 4th R3 Mgr lane as IN-policy. + - Existing 3-Mgr R3 template (Substrate / Verification / Debt-Paydown) symmetry — 4th lane is structurally parallel, not a new Mgr-tier shape. + + Operator sub-decisions: + - (a) **Re-spawn R3 Evaluator Mgr as 4th lane** (PM-recommended; Director-recommended primary option). Brief surface ready; sub-lanes named; owned-program count meets bar. + - (b) **Fold into existing R3 Mgrs**: witness_construction + cross_target_equivalence to Verification (swift-deer-459); runtime_value_model + body_evaluator to Substrate (warm-wolf-698); lens_application_complete_reflection to whichever has lower load. Lower agent-spawn cost; risk: scope-bloat under existing R3-lane load creates dual-program lane (the same anti-pattern that produced the dispersion). + - (c) **Director-direct ad-hoc dispatch**: structurally equivalent to retracted r2-structure.md:73 anti-pattern ("standing managers without owned deliverables degenerate into pass-through hops; concentrating brief-authoring on Director starved lanes"); PM does NOT recommend. + +**§5 process discipline note**: per the standing directive, asking the operator to choose IN-R3-vs-R4-carve framing for the 4 scope items implicitly invites R4-carve consideration. Re-framing per Director feedback item 1: the question is "confirm IN-R3 (default, per directive + PM-recommended)" — explicit override only if structurally unblockable. **Sub-item 5 (Mgr-dispatch) is NOT a scope question**; it asks operator to ratify subtree-shape change. Default state is "no decision recorded" — Gap 3 close-criterion is meta-blocked until operator ratifies one of (a)/(b)/(c). --- @@ -454,11 +465,13 @@ Anti-pattern observed: closure-ceremony work is ad-hoc and gets bumped by reacti ## §6. Pending Director + operator decisions - [x] **Director ratifies this plan structure** — APPROVED 2026-05-13 (msg_cd2d8d7d) on structure + dispatch sequencing + §5 process discipline. 8 substantive notes integrated into this revision. -- [ ] Operator §4 confirmations (4 decisions; default IN-R3 per `project_no_r4_carves_directive`): +- [ ] Operator §4 confirmations (4 scope decisions; default IN-R3 per `project_no_r4_carves_directive`): - [ ] Gap 1 (PB-0): confirm IN-R3 OR override with named R4-carve subsets - [ ] Gap 2 (L5 cross-target): confirm IN-R3 (Python+Go) OR override with Rust-only-Shape-A scope - [ ] Gap 3 (self-host R3-strong): confirm IN-R3 (4-joint-precondition cascade) OR override with R1-horizon final - [ ] Gap 9 (show-correct-code): confirm IN-R3 at 100% absolute (no threshold negotiation per §4 + close criterion above) OR override with not-R3-promised reframe (= R4-carve; requires explicit operator override of `project_no_r4_carves_directive`) +- [ ] Operator §4 sub-item 5 (subtree-shape decision; surfaced per Director audit msg_82b9c4bb 2026-05-13): + - [ ] R3 Evaluator Mgr dispatch: (a) re-spawn as 4th lane (PM + Director recommended) / (b) fold into existing R3 Mgrs / (c) Director-direct ad-hoc (PM does not recommend per r2-structure.md:73 anti-pattern) - [ ] Operator authorizes Phase A immediate dispatch (close-audit doc skeleton + §1.8 row #106 author) - [ ] Director-tier deliverables in-flight per msg_cd2d8d7d: - [ ] R2-Evaluator audit (Gap 3 precondition; this week) diff --git a/docs/r3-program-plan.md b/docs/r3-program-plan.md index d28b1faefe9..b0c46e5915a 100644 --- a/docs/r3-program-plan.md +++ b/docs/r3-program-plan.md @@ -426,13 +426,13 @@ Each retires per its natural-owner program prerequisites. Verification Mgr's `br | Lane (join-key only; defs in `r3-structure.md`) | Status | Current dispatch | Blocker | ETA-to-close | |---|---|---|---|---| | T-Tier3-Dissolution | YELLOW | clever-bear-180 active on R3 F1 MissingEmissionPath typed-axes substrate (Class C) PR #2574 (1 pending); related downstream of T-Tier3 D2a tracker work | (TBD; Tier-3 mirror dissolution + per-mirror gates per §1.8) | (TBD) | -| T-LensProducer-Retirement | YELLOW | **gate #5 redispatched 2026-05-13** under R3 PB Mgr tidy-raven-311 (worker spawned via dashboard work-item `adhoc-0cb1ea52-4ab` against `docs/briefs/r3-pb-t-lensproducer-sub1-lens-apply-retirement.md`; prior valiant-otter-715 session ARCHIVED without closure per Director audit msg_312fead3, gate still DECLARED at HEAD with `src/v3/compiler/src/lens_apply.rs` extant); **gate #7 sequencing-held** pending `BinShimFilesSubsetPredicate` substrate landing in `src/v3/std/verification.dag` (only `LensProducerFilesSubsetPredicate` precedent at `:44`/`:46` exists at HEAD; brief at `docs/briefs/r3-pb-binshim-retirement-worker.md` §"Substrate landings" enumerates required carriers; prior warm-crab-600 session ARCHIVED without closure per same audit); eager-koi-853 R3 lane tracking under warm-dove-618 PB Mgr historical; PR #2471 PB Item 5 follow-on brief 8-shim batch retirement merged 2026-05-10 | R2-Evaluator (interpreter-as-data; LANDED) + PB-1 generated bin-shim pattern (for gate iii `regen_lens.rs` retirement specifically; brief shape ratified 2026-05-09 via #2068 c#4411574142 / `BinShimFilesSubsetPredicate`, **substrate-carrier landing in `verification.dag` outstanding at HEAD 2026-05-13**) + R2-T-Ground-Lifetime-Analyzer a/b/c basic cases (per `r3-structure.md` §"Lane structure" T-LensProducer-Retirement R2-close-dependency column) | (TBD; #5 redispatched; #7 sequencing-held on BinShim substrate landing) | +| T-LensProducer-Retirement | YELLOW | **gate #5 redispatched 2026-05-13** under R3 PB Mgr tidy-raven-311 (worker spawned via dashboard work-item `adhoc-0cb1ea52-4ab` against `docs/briefs/r3-pb-t-lensproducer-sub1-lens-apply-retirement.md`; prior valiant-otter-715 session ARCHIVED without closure per Director audit msg_312fead3, gate still DECLARED at HEAD with `src/v3/compiler/src/lens_apply.rs` extant); **gate #7 sequencing-held** pending `BinShimFilesSubsetPredicate` substrate landing in `src/v3/std/verification.dag` (only `LensProducerFilesSubsetPredicate` precedent at `:44`/`:46` exists at HEAD; brief at `docs/briefs/r3-pb-binshim-retirement-worker.md` §"Substrate landings" enumerates required carriers; prior warm-crab-600 session ARCHIVED without closure per same audit); eager-koi-853 R3 lane tracking under warm-dove-618 PB Mgr historical; PR #2471 PB Item 5 follow-on brief 8-shim batch retirement merged 2026-05-10 | R2-Evaluator (interpreter-as-data; **closed-with-residuals 2026-04-29 16:34Z per ROADMAP.md:512 — sub-lane completion partial via R3-tier slices, see Gap 3 in `docs/r3-actual-close-plan.md` for sub-lane ledger**) + PB-1 generated bin-shim pattern (for gate iii `regen_lens.rs` retirement specifically; brief shape ratified 2026-05-09 via #2068 c#4411574142 / `BinShimFilesSubsetPredicate`, **substrate-carrier landing in `verification.dag` outstanding at HEAD 2026-05-13**) + R2-T-Ground-Lifetime-Analyzer a/b/c basic cases (per `r3-structure.md` §"Lane structure" T-LensProducer-Retirement R2-close-dependency column) | (TBD; #5 redispatched; #7 sequencing-held on BinShim substrate landing) | | T-V-L4 (emit/eval match) | YELLOW | `r3-v-l4-l7-direct-*` briefs | Pattern A first slice (Q-PAFS) + corpus build-out | (TBD) | | T-V-L7 (algebraic-law witness coverage) | YELLOW | `r3-v-l7-algebra-coverage-matrix` briefs; **gate #10 `bounded L7 AlgebraicLaw witnesses (assoc / comm / identity)` MERGED in PR #2394 (2026-05-10)** | per-(algebra, inhabitant, law) exhaustive coverage gap remaining | (TBD; assoc/comm/identity bounded slice landed) | | T-V-L5-Corpus | RED | (waits on L4 corpus + Shape A grounding) | T-V-L4 corpus existing first | post-L4 | | T-FixedPoint | YELLOW | **PR #2783 Wave-1 PB2 P0 pins MERGED 2026-05-12 23:22Z** (gate #16 R3 horizon: `src/v3/compiler/src/bin/self_host_fixed_point.rs` + `docs/db-history/db-8.md` cross-links + CI-job comments + `src/v3/std/verification.dag` adjacent docs banners — readiness alignment per `docs/briefs/r3-wave1-pb2-fixedpoint-gate16-r3-horizon-worker.md` §"Wave-1 allowed work, default path"; no Pass/Fail change to R1 horizon `r1_release_acceptance_test`); P3 strong-fixed-point sequencing-held per parent brief joint-precondition rule | SG-0 zero from T-LensProducer (gates #5/#7 unmet at HEAD) + R2-Grounding (Rust+Python joint rule) + Row-B materialization | (TBD; P0 pins landed; P3 dispatch-eligible only on joint preconditions) | | T-Numeric-Construction | YELLOW | **PR #2526 u128 grounding-pilot Rust mirror sync MERGED 2026-05-10**; **PR #2570 Grounding G2 Phase 2 float primitive rows MERGED 2026-05-10** (closes proud-raven-495 G2 Phase 2 prior HELD; squash `b96a51a2`); **gate #17 `numeric_abstract_carriers_landed` substrate receipt MERGED** (PR #2397 + PR #2409 — `Real = ApproximateField>` in `dsl/std/float.dag` + integration ratchet `real_default_alias_resolves_to_approximate_field_over_field_of_fractions_of_int`; §1.8 row #17 remains **DECLARED** until §P2 generated consumer); **wise-pike-29 active on gate #20 numeric inherited bake-ins dissolved** (PR #2426 4 passing); T-NumericConstruction-ApproximateField #1523 prior-cycle | broader Real emission demonstrations under S9 / Shape-A follow-ons (per §1.8 #18 close-criterion); **#20** substrate-shape gate **DECLARED** (per §1.8) | (TBD; #18 + #24 CONSUMER_LANDED + PASSING for Grounding G2 primitive rows; **#20** in flight; **#67** demonstration outstanding) | -| T-Omni-Shape-B | YELLOW | **gate #25 salvage path active** at warm-dove-618 PB Mgr lane via assignment #2550 (after sleek-eagle-557 archival left PR #2410 orphan + DIRTY); **gate #26** (omni doc drift lock — snappy-heron-259) + **gate #27** (omni sql ddl alt — gentle-hawk-401) workers idle, mis-parented under sunny-koi-893 Grounding subtree pending re-parent coordination per gunbc#828 c#4414249641 | dependencies (R2-Evaluator landed; Shape A targets in flight) | post-gate-#25 salvage PR + #26/#27 closure | +| T-Omni-Shape-B | YELLOW | **gate #25 salvage path active** at warm-dove-618 PB Mgr lane via assignment #2550 (after sleek-eagle-557 archival left PR #2410 orphan + DIRTY); **gate #26** (omni doc drift lock — snappy-heron-259) + **gate #27** (omni sql ddl alt — gentle-hawk-401) workers idle, mis-parented under sunny-koi-893 Grounding subtree pending re-parent coordination per gunbc#828 c#4414249641 | dependencies (R2-Evaluator **closed-with-residuals 2026-04-29 16:34Z per ROADMAP.md:512 — sub-lane completion partial via R3-tier slices, see Gap 3 in `docs/r3-actual-close-plan.md`**; Shape A targets in flight) | post-gate-#25 salvage PR + #26/#27 closure | | T-Anthropic-Wire | YELLOW | 3 coproduct worker briefs dispatched on PR #1782 wait-window + 2 OPEN closure tags at HEAD (`dsl/extdeps/llm/anthropic.dag` `:189` + `:68`); **PR #2506 [codex] add anthropic wire demo MERGED 2026-05-10** (1 test entry: `anthropic_messages_wire_demo_test.rs`) | three coproduct slices land + variant-aware projection carrier authored | post-#1782 merge + 3 follow-up paydown PRs | | T-Bridge-Retirement | YELLOW | per-bridge dispatches. Cycle PR-merge evidence (gate-promotion separate; see Status column below): PR #2459 (`include_str` retire) + PR #2449 (`canonical lens name dispatch` retire) — both partial evidence toward §1.8 #34 / #33 promotion respectively. Per §1.8 canonical status: **#32 PASSING** (`mark_bootstrap_secret_nominal_opacity_retired`) + **#35 PASSING** (`bridge_exact_string_patching_residual_retired` — PB lower-helper slice retired in `bridge_ledger.dag`) + **#33 DECLARED** (canonical-lens-name dispatch; PR #2449 merged but gate not yet promoted) + **#34 DECLARED** (include_str side channels; PR #2459 merged but gate not yet promoted) | per §1.8: 2 retired-and-promoted (#32 + #35) + 2 retired-and-pending-promotion (#33 + #34) + remaining `SourceSpan.file participation` (Substrate-owned hand-Rust audit sites; not numbered in §1.8) + residual semantic patching (`bridge_exact_string_semantic_patching_residual` Open per #35 close-criterion). Aggregate retirement count per §1.8 PASSING discipline = 2/5 (gate-promotion-tied), with 2 awaiting promotion drift sweep | per `r3-structure.md` §"Lane structure" T-Bridge-Retirement R2-close-dependency: post-R2 substrate carriers + per-bridge gates per natural-owner program prerequisites | | T-CostLens-Composition | YELLOW | α-narrow ratified at gunb-ai/gunbc#828 #issuecomment-4400772335 — gates **#38** + **#39** structurally satisfied at HEAD by construction (`SymbolicCost` sole cost dimension; `Semiring` sole composition authority); receipts landed via PR #2171. **ε path RATIFIED 2026-05-07** (Q-Cost-Composition-Layering canvas at PR #2181, canonical-not-transitional) — **gate #37** documents the **partial** Rust-side composition consumer (`symbolic_cost` × `sequential` × bootstrap realization rows; see §1.8 row #37). **Gates #40** + **#70** carry **INTEGRATION_RECEIPT** evidence at §1.8 (2026-05-12 PR #2785: `m1_5_verification_test.rs` + `lens_cost_target_realization_test.rs` + `common/symbolic_cost_verification_fixture.rs`). **Q-Lens-Target-Context β-extended path DEFERRED** to N=2 trigger event (when second lens surfaces target-context need; emission_provenance most likely candidate per cross-cutting analysis); not active R3 ratification gate. | R2-Evaluator + R2-T-Substrate-Lens-Primitive + T-CostLens follow-on slice (Rust-side composition per ε) | α close at HEAD; #37 partial ε-slice; #40 + #70 integration receipts landed | From 97cfb9d4c838770b95ef12d83cf286d95c004cb0 Mon Sep 17 00:00:00 2001 From: Brian Searls Date: Wed, 13 May 2026 18:59:07 +0000 Subject: [PATCH 13/15] docs(r3-close): split Gap 3 close criterion from dispatch staffing prereq + use r2-closure-ledger authority for sub-lanes per Director notes msg_f0a54769 PR #3013 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Director note msg_f0a54769 surfaced 3 substantive shape issues on the 85c230b4b Director-audit absorption: Note 1 (sub-lane name authority): the 5 R2-Evaluator sub-lane names (runtime_value_model_structural / body_evaluator_structural / lens_application_complete_reflection / witness_construction_structural / cross_target_equivalence_harness_structural) live in `docs/r2-closure-ledger.md:250-263`, NOT as §1.8 row IDs in `docs/r3-program-plan.md`. Prior draft conflated authorities ("PASSING in §1.8" mismatches the actual artifact). PM-selected path (α): use sub-lane names as predicate authority per `feedback_parallel_representation_debt` — don't introduce 5 new §1.8 rows for already-named ledger content. Predicate is cell-level check of `docs/r2-closure-ledger.md` (each sub-lane row status=green at HEAD); closure-ledger row stale @ #1191-#1231 era requires refresh first. Note 2 (staffing-as-criterion vs precondition): staffing/dispatch shape is a PRECONDITION for execution, not a close criterion for the substrate-debt itself. If a Mgr exists but doesn't close the 5 sub-lanes, Gap 3 isn't closed; if alternative dispatch (fold/ad-hoc) closes them, Gap 3 IS closed. Moved "(ii) R3 Evaluator Mgr lane owner identified" from close criterion to new "Dispatch staffing prereq" section. Close criterion now purely substrate-debt-shaped. Note 3 (sequencing): re-spawn AFTER operator §4 sub-item 5 ratification, NOT before. Sequence explicit in Dispatch staffing prereq section per `feedback_construction_over_ratchets` adjacent class — don't author the Mgr until the operator-decision substrate cashes. Co-Authored-By: Claude Opus 4.7 (1M context) --- docs/r3-actual-close-plan.md | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/docs/r3-actual-close-plan.md b/docs/r3-actual-close-plan.md index 41614e96f52..fc1bbacf27a 100644 --- a/docs/r3-actual-close-plan.md +++ b/docs/r3-actual-close-plan.md @@ -113,13 +113,22 @@ plus §1.8 row #15 status flips DECLARED → PASSING with corpus enumeration cit - Row-B materialization: T-LBP work - **Effort estimate**: 2-4 months (joint precondition; bounded by the longest of 4). R2-Evaluator residual closure is the dominant tail — 2 not-started sub-lanes + 3 in-flight per audit. -**Close criterion**: +**Close criterion** (substrate-debt-shaped only — Director note msg_f0a54769 2026-05-13 Note 2 enforcement: staffing/dispatch shape is a PRECONDITION for execution, not a close criterion for the substrate-debt itself; moved to "Dispatch staffing prereq" below): ```bash # Predicate at gate #16 R3-strong-form close: self_host_fixed_point && diff -q # returns: byte-identical ``` -All 4 precondition gates PASSING + actual self-host invocation producing bit-identical output. **R2-Evaluator joint precondition close**: all 5 sub-lanes (runtime_value_model_structural / body_evaluator_structural / lens_application_complete_reflection / witness_construction_structural / cross_target_equivalence_harness_structural) PASSING in docs/r2-closure-ledger.md or §1.8 (refresh closure-ledger from #1191-#1231 era to HEAD) AND R3 Evaluator Mgr lane owner identified per §4 sub-item 5 disposition. +All 4 precondition gates PASSING + actual self-host invocation producing bit-identical output. **R2-Evaluator joint precondition close** (Director note msg_f0a54769 Note 1 enforcement: predicate authority is the R2-closure-ledger, NOT §1.8 — sub-lane names live at `docs/r2-closure-ledger.md:250-263`, do NOT map 1:1 to §1.8 row IDs; PM-recommended path (α): use sub-lane names as predicate authority rather than introduce 5 new §1.8 rows for already-named ledger content per `feedback_parallel_representation_debt`): all 5 R2-closure-ledger Evaluator sub-lanes status=green at HEAD per cell-level check of `docs/r2-closure-ledger.md:250-263` — +- `runtime_value_model_structural` = green +- `body_evaluator_structural` = green +- `lens_application_complete_reflection` = green +- `witness_construction_structural` = green +- `cross_target_equivalence_harness_structural` = green + +The closure-ledger row currently stale @ #1191-#1231 era; close also requires the ledger be refreshed against HEAD before status-evaluation. Grep-verifiable predicate against `docs/r2-closure-ledger.md` cell content. + +**Dispatch staffing prereq** (NOT a close criterion; Director note msg_f0a54769 Note 2 enforcement; Director note msg_f0a54769 Note 3 sequencing enforcement): execution of the 5 sub-lane closures requires owner identification. R3 Evaluator Mgr lane disposition per §4 sub-item 5 ratification (operator decides; PM-recommends re-spawn as 4th lane). **Sequencing**: re-spawn (or fold / Director-direct per operator ratification) occurs AFTER operator §4 sub-item 5 confirmation, NOT before (don't author the Mgr until the operator-decision substrate cashes; `feedback_construction_over_ratchets` adjacent class). PM-recommendation Option A is on-record but execution waits on operator. **Alternative disposition**: if operator accepts R1-horizon as R3-acceptable (compiler self-compiles but bit-identity only on R1-subset), record acceptance here + amend §4.2 promise text to scope-narrow the R3 claim. **R2-Evaluator-tier alternative**: if operator R4-carves the residual 5 sub-lanes per `project_no_r4_carves_directive` explicit override, record per-sub-lane R4-carve carrier with named structural-unblockable reason + retirement plan (substrate-shape symmetry with Gap 9 `DeferredCorrection` discipline). From 2a791681261e30308fdca1f38ec9214a2d76d28b Mon Sep 17 00:00:00 2001 From: Brian Searls Date: Wed, 13 May 2026 19:11:48 +0000 Subject: [PATCH 14/15] =?UTF-8?q?docs(r3-close):=20operator-ratification?= =?UTF-8?q?=20recorded=20=E2=80=94=20all=204=20IN-R3=20+=20=C2=A74=20sub-i?= =?UTF-8?q?tem=205=20re-spawn=20(a)=20+=20Phase=20A=20authorized=20PR=20#3?= =?UTF-8?q?013?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Operator (briansrls) ratification 2026-05-13 via direct PM dispatch: - Items 1-4 (R3 scope decisions): ALL IN-R3 confirmed per project_no_r4_carves_directive default. No R4-carves. - Gap 1 (PB-0): full 177-entry retirement - Gap 2 (L5 cross-target): full 3-target Python+Go - Gap 3 (self-host R3-strong): 4-joint-precondition cascade - Gap 9 (show-correct-code): 100% absolute (zero DeferredCorrection per sum-variant carrier) - Item 5 (R3 Evaluator Mgr dispatch subtree-shape decision): (a) re-spawn as 4th R3 Mgr lane confirmed. Director (zesty-bear-812) executes per pre-authorization at msg_d456b60d. - Phase A immediate dispatch authorized (implicit in ratification). Close-audit doc skeleton + §1.8 row #106 authoring proceeds PM-direct post-merge. §6 checklist updated: all operator-decision boxes checked. Director-tier deliverable R2-Evaluator audit also marked complete (msg_82b9c4bb 2026-05-13; absorbed at 85c230b4b + 97cfb9d4c). Footer status updated from "DRAFT pending operator scope approval" to "operator fully ratified 2026-05-13; READY FOR DISPATCH post-merge". Co-Authored-By: Claude Opus 4.7 (1M context) --- docs/r3-actual-close-plan.md | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/docs/r3-actual-close-plan.md b/docs/r3-actual-close-plan.md index fc1bbacf27a..6c001075892 100644 --- a/docs/r3-actual-close-plan.md +++ b/docs/r3-actual-close-plan.md @@ -474,23 +474,22 @@ Anti-pattern observed: closure-ceremony work is ad-hoc and gets bumped by reacti ## §6. Pending Director + operator decisions - [x] **Director ratifies this plan structure** — APPROVED 2026-05-13 (msg_cd2d8d7d) on structure + dispatch sequencing + §5 process discipline. 8 substantive notes integrated into this revision. -- [ ] Operator §4 confirmations (4 scope decisions; default IN-R3 per `project_no_r4_carves_directive`): - - [ ] Gap 1 (PB-0): confirm IN-R3 OR override with named R4-carve subsets - - [ ] Gap 2 (L5 cross-target): confirm IN-R3 (Python+Go) OR override with Rust-only-Shape-A scope - - [ ] Gap 3 (self-host R3-strong): confirm IN-R3 (4-joint-precondition cascade) OR override with R1-horizon final - - [ ] Gap 9 (show-correct-code): confirm IN-R3 at 100% absolute (no threshold negotiation per §4 + close criterion above) OR override with not-R3-promised reframe (= R4-carve; requires explicit operator override of `project_no_r4_carves_directive`) -- [ ] Operator §4 sub-item 5 (subtree-shape decision; surfaced per Director audit msg_82b9c4bb 2026-05-13): - - [ ] R3 Evaluator Mgr dispatch: (a) re-spawn as 4th lane (PM + Director recommended) / (b) fold into existing R3 Mgrs / (c) Director-direct ad-hoc (PM does not recommend per r2-structure.md:73 anti-pattern) -- [ ] Operator authorizes Phase A immediate dispatch (close-audit doc skeleton + §1.8 row #106 author) +- [x] **Operator §4 confirmations** — ALL 4 IN-R3 ratified 2026-05-13 (briansrls direct PM dispatch): + - [x] Gap 1 (PB-0): **IN-R3 confirmed** — full 177-entry retirement, no R4-carves + - [x] Gap 2 (L5 cross-target): **IN-R3 confirmed** — full 3-target Python+Go cross-target stdout-parity + - [x] Gap 3 (self-host R3-strong): **IN-R3 confirmed** — 4-joint-precondition cascade (no R1-horizon scope-narrow) + - [x] Gap 9 (show-correct-code): **IN-R3 confirmed** — 100% absolute (zero DeferredCorrection in test corpus per sum-variant carrier) +- [x] **Operator §4 sub-item 5 (subtree-shape decision)** — ratified 2026-05-13 (briansrls direct PM dispatch): **(a) re-spawn R3 Evaluator Mgr as 4th lane** confirmed. Director (zesty-bear-812) executes per pre-authorization at msg_d456b60d. +- [x] **Operator authorizes Phase A immediate dispatch** — implicit in ratification 2026-05-13. Close-audit doc skeleton + §1.8 row #106 authoring proceeds PM-direct post-merge. - [ ] Director-tier deliverables in-flight per msg_cd2d8d7d: - - [ ] R2-Evaluator audit (Gap 3 precondition; this week) + - [x] R2-Evaluator audit — **completed 2026-05-13 (msg_82b9c4bb)**; findings absorbed into Gap 3 expansion + §4 sub-item 5 + r3-program-plan.md lines 429/435 reframe at commits 85c230b4b + 97cfb9d4c - [ ] Gap 3 cross-Mgr coordination tracking (ongoing, Phase E) - [ ] §1.8 row #106 substrate-shape canvas ratification when PM surfaces it - [ ] Pre-execution review of close-audit-doc rows touching Director-tier ratification gates (gate #105 / canvas-ratified-class) -- [ ] PM dispatches Phase B + Phase C briefs post-§4-ratification +- [ ] PM dispatches Phase B + Phase C briefs post-§4-ratification (ratification ✓ 2026-05-13; PM-direct close-audit-doc skeleton authoring imminent) --- **Authored by**: deep-wolf-155 (PM) **Date**: 2026-05-13 -**Status**: Director structure-ratified 2026-05-13 (msg_cd2d8d7d); **DRAFT pending operator scope approval** (§4 IN-R3 confirmations + Phase A dispatch authorization) +**Status**: Director structure-ratified 2026-05-13 (msg_cd2d8d7d); **operator fully ratified 2026-05-13** (4 scope decisions IN-R3 + §4 sub-item 5 re-spawn (a) + Phase A authorization); READY FOR DISPATCH post-merge From f0ef8aef43a8a5c894b5143e8a1255be149cdfd3 Mon Sep 17 00:00:00 2001 From: Brian Searls Date: Wed, 13 May 2026 19:14:51 +0000 Subject: [PATCH 15/15] =?UTF-8?q?docs(r3-close):=20absorb=20codex=20BLOCKI?= =?UTF-8?q?NG=20#11284=20+=20reframe=20alternative-disposition=20class=20p?= =?UTF-8?q?er=20operator=20=C2=A74=20ratification=20PR=20#3013?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Codex BLOCKING #11284 (2 findings on 97cfb9d4c): F1 — `docs/r3-actual-close-plan.md:11` closure target generically allowed any adversarial gap to be "explicitly R4-deferred", semantically reintroducing a carve-out path the design-pure-bootstrap-zero.md + r3-program-plan.md authorities explicitly forbid. PM-intent dilution. F2 — `docs/r3-actual-close-plan.md:89` Gap 2 alternative-disposition authored Rust-only-Shape-A scope-narrow as an explicit fallback, semantically weakening the §3.1 3-target promise without prior authority reconciliation. Both findings are an instance of a broader class: alternative-disposition language across §0 + Gaps 1/2/3/9 was authored pre-ratification when operator hadn't yet foreclosed those paths. Post-operator-§4 ratification 2026-05-13 (ALL IN-R3, no R4-carves), they are stale-against-ratification. Consistent reframe applied to all 4 alternative-disposition instances: - Line 11 (§0 closure target): R4-defer / THESIS-reframe paths STRUCTURALLY FORECLOSED per operator §4 IN-R3 ratification; legacy alt-disposition sections retained as audit-trail not as available paths. - Line 48 (Gap 1 alt disposition): operator §4 Item 1 IN-R3 ratification supersedes; dual-amendment authority chain preserved as closure-rule discipline for any future re-opening. - Line 89 (Gap 2 alt disposition): operator §4 Item 2 IN-R3 ratification forecloses Rust-only-narrow. - Line 133 (Gap 3 alt disposition): operator §4 Item 3 IN-R3 ratification forecloses R1-horizon-narrow + 5-sub-lane R4-carve. - Line 342 (Gap 9 alt disposition): operator §4 Item 4 IN-R3 ratification forecloses THESIS-aspirational-not-R3-promised reframe. Also propagated ratification state into §4 header (request-for-ratification → RATIFIED 2026-05-13) + line 3 Status line (DRAFT → FULLY RATIFIED). Co-Authored-By: Claude Opus 4.7 (1M context) --- docs/r3-actual-close-plan.md | 35 ++++++++++++++++++++++++----------- 1 file changed, 24 insertions(+), 11 deletions(-) diff --git a/docs/r3-actual-close-plan.md b/docs/r3-actual-close-plan.md index 6c001075892..ecca3fadf12 100644 --- a/docs/r3-actual-close-plan.md +++ b/docs/r3-actual-close-plan.md @@ -1,6 +1,6 @@ # R3 Actual-Close Plan — Adversarial-Gap Disposition -**Status**: DRAFT (PM-authored 2026-05-13, pending Director ratification + operator approval) +**Status**: FULLY RATIFIED 2026-05-13 — Director structure-ratification (msg_cd2d8d7d) + operator §4 scope + Mgr-dispatch ratification (briansrls 2026-05-13). READY FOR DISPATCH post-merge. **Authority chain**: - Operator directive 2026-05-13 (verbatim): *"can we start on the planning docs to get to ACTUAL r3 close? like all of our adversarial questions answered positively? i feel like the planning for this stuff has been continuously dropped"* @@ -8,7 +8,7 @@ - Counterfactual surface: 10 substantive gaps found between Director's viz-as-SoT closure claim and THESIS-promise delivery on main - This doc replaces "viz-as-SoT closed_at + DECLARED-strings-are-drift" framing with explicit per-gap disposition: PROVEN / WEAK-EVIDENCE / GAP-with-plan / R4-DEFERRED-with-operator-accepted -**Closure target**: every adversarial counterfactual either (a) cashed by a landed PR with on-main evidence, OR (b) explicitly R4-deferred with named operator acceptance recorded here, OR (c) reframed as not-R3-promised per THESIS authority. +**Closure target** (codex BLOCKING #11284 PR #3013 2026-05-13 enforcement — semantic dilution retracted: prior generic R4-defer / THESIS-reframe clauses violated top-down 0-floor / no-carves authority per `docs/design-pure-bootstrap-zero.md` + `docs/r3-program-plan.md`; operator §4 ratification 2026-05-13 foreclosed all carve paths for the 4 scope items): every adversarial counterfactual cashed by a landed PR with on-main evidence. R4-defer / THESIS-reframe paths are **STRUCTURALLY FORECLOSED** for the 4 scope items (Gaps 1/2/3/9) per operator §4 IN-R3 ratification 2026-05-13 (see §4 + §6). The legacy alternative-disposition sections per gap below are preserved as **retraction citations** (audit-trail) documenting the foreclosed paths, NOT as available closure dispositions. **Closure NOT-target**: closing R3 with `closed_at` markers alone. The Director's procedural closure is necessary but not sufficient. The substantive closure requires the receipts named below. @@ -45,14 +45,14 @@ const EXPECTED_HAND_AUTHORED_TEST: &[&str] = &[]; ``` plus `cargo test --release sg0_census_test` passes with predicate = 0. -**Alternative disposition** (briansrls + codex BLOCKING PR #3013 2026-05-13 enforcement: **no Tier-2 escape language survives this section**): `docs/design-pure-bootstrap-zero.md` sets an absolute 0-floor (L41: *"Goal: zero hand-authored files in v3's source tree"*) with no internal carve-out mechanism. Any PB-0 R4-carve requires **TWO** explicit operator-authored amendments BEFORE the carve can count: +**Alternative disposition — FORECLOSED by operator §4 ratification 2026-05-13** (briansrls + codex BLOCKING PR #3013 2026-05-13 enforcement preserved as authority-chain framing — codex BLOCKING #11284 PR #3013 class enforcement adds operator-ratification foreclosure): operator §4 Item 1 ratified **IN-R3 (full 177-entry retirement)** 2026-05-13; R4-defer path NOT available. The dual-amendment authority chain below stands as **closure-rule discipline** (any future re-opening requires the dual amendment + explicit operator override of the §4 ratification at gunbc#828), NOT as a currently-available carve path: -1. **Override of `project_no_r4_carves_directive`** (operator 2026-05-08: *"we are NOT moving anything to R4 as of now"*) — naming the specific subset + structural-unblockable reason -2. **Amendment to `docs/design-pure-bootstrap-zero.md` authority text itself** — adding a per-subset deferral carrier with named reason + retirement plan to the design-doc-tier authority, not just to this plan doc +1. **Override of `project_no_r4_carves_directive`** (operator 2026-05-08: *"we are NOT moving anything to R4 as of now"*) — naming the specific subset + structural-unblockable reason. **AND superseded by operator §4 Item 1 IN-R3 ratification 2026-05-13** — both layers stand; the §4 ratification is the operative foreclosure. +2. **Amendment to `docs/design-pure-bootstrap-zero.md` authority text itself** — adding a per-subset deferral carrier with named reason + retirement plan to the design-doc-tier authority, not just to this plan doc. -Neither override alone is sufficient. The PB-0 design doc currently admits no escape hatch; absent the amendment, the 0-floor stands and no carve-counter exists in the authority chain. +Neither override alone is sufficient. The PB-0 design doc admits no escape hatch; absent the amendment, the 0-floor stands and no carve-counter exists in the authority chain. -**PM-recommended**: do NOT R4-defer this — it's the load-bearing thesis claim ("0 hand-Rust"). The standing directive + design-doc 0-floor both apply absent explicit dual amendment. +**Post-§4 read** (preserves PM-recommended history): the load-bearing thesis claim ("0 hand-Rust") is now operator-cashed. The IN-R3 ratification 2026-05-13 brings the design-doc 0-floor + the standing directive + the closure plan into single-authority alignment. --- @@ -86,7 +86,7 @@ cargo test --release -p v3-compiler --test l5_cross_target_consistency ``` plus §1.8 row #15 status flips DECLARED → PASSING with corpus enumeration cited. -**Alternative disposition**: if operator accepts Python/Go as R4-deferred (R3 = Rust-only + Shape-B SQL/Markdown/OpenAPI), record acceptance here + amend §3.1 to claim only Rust as R3-shipped Shape-A. This re-scopes the 3-target story. +**Alternative disposition — FORECLOSED by operator §4 ratification 2026-05-13** (codex BLOCKING #11284 PR #3013 enforcement: prior framing semantically weakened the §3.1 3-Shape-A target into Rust-only-narrow, violating the no-carves authority before operator-decision substrate cashed; retained here as audit-trail of the foreclosed path): operator §4 Item 2 ratified **IN-R3 (full 3-target Python+Go)** 2026-05-13; R4-defer / Rust-only-narrow paths NOT available. Any future re-opening of this disposition requires explicit operator override of the §4 ratification at gunbc#828. --- @@ -130,7 +130,7 @@ The closure-ledger row currently stale @ #1191-#1231 era; close also requires th **Dispatch staffing prereq** (NOT a close criterion; Director note msg_f0a54769 Note 2 enforcement; Director note msg_f0a54769 Note 3 sequencing enforcement): execution of the 5 sub-lane closures requires owner identification. R3 Evaluator Mgr lane disposition per §4 sub-item 5 ratification (operator decides; PM-recommends re-spawn as 4th lane). **Sequencing**: re-spawn (or fold / Director-direct per operator ratification) occurs AFTER operator §4 sub-item 5 confirmation, NOT before (don't author the Mgr until the operator-decision substrate cashes; `feedback_construction_over_ratchets` adjacent class). PM-recommendation Option A is on-record but execution waits on operator. -**Alternative disposition**: if operator accepts R1-horizon as R3-acceptable (compiler self-compiles but bit-identity only on R1-subset), record acceptance here + amend §4.2 promise text to scope-narrow the R3 claim. **R2-Evaluator-tier alternative**: if operator R4-carves the residual 5 sub-lanes per `project_no_r4_carves_directive` explicit override, record per-sub-lane R4-carve carrier with named structural-unblockable reason + retirement plan (substrate-shape symmetry with Gap 9 `DeferredCorrection` discipline). +**Alternative disposition — FORECLOSED by operator §4 ratification 2026-05-13** (codex BLOCKING #11284 PR #3013 class enforcement — same semantic-dilution pattern as Gap 2; retained as audit-trail of foreclosed path): operator §4 Item 3 ratified **IN-R3 (4-joint-precondition cascade)** 2026-05-13; R4-defer / R1-horizon-narrow paths NOT available. **R2-Evaluator-tier per-sub-lane R4-carve** also FORECLOSED — operator §4 Item 3 IN-R3 ratification cashes the joint precondition rule, including the 5 R2-Evaluator sub-lane closures (substrate-debt-shaped close criterion per Director note msg_f0a54769 Note 2). Any future re-opening requires explicit operator override of the §4 ratification at gunbc#828. --- @@ -339,7 +339,7 @@ plus #85 SuiteClaim wrapper consumer landed. **Authority for no-relaxation** (codex BLOCKING PR #3013 receipt): the prior "Pragmatic relaxation (≥X%)" framing dilutes an absolute THESIS commitment into a negotiable threshold without THESIS-text reconciliation. Per `project_no_r4_carves_directive` (2026-05-08), R4-carve framing is NOT freely available; within-R3 relaxation paths are structurally equivalent to R4-carves under the directive. The alternative-disposition path below (R4-scope reframe with operator-recorded acceptance) is the ONLY non-100% path, and it requires explicit operator override of the no-carves directive — not a within-R3 threshold negotiation. -**Alternative disposition**: if operator accepts that show-correct-code is THESIS-aspirational not R3-promised, record explicit not-R3-scoped here + amend interrogation doc §6 to reflect. **Note per standing directive**: this alternative requires operator override of `project_no_r4_carves_directive` since "THESIS-aspirational-not-R3-promised" is structurally an R4-carve. +**Alternative disposition — FORECLOSED by operator §4 ratification 2026-05-13** (codex BLOCKING #11284 PR #3013 class enforcement — same semantic-dilution pattern as Gap 2; retained as audit-trail of foreclosed path): operator §4 Item 4 ratified **IN-R3 at 100% absolute** 2026-05-13; THESIS-aspirational-not-R3-promised reframe NOT available. The carrier shape (sum-variant `Correction { LiveCorrection | DeferredCorrection }` with zero `DeferredCorrection` in test corpus per close criterion above) is the structural form the ratification cashes. Any future re-opening requires explicit operator override of the §4 ratification at gunbc#828. --- @@ -424,7 +424,20 @@ This caveat applies to the entire §3 — estimates above are PM-best-guess at d --- -## §4. Operator decision points (request for ratification) +## §4. Operator decision points — RATIFIED 2026-05-13 + +**Ratification outcomes** (operator briansrls direct PM dispatch 2026-05-13): +- **Items 1-4 (R3 scope decisions)**: ALL **IN-R3** confirmed. No R4-carves. + - Gap 1 (PB-0): IN-R3 — full 177-entry retirement + - Gap 2 (L5 cross-target): IN-R3 — full 3-target Python+Go + - Gap 3 (self-host R3-strong): IN-R3 — 4-joint-precondition cascade + - Gap 9 (show-correct-code): IN-R3 — 100% absolute (zero `DeferredCorrection` per sum-variant carrier) +- **Item 5 (subtree-shape decision)**: **(a) re-spawn R3 Evaluator Mgr as 4th R3 Mgr lane** ratified. Director (zesty-bear-812) executes per pre-authorization msg_d456b60d. +- **Phase A immediate dispatch**: authorized. + +The presentation framing below preserved as audit-trail of the operator-question that landed the ratification. + +--- **Standing directive context** (per `project_no_r4_carves_directive`, Brian 2026-05-08 verbatim: *"we are NOT moving anything to R4 as of now"*): R4-carve is **NOT freely available** as a default. The 4 scope decisions below default to **IN-R3** unless operator explicitly overrides the standing directive with a structural-unblockable-reason argument per-decision.