From d066bde9ba54357acb8583fa60d29ee6cc78412e Mon Sep 17 00:00:00 2001 From: Brian Searls Date: Fri, 24 Apr 2026 22:46:42 -0400 Subject: [PATCH 1/2] docs(audit): drop drifted LOC count on bootstrap.rs row (codex finding on #769) Post-merge follow-up to #769. Codex auto-review spot-checked LOC figures and found bootstrap.rs cited as ~470 LOC; actual is 613 LOC (+30%). Per the audit doc's own discipline ("does not restate counts that will drift"), the fix is to drop the count rather than refresh it. Other verified LOCs (1110 / 311 / 398 / 39) remain since codex confirmed them at merge time. Co-Authored-By: Claude Opus 4.7 (1M context) --- docs/design-pure-bootstrap-zero-audit.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/design-pure-bootstrap-zero-audit.md b/docs/design-pure-bootstrap-zero-audit.md index 5fba81756da..ae23037bdda 100644 --- a/docs/design-pure-bootstrap-zero-audit.md +++ b/docs/design-pure-bootstrap-zero-audit.md @@ -98,7 +98,7 @@ the residual orchestration with a `bootstrap.dag`-driven trampoline. | File | Why currently hand-authored | Migration path | |---|---|---| -| `src/v3/compiler/src/bootstrap.rs` (~470 LOC) | Hand-Rust `Dag::new()` runs full compile pipeline on `include_str!`'d `.dag` source at every construction. Chicken-egg per design doc §"Bootstrap as data": `Dag::new()` needs the compiler pipeline. | PB-1 a-e migrates std/staged/specs/compiler authorities to generated constructors (already-scoped per [`pb-1-data-driven-bootstrap.md`](briefs/pb-1-data-driven-bootstrap.md), non-goals revised under 0-floor). PB-Bootstrap-Process then replaces residual orchestration with a `bootstrap.dag`-driven trampoline. | +| `src/v3/compiler/src/bootstrap.rs` | Hand-Rust `Dag::new()` runs full compile pipeline on `include_str!`'d `.dag` source at every construction. Chicken-egg per design doc §"Bootstrap as data": `Dag::new()` needs the compiler pipeline. | PB-1 a-e migrates std/staged/specs/compiler authorities to generated constructors (already-scoped per [`pb-1-data-driven-bootstrap.md`](briefs/pb-1-data-driven-bootstrap.md), non-goals revised under 0-floor). PB-Bootstrap-Process then replaces residual orchestration with a `bootstrap.dag`-driven trampoline. | | `src/v3/compiler/src/pipeline_authority.rs` | Reads `PipelineStageBinding` declarations from the bootstrapped Dag; Rust shim between bootstrap-data and pipeline execution. | Subsumed by `bootstrap.dag` workflow declaration: pipeline ordering reads structurally from the bootstrap data, not from a Rust accessor. | ### PB-4 / PB-5 / PB-6 — compiler pipeline in `.dag` (6 files) From 246fd0633e97b5be6da4eb98c0048b8b594fa462 Mon Sep 17 00:00:00 2001 From: Brian Searls Date: Fri, 24 Apr 2026 22:48:55 -0400 Subject: [PATCH 2/2] docs(audit): replace PB-* wildcards with proposed named lanes (codex BLOCKING on #769) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Second post-merge follow-up to #769, bundled into the same PR as the LOC-drift fix. Codex auto-review on c7c864d0 flagged five Tier1-Sweep rows using wildcard placeholders ("PB-* parse migration" / "PB-* tokenize migration") as scaffold-without-trigger (P5 Progress Is Dissolution / Scaffold Boundaries violation). Proposed concrete lane homes: - regen_parse.rs / regen_parse_tables.rs / regen_tokenize.rs → PB-1 (their backing parse/tokenize authorities are what PB-1 generated constructors replace). - regen_parse_emit.rs / regen_parse_tables_emit.rs → PB-Bootstrap-Process (emit-side of the regen cycle dissolves with bootstrap-as-data). Each row marked "(proposed — see Findings)" for cascade-review sign-off, parallel to the existing diagnostics.rs / pipeline_authority.rs findings. Brief lane taxonomy did not enumerate PB-Parse / PB-Tokenize as separate sub-lanes; if Director prefers those named explicitly, amendment lands in the cascade PR rather than the audit. Co-Authored-By: Claude Opus 4.7 (1M context) --- docs/design-pure-bootstrap-zero-audit.md | 25 +++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/docs/design-pure-bootstrap-zero-audit.md b/docs/design-pure-bootstrap-zero-audit.md index ae23037bdda..dc20caf0ff9 100644 --- a/docs/design-pure-bootstrap-zero-audit.md +++ b/docs/design-pure-bootstrap-zero-audit.md @@ -56,6 +56,21 @@ during cascade review. pipeline-ordering reader is the runtime-side consumer of the `bootstrap.dag` workflow declaration; it dissolves into the bootstrap- data substrate when PB-Bootstrap-Process lands. +- **Five regen-tool entries in PB-Tier1-Sweep** (`regen_parse.rs`, + `regen_parse_tables.rs`, `regen_tokenize.rs`, `regen_parse_emit.rs`, + `regen_parse_tables_emit.rs`). Brief lane taxonomy enumerates PB-1, + PB-4 (lower), PB-5 (infer), PB-6 (emit) but **not** PB-Parse / + PB-Tokenize as separate sub-lanes. Codex auto-review on c7c864d0 + flagged the original wildcard placeholders as scaffold-without- + trigger (P5 violation). **Proposed homes (subject to Director + sign-off):** the three `bin/regen_*` parse/tokenize binaries retire + under **PB-1** (their backing authorities — parse tables, tokenizer + output — are exactly what PB-1 generated constructors replace); the + two `regen_*_emit.rs` files retire under **PB-Bootstrap-Process** + (the emit-side of the regen cycle dissolves with bootstrap-as-data). + If Director prefers PB-Parse / PB-Tokenize as explicitly named + sub-lanes, the brief lane taxonomy needs an amendment in the + cascade PR rather than the audit. ## Lane-distribution summary @@ -151,17 +166,17 @@ migration design — each retires when its producer is generated. |---|---| | `src/v3/compiler/src/bin/regen_bootstrap.rs` | PB-Bootstrap-Process | | `src/v3/compiler/src/bin/regen_lens.rs` | PB-Runtime | -| `src/v3/compiler/src/bin/regen_parse.rs` | PB-* parse migration | -| `src/v3/compiler/src/bin/regen_parse_tables.rs` | PB-* parse migration | -| `src/v3/compiler/src/bin/regen_tokenize.rs` | PB-* tokenize migration | +| `src/v3/compiler/src/bin/regen_parse.rs` | PB-1 (regen tool for parse-authority subsumed by PB-1 generated constructors) *(proposed — see Findings)* | +| `src/v3/compiler/src/bin/regen_parse_tables.rs` | PB-1 (parse-table authority subsumed by PB-1) *(proposed — see Findings)* | +| `src/v3/compiler/src/bin/regen_tokenize.rs` | PB-1 (tokenize-authority subsumed by PB-1 generated constructors) *(proposed — see Findings)* | | `src/v3/compiler/src/bin/regen_v3.rs` | PB-Bootstrap-Process | | `src/v3/compiler/src/bin/self_host_fixed_point.rs` | PB-Bootstrap-Process (DB-8 gate harness) | | `src/v3/compiler/src/dag/builder.rs` | PB-Substrate (builder API regenerates with substrate types) | | `src/v3/compiler/src/dimension.rs` | PB-Substrate / std modeling | | `src/v3/compiler/src/lens_unused_parameters.rs` | Lens generalization (PB-Runtime adjacent) | | `src/v3/compiler/src/regen_bootstrap_emit.rs` | PB-Bootstrap-Process | -| `src/v3/compiler/src/regen_parse_emit.rs` | PB-* parse migration | -| `src/v3/compiler/src/regen_parse_tables_emit.rs` | PB-* parse migration | +| `src/v3/compiler/src/regen_parse_emit.rs` | PB-Bootstrap-Process (emit-side of regen cycle dissolves with bootstrap-as-data) *(proposed — see Findings)* | +| `src/v3/compiler/src/regen_parse_tables_emit.rs` | PB-Bootstrap-Process (same shape as `regen_parse_emit.rs`) *(proposed — see Findings)* | | `src/v3/compiler/src/tokenize_char_class.rs` | R1 T-Sub `sub_charclass_in_std_unicode`. Retirement closes Class 5 Gap 3 → unblocks R2 T-Substrate 4th sub-lane (Director-coordinated per brief Hand-off points). | ## Manager note: first prototyped lane pick