Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
7cbdfdf
WIP: Phase 1 dispatch (PR #3959 §11.4 step 4): R1 fixture generator +…
briansrls May 30, 2026
16ecaf8
WIP: Phase 1 dispatch (PR #3959 §11.4 step 4): R1 fixture generator +…
briansrls May 30, 2026
1cec310
WIP: Phase 1 dispatch (PR #3959 §11.4 step 4): R1 fixture generator +…
briansrls May 30, 2026
0359f83
fix(ci): apply cargo fmt for R1 leaf-model boundary test
briansrls May 30, 2026
669ee5f
WIP: Phase 1 dispatch (PR #3959 §11.4 step 4): R1 fixture generator +…
briansrls May 30, 2026
84b107e
WIP: Phase 1 dispatch (PR #3959 §11.4 step 4): R1 fixture generator +…
briansrls May 30, 2026
4b62822
fix(review): address openai-pro coproduct dispositions + host-runner …
briansrls May 30, 2026
fd91932
fix(ci): add SG-0 PR-body append for leaf-model R1 census +1
briansrls May 30, 2026
88c0cf5
fix(ci): raise v4 bootstrap/testclaim compile timeouts (exit 143)
briansrls May 30, 2026
c96fc11
Merge remote-tracking branch 'origin/main' into session/quick-lark-396
briansrls May 30, 2026
816a836
merge(main): pick up ci_int_offset bounded peel (SG-7 / v4 bootstrap)
briansrls May 30, 2026
b39d09b
fix(v4): use Symbol anchors for single-variant leaf-model IDs
briansrls May 30, 2026
5b5212a
fix(v4): single-line Symbol data binding (parse error after newline)
briansrls May 30, 2026
3823b20
fix(v4): annotate falsification expectation as TargetCompileVerdict
briansrls May 30, 2026
10308dd
fix(review): carry rust.dag fact anchors in LeafModelFixturePair
briansrls May 30, 2026
4f3549d
merge(main): resolve timeout conflict; keep 420s testclaim CI default
briansrls May 30, 2026
802e1d7
WIP: Phase 1 dispatch (PR #3959 §11.4 step 4): R1 fixture generator +…
briansrls May 30, 2026
41665fe
merge(main): unify leaf_model_verification substrate + CI 480s timeouts
briansrls May 30, 2026
774c42e
WIP: Phase 1 dispatch (PR #3959 §11.4 step 4): R1 fixture generator +…
briansrls May 30, 2026
7d7a795
WIP: Phase 1 dispatch (PR #3959 §11.4 step 4): R1 fixture generator +…
briansrls May 30, 2026
84dae9d
fix(ci): scope phase1/nat_semiring rung gate to fixture-touched PR paths
briansrls May 30, 2026
649ee25
Merge remote-tracking branch 'origin/main' into session/quick-lark-396
briansrls May 30, 2026
dbdcbd4
WIP: Phase 1 dispatch (PR #3959 §11.4 step 4): R1 fixture generator +…
briansrls May 30, 2026
5ab802e
fix(ci,substrate): address api-review on gate scope + fixture vocabulary
briansrls May 30, 2026
4b3faca
fix(ci): move nat_semiring gate scope detector out of workflow YAML
briansrls May 30, 2026
ec57ad9
fix(ci): nat_semiring scope detector self-validates gate wiring edits
briansrls May 30, 2026
4cddd83
WIP: Phase 1 dispatch (PR #3959 §11.4 step 4): R1 fixture generator +…
briansrls May 30, 2026
ee7c49b
fix(ci): split nat_semiring full gate vs workflow-policy ratchet
briansrls May 30, 2026
45af5ba
WIP: Phase 1 dispatch (PR #3959 §11.4 step 4): R1 fixture generator +…
briansrls May 30, 2026
cb54615
WIP: Phase 1 dispatch (PR #3959 §11.4 step 4): R1 fixture generator +…
briansrls May 30, 2026
07ac0d9
WIP: Phase 1 dispatch (PR #3959 §11.4 step 4): R1 fixture generator +…
briansrls May 30, 2026
1b88cb0
merge: resolve main into session/quick-lark-396
briansrls May 30, 2026
dead3f8
merge: keep 480s corpus-gate timeout comment with main
briansrls May 30, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 24 additions & 4 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -232,6 +232,12 @@ jobs:
- name: RELEASE §5 v4 workflow release model/YAML binding smoke
if: needs.affected.outputs.v4 == 'true' || needs.affected.outputs.workflow_policy == 'true' || needs.affected.outputs.release_distribution == 'true' || (github.event_name == 'push' && github.ref == 'refs/heads/main')
run: cargo test -p v3-compiler --test integration v4_workflow_release_dag_smoke_test -- --quiet
# Phase 1 leaf-model R1 — gunbc#846 bypass: v3 job skips integration execution; run boundary
# rustc receipt here (docs/planning/v4-leaf-model-verification-2026-05-30.md §7; pairs with
# scripts/v4-leaf-model-rust-r1-verify.sh). Dissolution: modeled run_target_verification.
- name: Phase 1 leaf-model R1 rustc boundary (gunbc#846 bypass)
if: needs.affected.outputs.v4 == 'true' || needs.affected.outputs.workflow_policy == 'true'
run: cargo test -p v3-compiler --test integration v4_leaf_model_rust_r1_rustc_test -- --quiet
# v4 compile gates — parallel with ci_integration. Standalone `v4` jobs hit a ~5m Ubicloud
# shutdown mid-emit; per-job budgets keep one runner lifecycle per concern. The `v4` job is a
# receipt-only stub so required check names stay stable. MVP-1 + v4 bootstrap share the
Expand Down Expand Up @@ -307,13 +313,26 @@ jobs:
V4_M1_RUST_EMIT_OUT: ${{ runner.temp }}/v4-rust-emit
V4_M1_CARGO_CHECK_JOBS: "4"
run: bash scripts/v4-m1-rust-emit-probe.sh
# Fixture-scoped gate: full rung gate only for fixture/transport or gate *execution*
# edits; scope-detector / if-routing narrowing uses policy_check (Gate #103 ratchet).
- name: Detect phase1/nat_semiring fixture scope (PR diff)
id: phase1_nat_semiring_fixture_scope
if: needs.affected.outputs.v4 == 'true' || needs.affected.outputs.workflow_policy == 'true'
run: bash scripts/detect-phase1-nat-semiring-gate-scope.sh "${{ github.event_name }}" "$GITHUB_OUTPUT"
- name: phase1/nat_semiring gate policy ratchet (workflow-policy edits)
if: steps.phase1_nat_semiring_fixture_scope.outputs.policy_check == 'true'
run: |
set -euo pipefail
bash scripts/check-workflow-path-regex-inventory.sh
bash scripts/detect-phase1-nat-semiring-gate-scope.sh "${{ github.event_name }}" "${RUNNER_TEMP}/phase1-gate-scope-smoke.out"
grep -q '^should_run=' "${RUNNER_TEMP}/phase1-gate-scope-smoke.out"
# Phase 1 rung gate setup: provision Go on the self-hosted runner. The gate
# invokes `go build` for R0-go-parse / R2-go-compile; without this step the
# script's host-toolchain guard would fail-closed with
# phase1/nat_semiring/setup/host_toolchain_missing (setup gap, not fixture
# gap). Python3 is pre-installed on srv1/srv2. setup-go@v5 is cached.
- name: Setup Go (phase1/nat_semiring rung gate prerequisite)
if: needs.affected.outputs.v4 == 'true' || needs.affected.outputs.workflow_policy == 'true'
if: steps.phase1_nat_semiring_fixture_scope.outputs.should_run == 'true'
uses: actions/setup-go@v5
with:
go-version: 'stable'
Expand All @@ -325,7 +344,7 @@ jobs:
# V4_PHASE1_NAT_SEMIRING_STRICT=1 still logs fail-closed rung receipts (#3955 §6); rust rung
# not rustc-clean on main until emit substrate lands — workflow continue-on-error interim.
- name: phase1/nat_semiring rungs 0-2 gate (dag rust python go)
if: needs.affected.outputs.v4 == 'true' || needs.affected.outputs.workflow_policy == 'true'
if: steps.phase1_nat_semiring_fixture_scope.outputs.should_run == 'true'
timeout-minutes: 20
continue-on-error: true
env:
Expand All @@ -339,7 +358,7 @@ jobs:
timeout-minutes: 35
continue-on-error: true
env:
V4_BOOTSTRAP_TIMEOUT_SECS: 480
V4_BOOTSTRAP_TIMEOUT_SECS: '480'
run: |
set +euo pipefail
bash scripts/v4-bootstrap-viability.sh
Expand Down Expand Up @@ -370,8 +389,9 @@ jobs:
exit 1
- name: 'T-22 TestClaim corpus structural bridge — manual .dag corpus'
if: needs.affected.outputs.v4 == 'true' || needs.affected.outputs.workflow_policy == 'true'
timeout-minutes: 15
env:
V4_TESTCLAIM_TIMEOUT_SECS: 480
V4_TESTCLAIM_TIMEOUT_SECS: '480'
run: bash scripts/v4-testclaim-corpus-gate.sh
# Branch protection requires the `ci` check name (docs/admin/branch-protection-recommendation-
# 2026-05-09.md). This job is the fail-closed aggregator over discipline + parallel lanes;
Expand Down
1 change: 1 addition & 0 deletions _internal/INVARIANTS_OPS.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ Per **Dispatch-Discipline Mechanisms (b)** above, each **new** path added to `EX
| `src/v3/compiler/tests/integration/v4_workflow_release_dag_smoke_test.rs` | **RELEASE_TODO.md** §5 Phase 1a (`src/v4/workflow/release.dag` — tag `v*` trigger, six-target matrix [musl linux x2, darwin x2, windows msvc x2], musl `cross` + native darwin/windows builds, `release_published_target_triples` + `release_published_artifact_names` with `.exe` on windows rows, GH Release upload of matrix `artifact_basename` assets only; hand-synced `.github/workflows/release.yml`). Install (`install.sh`, target detection) deferred to Phase 1b (`install.dag`). **ROADMAP:** `_internal/ROADMAP_OPS.md` § **Nine lanes** row **T-PB-B** / `pb_rust_tests_outside_residual_zero`. **PR receipt (P5 Mechanism (b)):** this INVARIANTS row + matching `EXPECTED_HAND_AUTHORED_TEST` line in `sg0_census_test.rs` + `scripts/ci-merge/sg0-pr-body-append.3859.txt` land in the same PR as the smoke harness. **Dissolution:** remove when `release_pipeline` YamlStatic emits `release.yml` and generated harness exercises release facts without this parse probe. **Interim ratchet:** `v4_workflow_release_dag_tokenizes_and_parses`; `v4_workflow_release_semantics_modeled`; `v4_workflow_release_modeled_and_bound_to_release_yml`; `v4_workflow_release_published_authority_single_writer` — tokenize+parse + release.yml binding + published triple/artifact basename parity across `release.dag` and `release.yml` (reads `release.dag`, `release.yml`, `src/v2/stage0/Cargo.toml` only). |
| `src/v3/compiler/tests/integration/v4_test_bootstrap_infra_closeout_test.rs` | **ROADMAP:** `_internal/ROADMAP_OPS.md` § **Nine lanes** row **T-PB-B** / `pb_rust_tests_outside_residual_zero`; **TASKS.md** **T-19** (`src/v4/lens/testgen.dag`) + **T-20** (`src/v4/workflow/bootstrap.dag`) + **T-22** (`src/v4/compiler/05_eval.dag` DiagnosticAssert execution / `eval_rejected_assert_kind_deferred` dissolution; witnesses in `src/v4/test/claim/manual/diagnostic_assert_eval.dag`). **PR receipt (P5 Mechanism (b)):** this INVARIANTS row + matching `EXPECTED_HAND_AUTHORED_TEST` line in `sg0_census_test.rs` land in the same PR as the closeout ratchet; T-22 expansion in its PR updates this row; T-19 AlgebraLaw Nat corpus expansion (this PR) further updates this row (same path — no new census line); T-19 deferral lane: TASKS.md §T-19 `algebra_law_conformance.dag` corpus, _internal/ROADMAP_OPS.md § Nine lanes row T-PB-B. **Dissolution:** remove when the T-19/T-20/T-22 closeout checks are expressed as `.dag` `TestClaim` rows or generated harness coverage without this host parse-surface ratchet. **Interim ratchet:** `testgen_concept_surface_stays_closed_and_classified` checks the closed testgen scheduling arms and the `Generator` claim kind / anchor / classification / slot field set; `language_behavior_equivalence_generated_claims_parse` / `language_behavior_equivalence_run_test_claim_receipts_present` pin the LBE generator slice; `idempotent_operation_generated_claims_parse_and_pin_emission` pins the idempotent-operation generator slice (`src/v4/std/effects.dag` canonical `IdempotentShape`/`EffectShape` witnesses + `idempotent_operation_witness_node`; outside the six-way `TestgenConcept` coproduct; label-only skip); `manual_manifest_matches_claim_anchor_discriminants` checks manual claim anchors join to the manifest by `ManualAnchorKey`; `claim_corpus_has_no_direct_manual_anchor_assignments` scans `src/v4/test/claim/**/*.dag` so `TestClaim.anchor` literals cannot bypass `manual_claim_anchor(...)` after the `ClaimAnchorKey` split; `coproduct_exhaustiveness_generated_claim_parse_and_witnesses_present` checks the generated coproduct-exhaustiveness corpus parses, derives the invalid `Node` and generated claim anchor from one `GeneratedCoproductExhaustiveness` source, uses canonical `node_locus`, and schedules the generated `DiagnosticExhaustiveness` claim under `GeneratedClaimAnchor`; `t20_bootstrap_plan_keeps_self_hosting_chain_as_data` checks the seed/self0/self1/fixpt bootstrap chain is encoded as `CompileStage` / `BootstrapPlan` data; `t22_diagnostic_assert_eval_witnesses_parse` checks `diagnostic_assert_eval.dag` parses; `t22_eval_diagnostic_assert_not_deferred_in_substrate` checks `05_eval.dag` no longer contains `eval_rejected_assert_kind_deferred`, executes `DiagnosticAssert`, and routes `run_test_claim` through `aggregate_verdicts`; `t19_algebra_law_generated_claims_parse_and_use_testgen_emit` checks `algebra_law_conformance.dag` parses and asserts the testgen emit helpers + tautological-sides guard in `lens/testgen.dag`. |
| `src/v3/compiler/tests/integration/coverage_defect_acceptance_dag_test.rs` | **Coverage-defect acceptance keys:** `src/v4/lens/coverage.dag` carries the canonical coverage-key set for `docs/design-dissolution-lens.md` §5.1; the old emit-template key is retired into `TemplateHole`, and the old string-escape key is split into `TemplateHole` plus `CanonicalCarrier`. **ROADMAP:** `_internal/ROADMAP_OPS.md` § **Nine lanes** row **T-PB-B** / `pb_rust_tests_outside_residual_zero`. **PR receipt (P5 Mechanism (b)):** this INVARIANTS row + matching `EXPECTED_HAND_AUTHORED_TEST` line in `sg0_census_test.rs` land in the same PR as the parse-level ratchet. **Dissolution:** remove when the v4 coverage lens runs as `.dag` / generated coverage and can assert the same acceptance rows without this host parser check. **Interim ratchet:** `coverage_defect_acceptance_keys_match_declared_rows` tokenizes/parses `src/v4/lens/coverage.dag` and asserts the exact parsed `(coverage_defect_* data row, CoverageDefectKey variant)` set matches the expected acceptance-key table while rejecting retired emit-template / string-escape names. |
| `src/v3/compiler/tests/boundary/v4_leaf_model_rust_r1_rustc_test.rs` | **Phase 1 leaf-model verification** (`docs/planning/v4-leaf-model-verification-2026-05-30.md` §7 R1): boundary `rustc` exercise for `src/v4/lens/leaf_model_verification.dag` happy + falsification fixtures; interim host runner `scripts/v4-leaf-model-rust-r1-verify.sh`. **ROADMAP:** `_internal/ROADMAP_OPS.md` § **Nine lanes** row **T-PB-B** / `pb_rust_tests_outside_residual_zero`; **TASKS.md** T-22/T-38 (Runtime/TestClaim verdict surface). **PR receipt (P5 Mechanism (b)):** this INVARIANTS row + matching `EXPECTED_HAND_AUTHORED_TEST` line in `sg0_census_test.rs` land in the same PR as the harness. **Dissolution:** delete when modeled `run_target_verification` exercises `src/v4/test/claim/language_model/rust_r1.dag` without this hand-Rust bridge. **Interim ratchet:** `v4_leaf_model_rust_r1_fixture_strings_match_dag_authority`, `v4_leaf_model_rust_r1_happy_fixture_rustc_accepts`, `v4_leaf_model_rust_r1_falsification_fixture_rustc_e0308`. |
| `src/v3/compiler/tests/integration/v4_bin_main_dag_smoke_test.rs` | **T-15** (`src/v4/bin/main.dag` — trampoline **`String`** authority + B1 digest **placeholder** `Node`s; closed-tree invariant #2 / pure-bootstrap zero-floor per `docs/design-pure-bootstrap-zero.md`). **Grounded-indicator authoring on `main.dag` is HOLD** pending hub-relayed canonical spec (operator-direct format under-spec; pending canonical spec). **ROADMAP:** `_internal/ROADMAP_OPS.md` § **Nine lanes** row **T-PB-B** / `pb_rust_tests_outside_residual_zero`. **PR receipt (P5 Mechanism (b)):** this INVARIANTS row + matching `EXPECTED_HAND_AUTHORED_TEST` line in `sg0_census_test.rs` land in the same PR as the smoke harness. **Dissolution:** remove when `main.dag` is exercised only by `.dag` `TestClaim` rows / a generated harness without this per-file Rust probe. **Interim ratchet:** `v4_bin_main_dag_tokenizes_and_parses_with_trampoline_source_anchor` runs `tokenize_for_test` + `parse_for_test` on the pinned `include_str!` source and asserts the trampoline / stub `data` identifiers plus the escaped `include!` spelling remain present in source text (full `compile_to_dag` on `main.dag` alone is deferred: `import v4.std.node` is not linked in the single-file harness). |
| `src/v3/compiler/tests/integration/v4_t15_self_host_fixed_point_harness_test.rs` | **T-15** (`src/v4/TASKS.md` §T-15 — `bin/main.dag` trampoline authority + bootstrap `FixptStage1Stage2` stage1==stage2 wiring, **not** stage0==stage1; `claim_t15_self_host_fixed_point.dag` EqualsClaim over digest operand placeholders; optional v2 `gunbc compile` with `main.dag` entry root when `target/release/gunbc` exists). **ROADMAP:** `_internal/ROADMAP_OPS.md` § **Nine lanes** row **T-PB-B** / `pb_rust_tests_outside_residual_zero`. **PR receipt (P5 Mechanism (b)):** this INVARIANTS row + matching `EXPECTED_HAND_AUTHORED_TEST` line in `sg0_census_test.rs` land in the same PR as the harness + `claim_t15_self_host_fixed_point.dag`. **Dissolution:** remove when B1 merkle `content_hash` pins + T-22 eval execute the Equals probe and bootstrap fixpt without host structural receipts. **Interim ratchet:** `t_15_self_host_fixed_point` (TASKS.md CI gate name) tokenize/parse `main.dag`, `bootstrap.dag`, `self_host.dag`, and the T-15 claim; assert trampoline + fixpt stage1/stage2 digest convergence strings in `bootstrap_plan_well_formed`; assert `self_host_fixed_point_validate` stays fail-closed; optional v2 entry-root compile receipt. |
| `src/v3/compiler/tests/integration/v4_compiler_emit_translate_smoke_test.rs` | **TASKS.md** T-10 / Wave-3-B (`src/v4/compiler/06_translate.dag` — `fold_node` translate + `coercion_fold` wrapper, `TargetSelectionPolicy` from target-model bundle; `src/v4/compiler/05_emit.dag` — `serialize_target ∘ translate`, grammar-as-bidir serialize via bundle `emitted`/`source` keys; `src/v4/test/claim/manual/mvp1_rust_add_translate.dag` structural TestClaim anchors). **ROADMAP:** `_internal/ROADMAP_OPS.md` § **Nine lanes** row **T-PB-B** / `pb_rust_tests_outside_residual_zero`. **PR receipt (P5 Mechanism (b)):** this INVARIANTS row + matching `EXPECTED_HAND_AUTHORED_TEST` line in `sg0_census_test.rs` land in the same PR as the smoke harness. **This PR (+0 paths):** replaces fixed `translate_default_serialize_fuel` with structural `Outcome<Int>` serialize measures in `06_translate.dag`; expands the existing harness (no new census path) to ratchet parsed-surface declarations for `target_translation_rules_budget`, `translate_serialize_measure`, `target_serialize_source_from_model`, `bind_outcome` import, and absence of `translate_default_serialize_fuel` data — semantic fail-closed behavior is exercised by `run_mvp1_serialize_rejects_missing_translation_rules` in `mvp1_rust_add_translate.dag` (not host `str::contains` probes). **PR #3778 same-path expansion (+0 SG-0 paths):** adds `v4_wasm_wat_lex_boundary_uses_trivia_and_numeric_literal_authority` to pin the T-4.17 WAT lex/grammar dissolution receipt: stale whitespace-bearing wasm fixture tokens stay deleted, atomic keyword/trivia/numeric-literal authorities are present, and typed numeric-literal grammar productions exist for `i32`/`i64`/`f32`/`f64` const operands. **This PR same-path expansion (+0 SG-0 paths):** adds `v4_python_language_model_declares_wave2b_algebra_inhabitance` to pin T-4.17 Python Wave 2b type-deepening: `python.dag` consumes `AlgebraInhabitanceDecl` plus grounded `std.algebra` Node constructors (`ordered_ring_node`, `approximate_field_node`, `boolean_algebra_node`) and declares int/float/bool witness + inhabitance rows feeding `python_model_core_wave1`; the ratchet also asserts zero complex/singleton algebra witness/inhabitance helper declarations, so complex and singleton facts remain mechanically outside faithful algebra inhabitance until the relevant carrier exists. The Python T-11 grammar ratchet now additionally requires canonical `FormalProduction` with a flat formal-symbol RHS, requires the shared `std.grammar` `formal_production_to_node` projection, rejects legacy `GrammarExpr`/`Sequence`/`Terminal` imports in `python.dag`, and asserts zero Python-owned formal-production projection helpers. **This PR same-path expansion (+0 SG-0 paths):** adds `v4_wasm_language_model_declares_wave2b_algebra_inhabitance` to pin T-4.17 Wasm Wave 2b type-deepening: `wasm.dag` consumes `AlgebraInhabitanceDecl` plus grounded `std.algebra` type-node constructors (`commutative_semiring_type_node`, `approximate_field_type_node`) and declares integer/float witness + inhabitance rows feeding `wasm_model_core_wave2b`; the ratchet pins wave-2b entrypoints without adding a new SG-0 census path. **PR #3840 same-path expansion (+0 SG-0 paths):** adds `v4_mvp1_python_add_claim_tokenizes_and_parses`, `v4_mvp1_go_add_claim_tokenizes_and_parses`, `v4_mvp1_cpp_add_claim_tokenizes_and_parses`, `v4_mvp1_typescript_add_claim_tokenizes_and_parses`, and `v4_mvp1_shape_a_add_claims_import_compile_inferred` to ratchet T-11 grammar-inverse compile-inferred TestClaim parse/import receipts for python/go/cpp/typescript Shape-A MVP-1 add-fn fixtures (`mvp1_*_add_translate.dag`); dissolves `feature:T-11-grammar-inverse-serializer-remaining-targets` status mark in `06_translate.dag`. This is explicitly deferred under **ROADMAP** § **Nine lanes** row **T-PB-B** / `pb_rust_tests_outside_residual_zero`; dissolve these same-path Rust ratchets when the language boundary facts are asserted by `.dag` `TestClaim` rows, T-22 execution, or a generated harness instead of host `SurfaceExpr` traversal. Prior T-11 ratchet rows remain: `v4_emit_dag_tokenizes_and_parses`, `v4_emit_dag_module_path_is_compiler_emit`, `v4_emit_dag_imports_translate_stage`, `v4_emit_dag_declares_emit_entrypoint`, `v4_emit_dag_does_not_import_find_witness`, `v4_mvp1_rust_add_claim_imports_translate_and_emit`, `v4_translate_dag_dispatches_token_sequence_items`, and the language-model T-11 rows. **Dissolution:** remove when translate/emit/MVP-1 surfaces are exercised only by `.dag` `TestClaim` rows / a generated harness without this per-file Rust probe (full `compile_to_dag` over v4 compiler modules deferred until multi-module load). |
Expand Down
3 changes: 3 additions & 0 deletions scripts/ci-merge/sg0-pr-body-append.3972.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
SG-0 hand-path delta: +1

SG-0 pairing: (c) Net +1 on `EXPECTED_HAND_AUTHORED_TEST` for `v4_leaf_model_rust_r1_rustc_test.rs` (INVARIANTS §P5(b) Phase 1 leaf-model R1 boundary `rustc` ratchet per `docs/planning/v4-leaf-model-verification-2026-05-30.md` §7; pairs with `scripts/v4-leaf-model-rust-r1-verify.sh`). Follow-up dispatch: retire when T-22 modeled `run_target_verification` exercises `src/v4/test/claim/language_model/rust_r1.dag` without this hand-Rust bridge — gunb-ai/gunbc#3972 / T-PB-B `pb_rust_tests_outside_residual_zero` in `_internal/ROADMAP_OPS.md`.
Loading
Loading