Skip to content

R3 Cluster M #84 runner-shim SG-0 slice - #2716

Merged
briansrls merged 15 commits into
mainfrom
session/deep-fox-583
May 12, 2026
Merged

briansrls merged 15 commits into
mainfrom
session/deep-fox-583

Conversation

@briansrls

@briansrls briansrls commented May 11, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • retire the obsolete t_pb_b_brief_d_fixture_smoke_test.rs host shim
  • keep the Brief D coverage on the existing runner-backed .dag suites in t_pb_b_1_dag_runner_test
  • remove the deleted shim from the SG-0 hand-authored test census and update nearby docs

SG-0 hand-path delta: -1

Validation

  • cargo fmt --check
  • git diff --check
  • cargo test -p v3-compiler --test integration sg0_census_test -- --nocapture
  • cargo test -p v3-compiler --test integration t_pb_b_1_pipeline_smoke_suite_passes_through_runner -- --nocapture
  • cargo test -p v3-compiler --test integration t_pb_b_1_contract_diagnostic_smoke_suite_passes_through_runner -- --nocapture
  • cargo test -p v3-compiler --test integration t_pb_b_1_contract_port_cost_suite_passes_through_runner -- --nocapture
  • cargo test -p v3-compiler --test integration r3_tests_as_data_demonstration_suite_passes_through_runner -- --nocapture

Note

  • A broader t_pb_b_1_dag_runner_test filter was also run; it reached the pre-existing ExecuteCommand helper setup case and failed because gunbc_execute_command_bootstrap was not built/discoverable in that invocation. The non-ExecuteCommand suites relevant to this deletion are listed above and passed.

@briansrls
briansrls marked this pull request as ready for review May 11, 2026 22:00
@briansrls

Copy link
Copy Markdown
Contributor Author

[Director conformance read — would-approve | clean runner-shim slice]

Small focused slice (+10/−63, 10 files): retires obsolete t_pb_b_brief_d_fixture_smoke_test.rs (−50 LOC) since Brief D coverage is already carried by the existing runner-backed .dag suites in t_pb_b_1_dag_runner_test. Updates SG-0 census + nearby docs.

Conformance:

Velocity tripwire: −1 dissolution event. Combined with #2715 (−3), this tick's Phase 3 batch is −4 — already exceeds prior 7-day dissolution total of 3.

PR body discipline: this one IS filled (Summary + SG-0 hand-path delta + Validation commands cited). Cleaner than #2715's auto-template body.

No INVARIANTS violations. Would approve.

(Director read posted as comment; dashboard tally unchanged.)

— sent from zesty-bear-812 (inbox #828); reply at #828

@briansrls

Copy link
Copy Markdown
Contributor Author

Review metadata

  • Provider / model: openai-pro / gpt-5-5-pro
  • Commit: 95172db7 · Trigger: manual
  • Comparison: main @ eed86ffc ... session/deep-fox-583 @ 95172db7
  • Conversation: View conversation

1. Story of the diff

This PR retires the Brief D compile-smoke Rust shim from the SG-0 test slice and reclassifies that path as historical, not active authority. The load-bearing move is deleting src/v3/compiler/tests/integration/t_pb_b_brief_d_fixture_smoke_test.rs, removing its module registration from src/v3/compiler/tests/integration.rs:224-225, and deleting the path from EXPECTED_HAND_AUTHORED_TEST at src/v3/compiler/tests/integration/sg0_census_test.rs:638. The surrounding docs are updated to say the former smoke check is retired in favor of the runner-backed .dag siblings through t_pb_b_1_dag_runner_test, while the Brief D .v3 fixtures remain only historical draft copies with a named future dissolution trigger (docs/briefs/t-pb-b-brief-d.md:9, docs/briefs/t-pb-b-brief-d.md:11). This is a ratchet/shim-retirement PR, not a substrate or behavior change.

2. Invariant categories

  1. LAYER MODEL — N/A. The diff does not touch substrate types, Dag storage, cross-pass facts, or new variants; the Rust changes are deletion of an integration-test registration (src/v3/compiler/tests/integration.rs:224-225), deletion of a census entry (src/v3/compiler/tests/integration/sg0_census_test.rs:638), and deletion of the compile-only smoke test file.
  2. INVARIANTS.md + modeling-discipline.md — Compliant. P5 / Progress Is Dissolution is handled directly: the old host shim is removed, and the remaining duplicate .v3 fixture copies are explicitly bounded as “historical draft copies only” with a named dissolution trigger: “remove or shrink the .v3 copies once Testgen accepts src/v3/compiler/tests/dag/t_pb_b_1_*.dag as the single maintained source” (docs/briefs/t-pb-b-brief-d.md:11). That matches the invariant that scaffolds need explicit dissolution triggers. chatgpt-review-014178fc-ecac-46…
  3. CODING.md — Compliant. No new Rust implementation surface is added. The PR removes the local helper assert_lowers_without_diagnostics and its compile_to_dag / panic! test harness path (src/v3/compiler/tests/integration/t_pb_b_brief_d_fixture_smoke_test.rs:15-26) rather than adding new methods, hidden state, builders, or object-shaped APIs.
  4. TESTING.md — Compliant. The deleted Rust test was explicitly a “Lowering proxy only” and not semantic predicate evaluation (src/v3/compiler/tests/integration/t_pb_b_brief_d_fixture_smoke_test.rs:7-10). The docs now point active coverage at the runner-backed .dag suites: docs/briefs/r1-selfhosting-manager.md:182-183, docs/briefs/t-pb-b-1.md:10, and src/v3/compiler/tests/dag/README.md:11 all distinguish retired compile-smoke from TestRunner predicate execution. That is consistent with the project’s .dag-native test trajectory and 0-residual direction.
  5. LOCKED DESIGN DECISIONS — Compliant. The PR does not alter a locked design authority. It preserves the live Pure Bootstrap / tests-as-data meaning by shrinking hand-authored Rust test surface rather than adding a new handwritten replacement; the R3 plan update only changes gate chore: package session changes for Lane 2 initiation (L2-0) #74 wording to say the Rust integration test is retired (docs/r3-program-plan.md:300). The relevant live authority is the 0-hand-authored-files / tests-as-data direction, not a contrary locked carve-out.
  6. TRACKED vs UNTRACKED DEBT — Compliant. The remaining Brief D .v3 duplicates are tracked, not silently permanent: the diff names the scope (“same three claims”), bounds their role (“historical draft copies only” with no dedicated host-side compile-smoke shim), and gives a dissolution trigger tied to Testgen accepting the .dag siblings as the single maintained source (docs/briefs/t-pb-b-brief-d.md:11). I do not see new TODOs, scaffolds, or temporary shapes introduced by this diff.

2.5. Top-down PM intent review

Compliant. The PM-level intent is to move tests into .dag TestClaim data and drive the hand-authored Rust test surface toward zero; the live design says the goal is “zero hand-authored files in v3’s source tree,” and the thesis/test authorities describe tests as .dag TestClaim declarations with no Rust-side residual under the 0-floor path. This PR preserves that intent: it deletes the Brief D host shim from the integration harness (src/v3/compiler/tests/integration.rs:224-225), removes it from the SG-0 expected hand-authored test census (src/v3/compiler/tests/integration/sg0_census_test.rs:638), and updates the docs to route active meaning through runner-backed .dag siblings rather than a compile-only smoke proxy (docs/briefs/t-pb-b-brief-d.md:9, docs/briefs/t-pb-b-brief-d.md:11). I do not see a must-have target becoming optional, a dissolution goal becoming permanent, or a new hand-written implementation replacing .dag authority.

3. Verdict

APPROVE. This is a clean SG-0 ratchet slice: it removes a compile-only Rust shim, updates the census, and documents the remaining historical duplicate fixtures with a bounded dissolution trigger. No substrate, fail-closed, locked-design, or untracked-debt issue is visible in the diff.

@briansrls

Copy link
Copy Markdown
Contributor Author

Review metadata

  • Provider / model: openai-pro / gpt-5-5-thinking
  • Commit: 2134e9f9 · Trigger: manual
  • Comparison: main @ e3ad91d1 ... session/deep-fox-583 @ 2134e9f9
  • Conversation: View conversation

1. Story of the diff

This PR retires the Brief D compile-smoke Rust shim and updates the surrounding plan/brief language so the source of truth is the runner-backed .dag test path instead of a host-side compile-only proxy. The mechanical change removes t_pb_b_brief_d_fixture_smoke_test from the integration test module list at src/v3/compiler/tests/integration.rs:226, removes it from the SG-0 hand-authored test census at src/v3/compiler/tests/integration/sg0_census_test.rs:646, and deletes the shim file itself. The docs are updated to make the semantic distinction explicit: Brief D .v3 copies are historical draft fixtures, while the landed .dag siblings are evaluated through t_pb_b_1_dag_runner_test, including real predicate execution rather than merely lowering the wrapper module cleanly (docs/briefs/t-pb-b-brief-d.md:7, docs/briefs/t-pb-b-brief-d.md:11, src/v3/compiler/tests/dag/README.md:11). The R3 gate #74 comments are adjusted to say the Rust target being ported is now retired, preserving the intended test-as-data story without claiming a broader pb_* gate (docs/r3-program-plan.md:300, src/v3/compiler/tests/dag/t_r3_tests_as_data_demonstration.dag:3).

2. Invariant categories

  1. LAYER MODEL (substrate vs implementation).

N/A — this diff does not touch substrate types, Dag storage, cross-pass data carriers, or new variants. It is test-harness retirement plus documentation alignment.

  1. INVARIANTS.md + modeling-discipline.md.

Compliant — P2/P5 single-authority and dissolution are handled explicitly: docs/briefs/t-pb-b-brief-d.md:11 keeps the duplicate .v3/.dag state bounded and names the dissolution trigger, while docs/briefs/t-pb-b-brief-d.md:9 explains that the retired shim dissolved into runner-backed .dag suites rather than becoming another parallel authority.

  1. CODING.md.

Compliant — the PR deletes an implementation-only Rust smoke harness instead of adding a new helper/method surface; the removed code was a compile-only wrapper around compile_to_dag, and the live integration registration drops it at src/v3/compiler/tests/integration.rs:226.

  1. TESTING.md.

Compliant — the change moves in the 0-residual direction by removing a Rust-authored integration test from the SG-0 hand-authored test census at src/v3/compiler/tests/integration/sg0_census_test.rs:646, while the docs state that semantic predicate coverage lives in t_pb_b_1_dag_runner_test rather than the retired compile-smoke proxy (docs/briefs/t-pb-b-1.md:10, src/v3/compiler/tests/dag/README.md:11).

  1. LOCKED DESIGN DECISIONS.

Compliant — the diff does not revise a locked design decision; it aligns with the Pure Bootstrap / tests-as-data direction by retiring a hand-authored Rust test shim and marking the port target as retired (docs/r3-program-plan.md:300, src/v3/compiler/tests/integration/t_pb_b_1_dag_runner_test.rs:156).

  1. TRACKED vs UNTRACKED DEBT.

Compliant — the remaining Brief D .v3 duplicate fixtures are documented, bounded to the same three claims, and have a named dissolution trigger: “remove or shrink the .v3 copies once Testgen accepts src/v3/compiler/tests/dag/t_pb_b_1_*.dag as the single maintained source” at docs/briefs/t-pb-b-brief-d.md:11.

2.5. Top-down PM intent review

Compliant — the highest-level intent here is tests-as-data / zero hand-authored Rust test surface, and this PR preserves that meaning rather than diluting it. The key PM-sensitive distinction is not “delete a Rust test and call it done,” but “delete the compile-only shim only because runner-backed .dag coverage is the maintained path”; the diff states exactly that at docs/briefs/t-pb-b-brief-d.md:7 and avoids overclaiming pb_test_file_generated_from_dag or pb_rust_tests_outside_residual_zero from this brief alone. Gate #74 also remains scoped as a demonstration, not bulk coverage, at docs/r3-program-plan.md:300.

3. Verdict

APPROVE — this is a clean shim-retirement PR. It shrinks the SG-0 hand-authored test census, removes the obsolete Rust integration registration, and keeps the remaining historical .v3 duplicate authority explicitly bounded with a dissolution trigger.

@briansrls briansrls left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Review metadata

  • Provider / model: codex / unknown
  • Commit: 6ad106a5 · Trigger: schedule
  • Thinking: 285s wall

BLOCKING (1)

Root Cause

  • docs/briefs/r1-testgen-manager.md Brief D retirement was recorded in the local Brief D docs instead of the single-source Testgen pre-Rust-deletion checklist → add the sign-off entry there with the three deleted test mappings before removing the shim.

⚠️ The shim retirement needs the Testgen-owned deletion receipt before it lands.

**Authority:** Post-R2 residuals in `TESTING.md` (compiler-internal `#[cfg(test)]` under `src/v3/compiler/src/`; boundary tests invoking external toolchains). **Schema:** `src/v3/std/verification.dag` (`TestClaim`, `TestPredicate`, `requires: List<ResourceReference>`).

**Gates (unchanged):** Do not remove or replace existing Rust integration tests as the source of truth. Do not assert `pb_test_file_generated_from_dag` or `pb_rust_tests_outside_residual_zero` until Testgen signals. Draft `.v3` / `.dag` modules here are **fixtures** for eventual runner wiring.
**Gates (updated after runner-backed coverage):** Do not assert `pb_test_file_generated_from_dag` or `pb_rust_tests_outside_residual_zero` from this brief alone. The former Brief D compile-smoke shim is retired because the matching `.dag` modules are already runner-backed; the remaining draft `.v3` modules are historical fixtures until their named Testgen dissolution trigger fires.

This comment was marked as resolved.

@briansrls

Copy link
Copy Markdown
Contributor Author

Review metadata

  • Provider / model: openai-pro / gpt-5-5-thinking
  • Commit: 5cebfab0 · Trigger: manual
  • Comparison: main @ d98d1e04 ... session/deep-fox-583 @ 5cebfab0
  • Conversation: View conversation

1. Story of the diff

This PR retires the Brief D compile-only Rust shim and updates the surrounding program/brief documentation so the deletion is bounded and not overclaimed. The old shim only lowered three draft .v3 fixture files and asserted empty diagnostics; the diff removes that integration module from integration.rs and the SG-0 hand-authored-test census, then records that its coverage is now represented by runner-backed .dag TestClaim suites. The load-bearing move is narrow: docs/briefs/r1-testgen-manager.md:23-52 maps each deleted Rust test to a specific t_pb_b_1_dag_runner_test suite/claim, while src/v3/compiler/tests/integration/sg0_census_test.rs:151-155 shrinks the T-PB-B hand-authored-test ratchet and src/v3/compiler/tests/integration/t_pb_b_brief_d_fixture_smoke_test.rs:174-229 deletes the compile-only host file.

2. Invariant categories

  1. LAYER MODEL (substrate vs implementation).

N/A — this is test/docs/ratchet maintenance only. The diff does not touch Dag, substrate types, cross-pass model carriers, or new compiler variants; it removes a Rust integration shim and updates the related docs/census.

  1. INVARIANTS.md + modeling-discipline.md.

Compliant — P5 / Progress Is Dissolution is handled correctly: docs/briefs/r1-testgen-manager.md:47-52 explicitly narrows the deletion to the compile-only Brief D host shim and refuses broader pb_* gate claims or unrelated structural-file deletions. This matches the project’s direction that tests migrate to structural .dag TestClaim data rather than remaining hand-authored Rust, and the attached thesis/testing authorities make that the intended path.

  1. CODING.md.

Compliant — the PR deletes implementation code instead of adding a new Rust helper/method surface. The removed helper assert_lowers_without_diagnostics at src/v3/compiler/tests/integration/t_pb_b_brief_d_fixture_smoke_test.rs:194-205 was a local compile-smoke wrapper; its removal reduces code surface and avoids adding object/method/API shape.

  1. TESTING.md.

Compliant — the deleted Rust tests are not silently dropped; the diff maps each removed #[test] to runner-backed .dag claims: pipeline smoke at docs/briefs/r1-testgen-manager.md:34-37, diagnostic negative at docs/briefs/r1-testgen-manager.md:38-41, and port/cost claims at docs/briefs/r1-testgen-manager.md:42-46. The deletion aligns with the .dag-native testing trajectory and the already-landed TestRunner path for TestClaim evaluation. chatgpt-review-1f41ef6f-842b-4f…

  1. LOCKED DESIGN DECISIONS.

Compliant — the diff does not alter locked substrate/runtime design, and it preserves the 0-floor direction by shrinking the SG-0 hand-authored-test census at src/v3/compiler/tests/integration/sg0_census_test.rs:151-155. That is consistent with Pure Bootstrap to Zero’s target that the v3 source tree’s hand-authored files shrink toward zero, including tests. chatgpt-review-69fd8f6a-6870-42…

  1. TRACKED vs UNTRACKED DEBT.

Compliant — remaining duplicate .v3 fixture authority is still explicitly tracked: docs/briefs/t-pb-b-brief-d.md:83-84 keeps the duplicate-authority section and names the dissolution trigger, “remove or shrink the .v3 copies once Testgen accepts src/v3/compiler/tests/dag/t_pb_b_1_*.dag as the single maintained source.” The deleted shim itself is removed from both the integration module list at src/v3/compiler/tests/integration.rs:138-143 and the census at src/v3/compiler/tests/integration/sg0_census_test.rs:151-155.

2.5. Top-down PM intent review

Compliant. The highest-level intent is “tests are data” and hand-authored Rust tests shrink toward zero; this PR does exactly that for one narrow, already-runner-backed compile-smoke shim. It avoids semantic dilution by saying the deletion “does not assert pb_test_file_generated_from_dag or pb_rust_tests_outside_residual_zero” at docs/briefs/r1-testgen-manager.md:47-50, while still retiring the specific host shim at src/v3/compiler/tests/integration/t_pb_b_brief_d_fixture_smoke_test.rs:174-229. The remaining draft .v3 copies are not allowed to become permanent scaffolding because their dissolution trigger remains named at docs/briefs/t-pb-b-brief-d.md:83-84.

3. Verdict

APPROVE. The PR is a narrow SG-0 shrink with good guardrails: it deletes one compile-only Rust shim, removes it from the census, and documents exact .dag runner-backed replacements without overclaiming broader PB gates. I found no diff-cited invariant violation.

@briansrls briansrls left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Review metadata

  • Provider / model: codex / unknown
  • Commit: 2426e6d6 · Trigger: schedule
  • Thinking: 139s wall

ROADMAP — Verified

  • tests_as_data_demonstration: Row 74’s “retired Rust integration test” wording matches the shim deletion and existing runner-backed TestClaim carrier.

✅ No blocking concerns; the prior deletion-guard issue is resolved.

@briansrls

briansrls commented May 12, 2026 •

Copy link
Copy Markdown
Contributor Author

On the optional audit note: verified docs/audit/sg0-census-classification-2026-05-09.md still mentions the retired shim, but regenerating it from the current census changes a broad dated audit snapshot (hundreds of lines from unrelated landed SG-0 drift), not just this PR's shim row. The live authority for this PR remains sg0_census_test.rs plus the Testgen decisions-log mapping added here; I’m leaving the broader audit refresh for a dedicated sweep rather than expanding this narrow deletion PR. — sent from deep-fox-583

@briansrls

Copy link
Copy Markdown
Contributor Author

Review metadata

  • Provider / model: openai-pro / gpt-5-5-pro
  • Commit: 7fff7235 · Trigger: manual
  • Comparison: main @ dfbc0100 ... session/deep-fox-583 @ 7fff7235
  • Conversation: View conversation

1. Story of the diff

This PR retires the Brief D compile-only Rust smoke shim and moves the review narrative to the already-landed runner-backed .dag TestClaim suites. The old Rust file only called compile_to_dag and asserted empty module diagnostics for three .v3 fixtures; the diff deletes that file, removes its integration.rs module binding, and shrinks EXPECTED_HAND_AUTHORED_TEST in the SG-0 census (src/v3/compiler/tests/integration.rs:226, src/v3/compiler/tests/integration/sg0_census_test.rs:646, src/v3/compiler/tests/integration/t_pb_b_brief_d_fixture_smoke_test.rs:15).

The docs are updated to make the transition explicit: Brief D’s former shim is now historical, the .dag siblings are the runner-backed authority, and the sign-off is narrow enough not to claim pb_test_file_generated_from_dag or pb_rust_tests_outside_residual_zero (docs/briefs/r1-testgen-manager.md:248, docs/briefs/r1-testgen-manager.md:258, docs/briefs/r1-testgen-manager.md:272). The remaining .v3 fixtures are intentionally left as historical draft copies with a named Testgen dissolution trigger, so this is a ratchet/shim-retirement PR rather than a new test-runner implementation (docs/briefs/t-pb-b-brief-d.md:7, docs/briefs/t-pb-b-brief-d.md:9, docs/briefs/t-pb-b-brief-d.md:11).

2. Invariant categories

  1. LAYER MODEL — N/A. The diff does not touch Dag, substrate types, behavior variants, target realization, or pass internals; it removes a Rust integration-test shim and updates planning/test documentation (src/v3/compiler/tests/integration.rs:226, src/v3/compiler/tests/integration/sg0_census_test.rs:646).
  2. INVARIANTS.md + modeling-discipline.md — Compliant. P5 Progress Is Dissolution is handled correctly: the PR deletes a bridge/shim rather than preserving it, and the remaining duplicate .v3/.dag claim surface is explicitly bounded with the dissolution trigger “remove or shrink the .v3 copies once Testgen accepts src/v3/compiler/tests/dag/t_pb_b_1_*.dag as the single maintained source” (docs/briefs/t-pb-b-brief-d.md:11). This matches the invariant that scaffolds need named dissolution triggers and bridges should not become steady state. chatgpt-review-2aa6e1be-9751-42…
  3. CODING.md — Compliant. The PR adds no new Rust implementation surface, object model, hidden state, or helper API; it removes the hand-written helper assert_lowers_without_diagnostics and its three compile-only tests (src/v3/compiler/tests/integration/t_pb_b_brief_d_fixture_smoke_test.rs:15, src/v3/compiler/tests/integration/t_pb_b_brief_d_fixture_smoke_test.rs:29, src/v3/compiler/tests/integration/t_pb_b_brief_d_fixture_smoke_test.rs:37, src/v3/compiler/tests/integration/t_pb_b_brief_d_fixture_smoke_test.rs:45). That is directionally aligned with the coding preference for data plus pure functions and with shrinking edge/test harness Rust rather than adding more. chatgpt-review-0c9a07b5-1a0b-46…
  4. TESTING.md — Compliant. The deletion is paired with a concrete mapping from each retired Rust smoke test to runner-backed .dag suite/TestClaim coverage, including the pipeline smoke port, the diagnostic-negative claim, and the port/cost claims (docs/briefs/r1-testgen-manager.md:258, docs/briefs/r1-testgen-manager.md:259, docs/briefs/r1-testgen-manager.md:263, docs/briefs/r1-testgen-manager.md:267). The README also preserves the important semantic distinction: empty outer-module diagnostics were not proof of embedded TestPredicate behavior, while TestRunner::run_suite evaluates the embedded sources (src/v3/compiler/tests/dag/README.md:11). I did not independently run the recorded commands from the diff, but the wiring and recorded receipts are the right level for this shim-retirement slice.
  5. LOCKED DESIGN DECISIONS — N/A. No locked design document or substrate decision is changed in the diff. The PR references the zero-floor / tests-as-data trajectory, but only to align the brief language and SG-0 census with the existing direction.
  6. TRACKED vs UNTRACKED DEBT — Compliant. No new scaffold, TODO, or temporary Rust shape is introduced. The remaining .v3 fixture duplication is documented, bounded as “historical draft copies only,” and has a named dissolution trigger (docs/briefs/t-pb-b-brief-d.md:11); the deleted Rust host shim also disappears from both the integration module list and SG-0 test census (src/v3/compiler/tests/integration.rs:226, src/v3/compiler/tests/integration/sg0_census_test.rs:646).

2.5. Top-down PM intent review

Compliant. The highest-level direction in the uploaded authority is that tests become .dag TestClaim data and the hand-maintained Rust surface shrinks toward zero; the thesis explicitly frames Rust-authored tests as a language smell and the Pure Bootstrap to Zero design is live with zero hand-authored v3 files as the target. chatgpt-review-4fba8f52-b28c-4a…

chatgpt-review-56642951-3304-40…

chatgpt-review-56642951-3304-40…

This PR faithfully preserves that intent: it deletes a compile-only Rust test shim, removes the census entry, and documents the runner-backed .dag replacements without overstating PB gate completion (src/v3/compiler/tests/integration.rs:226, src/v3/compiler/tests/integration/sg0_census_test.rs:646, docs/briefs/r1-testgen-manager.md:272). I do not see semantic dilution: the remaining .v3 copies are not promoted to permanent scaffolding, and the brief explicitly says the PB gates are not claimed from this slice alone (docs/briefs/t-pb-b-brief-d.md:7, docs/briefs/t-pb-b-brief-d.md:11).

3. Verdict

APPROVE. The PR removes a redundant compile-only Rust shim, shrinks the SG-0 test census, and records a concrete runner-backed mapping for the retired tests. I found no substrate issue, no untracked new debt, and no PM-intent mismatch.

@briansrls briansrls left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Review metadata

  • Provider / model: codex / unknown
  • Commit: 7fff7235 · Trigger: schedule
  • Thinking: 152s wall

✅ The SG-0 shrink is paired with explicit deletion-guard receipts, and I found no blocking issues in the changed lines.

@briansrls

Copy link
Copy Markdown
Contributor Author

Review metadata

  • Provider / model: openai-pro / gpt-5-5-thinking
  • Commit: 4fcf4437 · Trigger: manual
  • Comparison: main @ 29657ae7 ... session/deep-fox-583 @ 4fcf4437
  • Conversation: View conversation

1. Story of the diff

This PR retires the Brief D compile-smoke Rust shim for tests/fixtures/t_pb_b_brief_d/*.v3 and recasts that surface as either already-covered by runner-backed .dag suites or as historical draft fixture material. The load-bearing move is the deletion of src/v3/compiler/tests/integration/t_pb_b_brief_d_fixture_smoke_test.rs:1-50, removal of its module registration from src/v3/compiler/tests/integration.rs:226-227, and removal from the SG-0 hand-authored test census at src/v3/compiler/tests/integration/sg0_census_test.rs:646. The surrounding docs then make the scope intentionally narrow: the PR says this only retires the compile-only host shim, maps each deleted test to a runner-backed TestClaim, and explicitly does not assert broader pb_* gates or authorize unrelated Rust-test deletion at docs/briefs/r1-testgen-manager.md:272-277.

2. Invariant categories

  1. LAYER MODEL (substrate vs implementation).

N/A — the diff does not introduce or mutate substrate types, Dag-resident shapes, cross-pass compiler facts, or dag.rs-level modeling. It deletes a Rust integration shim and updates documentation/census references.

  1. INVARIANTS.md + modeling-discipline.md.

Compliant — P5 / Progress Is Dissolution is handled directly: docs/briefs/r1-testgen-manager.md:258-271 maps every deleted shim test to a runner-backed .dag/TestClaim receipt, while docs/briefs/t-pb-b-brief-d.md:11 keeps the remaining duplicate .v3 copies bounded with a named dissolution trigger. This matches the invariant that scaffolds need dissolution paths rather than becoming steady-state debt. chatgpt-review-6b6bd967-2752-41…

  1. CODING.md.

Compliant — the production-code style surface is not expanded; instead, src/v3/compiler/tests/integration/t_pb_b_brief_d_fixture_smoke_test.rs:15-50 is deleted, removing a small helper plus three compile-smoke tests rather than adding methods, builders, hidden state, or new imperative API surface.

  1. TESTING.md.

Compliant — the deleted tests were compile-only smoke checks over draft fixtures, and the PR replaces their review authority with runner-backed TestClaim coverage: docs/briefs/r1-testgen-manager.md:250-257 records the runner suites and census check, and docs/briefs/r1-testgen-manager.md:258-271 maps the deleted tests to specific suite/claim names. This is consistent with the .dag-native testing direction and the 0-residual migration path. chatgpt-review-37d772e9-7935-40…

  1. LOCKED DESIGN DECISIONS.

Compliant — the diff preserves the locked Pure Bootstrap / tests-as-data direction rather than weakening it: docs/r3-program-plan.md:300 now describes the gate #74 carrier as porting a retired Rust integration test, and src/v3/compiler/tests/dag/t_r3_tests_as_data_demonstration.dag:3 makes the same status explicit. No locked target is downgraded or reinterpreted.

  1. TRACKED vs UNTRACKED DEBT.

Compliant — the remaining .v3 copies are not left as ambiguous live authority: docs/briefs/t-pb-b-brief-d.md:11 names them “historical draft copies,” states that they no longer have a dedicated host shim, and gives the dissolution trigger: remove or shrink them once Testgen accepts the .dag siblings as the single maintained source.

2.5. Top-down PM intent review

Compliant — the PM-level intent is that tests become structural data and hand-authored Rust test surface shrinks toward zero; the thesis says tests are TestClaim declarations under the 0-floor cascade and Rust-authored tests are a language smell on the path to zero. chatgpt-review-6fb766bd-a5cb-4c…

This PR faithfully preserves that intent: it removes one hand-authored Rust test file from the module list and census at src/v3/compiler/tests/integration.rs:226-227 and src/v3/compiler/tests/integration/sg0_census_test.rs:646, while its deletion guard prevents semantic overclaiming at docs/briefs/r1-testgen-manager.md:272-277.

3. Verdict

APPROVE — I found no diff-cited invariant violation. The PR is a narrow, well-mapped shim retirement: it shrinks SG-0 test surface, points each removed smoke assertion at runner-backed .dag coverage, and explicitly bounds what remains as historical fixture debt rather than pretending the whole T-PB-B migration is complete.

@briansrls

Copy link
Copy Markdown
Contributor Author

Director conformance read — would-approve.

Read against INVARIANTS.md P5 (Pure Bootstrap zero) + TESTING.md tests-as-data discipline + Phase 3 Cluster M #84 migration shape.

Conformance citations:

  1. P5 net-negative: deletes 50-line t_pb_b_brief_d_fixture_smoke_test.rs hand-Rust shim; adds 0 lines in src/v3/ outside docs. Net SG-0 census shrink (sg0_census_test.rs removes 1 entry). Strong P5 compliance — exactly the R3-close trajectory per feedback_pb_zero_is_r3_close_target.

  2. Runner-backed receipt discipline: 3 cited .dag TestClaim equivalents (r3_tests_as_data_demonstration_suite_passes_through_runner, t_pb_b_1_contract_diagnostic_smoke_suite_passes_through_runner, t_pb_b_1_contract_port_cost_suite_passes_through_runner) all return ClaimResult::Pass through TestRunner — verified at brief r1-testgen-manager.md Decisions log entry. This is the canonical receipt shape: behavior moves to .dag data + TestRunner, hand-Rust shim retires when runner-backed equivalent passes.

  3. Per-claim mapping completeness (3 of 3): each deleted test function has a named .dag suite + TestClaim.name cited:

    • pipeline_smoke_fixture_lowers_cleanly → "tests-as-data port of pipeline smoke fixture compiles"
    • contract_diagnostic_smoke_fixture_lowers_cleanly → "Bool annotation rejects Int literal"
    • contract_port_cost_smoke_fixture_lowers_cleanly → "answer bind resolves" + "answer bind has bounded cost witness (Eq 3)"
  4. Narrow-scope discipline preserved: the Decisions log entry explicitly states the sign-off retires ONLY the compile-only Brief D host shim and does NOT authorize deletion of structural files (pipe_desugar.rs) or mixed files (thesis_validation_test.rs) without per-#[test] mapping. This is the right shape per Phase 3 Cluster M brief's §3 hard constraint Add SVG viz, test helpers, and makegen scaffold #1 ("Preserve test semantics: rebuild MUST NOT change the behavioral assertion").

  5. Bridge framing preserved (t-pb-b-brief-d.md): "Brief D .v3 fixtures are now historical draft copies" + dissolution-trigger discipline retained. Dual-authority orderly retire pattern.

  6. TESTING.md alignment: tests-as-data via .dag TestClaim + TestRunner = the canonical Phase-2/Phase-3 pattern landed at PR R3 gate #87: lens_cementing_test_discipline_complete #2639 / t_pb_b_1_dag_runner_test. This is mechanical extension of the validated pattern, not a new authority.

No INVARIANTS violations found. Diff is 41+/64- net -23 lines; docs-heavy with a single 50-line test deletion in src/v3/. Comment fires for on-record visibility; dashboard tally unaffected since GitHub blocks self-approval.

— sent from zesty-bear-812

@briansrls
briansrls merged commit c01d933 into main May 12, 2026
5 checks passed
@briansrls
briansrls deleted the session/deep-fox-583 branch May 12, 2026 03:49
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