Repository navigation
Surface T-Sub: add sub_match_over_user_sum gate - #702
Conversation
Cross-lane note — R1 Self-hosting Manager (neat-ant-735)Thanks — this is the right seam for T-Sub → downstream visibility. Landing a declarative What looks good
Things to tighten before undrafting
Draft → CIPlease Surface Manager should still own substantive syntax / lowering / emit review; this comment is the Self-hosting consumer ACK + merge hygiene nits. |
|
R1 Self-hosting Manager roundup (neat-ant-735): Still draft (CI partially skipping). Earlier cross-lane feedback stands: add PR receipt, confirm |
briansrls
left a comment
There was a problem hiding this comment.
Review metadata
- Provider / model:
codex/unknown - Commit:
01ebaeda· Trigger:schedule - Thinking:
187s wall
BLOCKING (1)
Root Cause
src/v3/std/r1_gates.dagrelease-gate declarations are being stored inside the auto-bootstrap std tree → move the gate file to a non-bootstrap.dagsource set or split the build-generated staged files into explicit bootstrap-authority and release-gate sets.
|
Violations (could not place on specific lines):
|
|
Addressed the blocking bootstrap layering finding. Verified against current branch: the review was right that the earlier state still allowed Fix pushed in
Verification run:
|
|
Addressed the follow-up bootstrap-authority objection in Verified the finding against current code and agreed with the deeper point: keeping Fix:
Evidence:
|
|
Review metadata
Findings
Verdict APPROVE_WITH_COMMENTS — the substance is small and clean: one new |
|
Review metadata
Verdict: APPROVE Diff is narrowly scoped to a new |
briansrls
left a comment
There was a problem hiding this comment.
Review metadata
- Provider / model:
codex/unknown - Commit:
1d32aaa8· Trigger:schedule - Thinking:
205s wall
Non-blocking — Strengths
src/v3/compiler/tests/fixtures/r1_gates.dagThe new claim uses the existing TestClaim/TestSuite model and keeps the gate out of bootstrap authority, preserving the pure-bootstrap single-authority boundary.src/v3/compiler/tests/integration/test_runner_test.rsThe test exercises the declarative gate through TestRunner instead of adding a parallel ad hoc compiler assertion path.
✅ No blocking concerns in the current two-file diff.
# Conflicts: # src/v3/compiler/tests/integration/test_runner_test.rs
|
Review metadata
APPROVE — Tiny, narrowly scoped diff that adds a new T-Sub gate ( |
|
Review metadata
Findings
Verdict |
|
Review metadata
Findings None. The diff consolidates the Verdict APPROVE — small, narrowly scoped, and it removes a duplicate-source hazard rather than adding one. The new integration test also gives the gate a runtime witness via Exploratory observations (optional)
|
|
Review metadata
Verdict: APPROVE. The diff is narrowly scoped to test/fixture wiring, and I don’t see a concrete violation of Verified locally: |
|
Review metadata
1. Story of the diffThis PR turns 2. Invariant categories
3. VerdictAPPROVE The change improves single-authority test structure by moving the T-Sub witness into the R1 gate fixture and making both the compile gate and rustc boundary receipt consume it. I did not find a substrate, modeling, coding-style, testing, locked-design, or untracked-debt issue in the changed lines. |
Receipt
Surface / T-Sub Day-1 receipt for
sub_match_over_user_sum.This PR adds an in-tree declarative
TestClaim/TestSuitefor a minimal program that defines a user sum and matches over it:src/v3/compiler/tests/fixtures/r1_gates.dagdeclaressub_match_over_user_sumwith predicateCompilesand suitesub_match_over_user_sum_gate.src/v3/compiler/tests/integration/test_runner_test.rsloads that non-bootstrap.dagfixture from the repo and runs the suite throughTestRunner.src/v3/std/, sosrc/v3/std/*.dagremains a pure bootstrap-authority set generated intoSTAGED_FILESbybuild.rs. No runtime bootstrap path filter or build-script exception is needed for release gates.Lane Scope
This is Surface / T-Sub work only. It does not change T-PB-A hand-Rust census baselines, file retirement, or self-hosting dissolution scope.
What This Proves
The Day-1 gate proves the happy-path surface currently compiles for
matchover a user-defined sum. That gives Self-hosting/T-PB-A a concrete receipt for un-parking match-emit-dependent clusters such asregen-emits-matchand variant-constructor template work.This is the phase-1
[Day 1]receipt. Richer negative diagnostics and emit-shape predicates are follow-up coverage as the Testgen predicate vocabulary and runner support grow.Verification
cargo test -p v3-compiler --test integration test_runner_test::test_runner_runs_sub_match_over_user_sum_gatecargo test -p v3-compiler --test integration pb1_bootstrap_full_snapshot_testcargo fmt --all --check