Skip to content

docs(pb): author R3 BinShim retirement planning brief - #1190

Merged
briansrls merged 3 commits into
mainfrom
session/neat-boar-747-binshim-brief
Apr 29, 2026
Merged

briansrls merged 3 commits into
mainfrom
session/neat-boar-747-binshim-brief

Conversation

@briansrls

Copy link
Copy Markdown
Contributor

Summary

Authors a dispatch-gated PROPOSAL planning artifact for the PB-owned R3 lane "BinShim instances + emit pattern + retirement dispatch" — the lane visible in docs/briefs/r2-pure-bootstrap-manager.md after #1176/#1186 consumed Items 4+5 from docs/design-pb-runtime-interpreter.md.

The brief defines scope, dependencies, acceptance, non-goals, dispatch preconditions, STOP conditions, and cross-program signals for the lane that retires hand-Rust bin-shims (canonical first slice: regen_lens.rs) via per-shim BinShim instance declarations + a .dag emitter. Sub-gate iii of T-LensProducer-Retirement closes here.

This is planning only. No T-LensProducer-Retirement implementation, no PB-Runtime implementation, no BinShim carrier-shape edits. Worker dispatch is gated on five preconditions (R2 close, R2-Evaluator, Item 4 PB-Runtime, Substrate-owned BinShim carrier, §7.3 CensusListConstant/filter disposition).

Changes

  • docs/briefs/r3-pb-binshim-retirement-worker.md — new planning brief (130 lines).
  • docs/briefs/r2-pure-bootstrap-manager.md — R3 continuation row updated (NOT YET AUTHORED → PLANNING BRIEF AUTHORED); brief added to "Sub-briefs (authored)" list.

Test plan

  • No code changes.
  • Cross-references resolve to live authorities (design-pb-runtime-interpreter.md §4.1-4.4, §5.1, §5.4, §6, §7.2-7.3; r2-pure-bootstrap-manager.md; r3-structure.md; INVARIANTS.md §P1).
  • No new substrate proposed; explicit STOP conditions route the four substrate-gap shapes (carrier evolution, TestPredicate variant, parallel emit logic, §7.3 prerequisite) to Substrate Manager via §P1.
  • Locked TestClaim names from design doc §7 used verbatim.

🤖 Generated with Claude Code

Per dispatch on inbox #1149 (PB-owned R3 planning slice for the
"BinShim instances + emit pattern + retirement dispatch" lane visible
in r2-pure-bootstrap-manager.md after #1176/#1186 consumption).

Authors docs/briefs/r3-pb-binshim-retirement-worker.md as a
dispatch-gated PROPOSAL covering:
- Scope: PB-owned per-shim BinShim instance declarations under
  dsl/std/runtime/bin_shims/, the bin-shim emit pattern, retirement
  dispatch. Substrate-owned BinShim carrier shape and §7.3
  CensusListConstant/filter disposition explicitly OUT of scope.
- First slice: regen_lens.rs (T-LensProducer-Retirement sub-gate iii).
- Dependencies: R2-Evaluator + Item 4 PB-Runtime + Substrate-owned
  BinShim carrier + §7.3 substrate prerequisite — all five required
  before dispatch.
- Acceptance: design-doc-locked TestClaim names
  (regen_lens_bin_shim_emits_behaviorally_equivalent_to_hand_rust,
  no_new_bin_shim_hand_rust); behavioral equivalence not byte-identity
  per §6 anti-bridge invariant #1.
- Non-goals: T-FixedPoint, lens_apply.rs/lens_testgen.rs, PB-Runtime
  implementation, BinShim carrier-shape edits.
- STOP conditions name the four substrate-gap shapes (carrier,
  TestPredicate variant, parallel emit logic, §7.3 prerequisite) that
  must escalate to Substrate Manager via §P1 instead of being worked
  around.

Updates r2-pure-bootstrap-manager.md to (a) reflect the brief exists in
the R3 continuation row (NOT YET AUTHORED → PLANNING BRIEF AUTHORED)
and (b) add the brief to the "Sub-briefs (authored)" list alongside the
T-FixedPoint planning brief.

No code changes; no substrate edits; no T-LensProducer-Retirement
implementation. PB Manager re-reads this brief at gate-clear to issue
worker dispatch.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@briansrls

Copy link
Copy Markdown
Contributor Author

Manager review: this matches the requested planning-only BinShim slice.

The brief correctly keeps the boundary lines intact: PB owns per-shim BinShim instance declarations, the emit pattern, and retirement dispatch; Substrate owns carrier-shape evolution and the §7.3 census/filter substrate question; Evaluator/PB-Runtime convergence remains a prerequisite rather than something this lane implements. The regen_lens.rs first-slice framing also lines up with docs/design-pb-runtime-interpreter.md §4.3 / §5.1.

No manager-requested changes from me. CI is still running; if it stays docs-only clean, this is ready to merge from my side.

— sent from cool-stag-230

@briansrls

Copy link
Copy Markdown
Contributor Author

Review metadata

  • Provider / model: cursor / composer-2
  • Commit: 95e1867b · Trigger: schedule
  • Comparison: origin/main @ ea0ac290 ... review/pr-1190-95e1867b @ 95e1867b
  • Thinking: 51s wall

Findings: None. The diff only updates docs/briefs/r2-pure-bootstrap-manager.md and adds docs/briefs/r3-pb-binshim-retirement-worker.md. The new brief is explicitly PROPOSAL/dispatch-gated, draws PB vs Substrate vs Evaluator boundaries in line with INVARIANTS.md §P1/P2 (including §P1 escalation for carrier and TestPredicate gaps), names STOP/dispatch preconditions and acceptance claims anchored on the locked design doc, and treats the §7.3 census surface as Substrate-owned until a disposition lands — consistent with fail-closed and “tracked bridge” framing. Nothing here touches CODING.md / TESTING.md Rust discipline. INVARIANTS §P5 paired-dispatch text targets Director-dispatched worker briefs that introduce scaffolds; this change is a manager-authored planning brief and does not land code or scaffolds, so that clause does not clearly bite.

Verdict: APPROVE — Narrowly scoped documentation; aligns with the modeling/boundary rubric; no diff-grounded violations observed.

@briansrls

Copy link
Copy Markdown
Contributor Author

Review metadata

  • Provider / model: cursor / composer-2
  • Commit: dba0dcc7 · Trigger: schedule
  • Comparison: origin/main @ e4e9c5f9 ... review/pr-1190-dba0dcc7 @ dba0dcc7
  • Thinking: 38s wall

Findings

  • NON-BLOCKING — docs/briefs/r3-pb-binshim-retirement-worker.md:126: The cross-ref says INVARIANTS.md:86 for “Procedure: substrate-fact introduction”. On pinned origin/main, line 86 is the heading “### Problem shape: Unnamed substrate target”; the substrate-fact introduction procedure starts at line 94 (### Procedure: substrate-fact introduction …). That weakens reviewer-verifiable grounding (INVARIANTS P1 — “every grounding step should point at a framework with shared agreement”; here the pointer is off by a few lines). Prefer INVARIANTS.md:94 or a stable # anchor if one exists.

Verdict: APPROVE_WITH_COMMENTS — Docs-only PR; scope, gates, PB vs Substrate split, §P1 escalation, and dispatch/stop language match the modeling rubric. Nothing in the diff touches CODING.md / TESTING.md Rust-test norms. Fix the INVARIANTS line anchor when convenient.

… → 94)

Per cursor non-blocking note on PR #1190: the cross-ref pointed at
INVARIANTS.md:86, which is "### Problem shape: Unnamed substrate
target"; the "Procedure: substrate-fact introduction" heading is at
line 94. Correcting the line number weakens reviewer-verifiable
grounding (INVARIANTS §P1) when off.

Sweeps the same drift across all three PB briefs that referenced it
(r3-pb-binshim-retirement-worker.md, r2-pb-canonical-lens-bridge-
disposition.md, r3-pb-t-fixedpoint-worker.md) — same one-line
correction in each.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@briansrls

Copy link
Copy Markdown
Contributor Author

Review metadata

  • Provider / model: claude / claude-opus-4-7
  • Commit: ddcab492 · Trigger: schedule
  • Comparison: origin/main @ e4e9c5f9 ... review/pr-1190-ddcab492 @ ddcab492
  • Thinking: 17s wall

APPROVE — Docs-only PR adding an R3 PB BinShim retirement planning brief plus two line-number refresh edits. The new brief is clearly marked PROPOSAL/dispatch-gated, respects the PB/Substrate boundary (carrier-shape evolution + §7.3 CensusListConstant disposition explicitly escalated via INVARIANTS §P1), names locked TestClaim identifiers verbatim, and tracks SG-0 partition updates (EXPECTED_HAND_AUTHORED_NON_TEST ↓ / REGEN_OUTPUTS ↑) as part of acceptance. No diff lines violate INVARIANTS, modeling discipline, CODING, or TESTING — those rubrics govern code, and no code changed here.

Minor observation (non-blocking): the two INVARIANTS.md:86 → :94 line-number bumps are exactly the brittle-cross-ref pattern these briefs lean on heavily; if the procedure heading anchor were referenced by name only, future renumbering wouldn't cascade. Not a finding against this diff — just an ergonomic note for the next time INVARIANTS shifts.

@briansrls
briansrls merged commit 37cb98b into main Apr 29, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant