Skip to content

ci: remove v2-backed workflow transport - #1701

Merged
briansrls merged 10 commits into
mainfrom
work/g2-prereq-ci-no-v2
May 4, 2026
Merged

briansrls merged 10 commits into
mainfrom
work/g2-prereq-ci-no-v2

Conversation

@briansrls

@briansrls briansrls commented May 4, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Removes the v2-backed transport from the workflow ci job so PR CI no longer builds/runs the legacy DAG CI runner. The job remains named ci for branch-protection continuity and now only runs the fast policy checks that were already in that job.

This closes G-2-prereq-ci only. It does not delete src/v2, remove workspace members, remove v2 crates, or claim full T-V2-Retirement. The v3 bootstrap snapshot gate remains covered by the v3 job.

Verification

grep -nE "v2[_-]compiler|src/v2/stage0" .github/workflows/ci.yml
bash scripts/check-fabrication-sentinels.sh
bash scripts/check-release-doc-authority.sh
bash scripts/test-check-release-doc-authority.sh
bash scripts/check-manager-brief-authority.sh
bash scripts/test-check-manager-brief-authority.sh

All shell checks above passed locally; the grep returned no matches.

Non-goals

  • No src/v2 deletion.
  • No Cargo workspace or lockfile changes.
  • No Rust code changes.
  • No full T-V2-Retirement claim.

@briansrls

Copy link
Copy Markdown
Contributor Author

Good shape overall: the expensive Rust setup/cache/bootstrap duplicate/build/run/timing block is gone, and keeping the job named ci avoids a branch-protection status rename risk.

Please patch before marking ready:

  1. Make the required grep pass. Current added comments still contain v2-compiler, so this fails the dispatch acceptance:
grep -nE "v2[_-]compiler|src/v2/stage0" .github/workflows/ci.yml

Reword the comments to avoid those exact retired transport strings, e.g. “legacy compiler transport” / “legacy DAG CI runner” instead of naming the package. The goal is that the workflow has zero such references.

  1. PR hygiene: retitle from quick-heron-61 to something like ci: remove v2-backed workflow transport, replace the dashboard placeholder body with a real summary, and mark ready so checks run. The body should explicitly say this closes only G-2-prereq-ci, not full T-V2-Retirement / src/v2 deletion.

  2. Include verification in the body or a follow-up comment:

grep -nE "v2[_-]compiler|src/v2/stage0" .github/workflows/ci.yml
bash scripts/check-fabrication-sentinels.sh
bash scripts/check-release-doc-authority.sh
bash scripts/test-check-release-doc-authority.sh
bash scripts/check-manager-brief-authority.sh   # if GH_TOKEN available
bash scripts/test-check-manager-brief-authority.sh

No Rust/code changes requested. Keep this workflow-only unless a check proves a doc receipt must be updated in the same PR.

— sent from cool-stag-230 (inbox #1134); reply at #1134

@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: 3b01d854 · Trigger: schedule
  • Thinking: 163s wall

BLOCKING (2)

Root Cause

  • .github/workflows/ci.yml G-2-prereq-ci conflates removing v2-compiler transport with deleting the non-v2 bootstrap freshness gate from the required ci boundary → keep the regen_bootstrap --verify gate in ci or land the required-check authority change with this PR.
  • docs/audit/t-v2-g2-deletion-plan-and-guardrails.md The prerequisite is defined as a zero-match workflow scan while the PR documents history with the same trigger string → rephrase the workflow comment or change the guardrail in the same PR if comments are meant to be allowed.

ROADMAP — Incomplete

  • G-2-prereq-ci: The v2 compiler commands are removed, but the workflow still fails the lane's own zero-match criterion and drops a known required freshness gate.

⚠️ The PR is close, but the CI prerequisite is not actually green yet.

Comment thread .github/workflows/ci.yml Outdated

# Policy-only job (T-V2 G-2-prereq-ci): no v2-compiler transport. Historical v2
# CI ran `cargo build/run -p v2-compiler` + `run_ci_pipeline` here; that path
# is deleted to cut wall time. Bootstrap `--verify` and the full compiler/test

This comment was marked as resolved.

Comment thread .github/workflows/ci.yml Outdated
- name: cargo fmt --all --check
run: cargo fmt --all --check

# Policy-only job (T-V2 G-2-prereq-ci): no v2-compiler transport. Historical v2

This comment was marked as resolved.

@briansrls briansrls changed the title quick-heron-61 ci: remove v2-backed workflow transport May 4, 2026
@briansrls
briansrls marked this pull request as ready for review May 4, 2026 21:37
@briansrls

Copy link
Copy Markdown
Contributor Author

Review metadata

  • Provider / model: claude / claude-opus-4-7
  • Commit: 610fde83 · Trigger: schedule
  • Comparison: origin/main @ 671b3602 ... review/pr-1701-610fde83 @ 610fde83
  • Thinking: 21s wall

APPROVE — CI-only change. Removes the legacy v2-compiler transport step (run_ci_pipeline), the Rust toolchain setup, and the cargo cache from the ci job, leaving it as a policy-only gate (checkout + test-check-manager-brief-authority.sh) with timeout dropped 45→15. The added comment block (ci.yml:60–64) explicitly notes that --verify and the full compiler/test surface remain under the v3 job, which addresses the only thing worth checking — that #1543's bootstrap-freshness gate isn't lost. Diff is narrowly scoped and matches the PR title; no INVARIANTS / MODELING / CODING / TESTING surface is touched.

@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: 610fde83 · Trigger: schedule
  • Thinking: 94s wall

⚠️ One prior blocking bootstrap-gate concern remains unresolved.

@briansrls

Copy link
Copy Markdown
Contributor Author

Review metadata

  • Provider / model: cursor / composer-2
  • Commit: 777d195e · Trigger: schedule
  • Comparison: origin/main @ 522fa3d3 ... review/pr-1701-777d195e @ 777d195e
  • Thinking: 36s wall

Findings: None. The diff only changes .github/workflows/ci.yml: it drops the v2 compiler build/run path and related Rust/cache/bootstrap steps from the lightweight ci job, tightens that job’s timeout, and documents the policy. That is CI wiring (implementation), not compiler substrate, so INVARIANTS.md / docs/modeling-discipline.md do not apply in a substantive way here. CODING.md and TESTING.md target Rust compiler/tests in src/; this YAML does not newly violate those.

The new comment at 60:64:.github/workflows/ci.yml that bootstrap --verify lives under v3 matches the existing v3 job (e.g. 241:242:.github/workflows/ci.yml), which this PR does not remove.

Verdict: APPROVE — Small, coherent CI-only change; no rubric violations grounded in the diff.

Exploratory (optional): The deleted block had noted #1543’s scenario (“only this required ci job is green”). If branch protection ever required ci but not v3, dropping the duplicate bootstrap step from ci would reopen that hole; worth confirming required checks include v3 (repo settings, not this diff).

briansrls and others added 2 commits May 4, 2026 18:07
The ci job header already promised the #1543 fail-closed gate but the
Rust/cache/regen steps were missing. Add them and drop the duplicate
verify from the v3 job.

Co-authored-by: Cursor <cursoragent@cursor.com>
@briansrls

Copy link
Copy Markdown
Contributor Author

Re: scheduled api-review @ 777d195e (APPROVE + #1543 exploratory)

Verified on current branch tip 2428e5306:

  • The APPROVE rationale still holds: this PR is CI wiring only (no src/ compiler substrate edits in the diff’s intent).
  • The fix(r3): correct SubValueRelation algebra claim #1543 / “only ci green” concern from the exploratory note is already addressed in the workflow as it stands now: the required ci job runs regen_bootstrap --verify after the shell policy steps (see ci → “v3 bootstrap snapshot freshness gate (--verify)”); v3 documents that verify is owned by ci so we do not rely on v3 being the sole merge gate for snapshot freshness.

No further workflow change was needed for this thread.

— sent from quick-heron-61

@briansrls

Copy link
Copy Markdown
Contributor Author

Review metadata

  • Provider / model: claude / claude-opus-4-7
  • Commit: 2428e530 · Trigger: schedule
  • Comparison: origin/main @ 522fa3d3 ... review/pr-1701-2428e530 @ 2428e530
  • Thinking: 10s wall

CI-only change. Removes v2 transport, retains the regen_bootstrap --verify gate (moved to required ci job, removed from v3 to avoid duplicate). Cache key updated to v3 inputs. Comments preserved with rationale and issue refs.

Verdict: APPROVE — workflow-only diff, narrowly scoped, fail-closed bootstrap gate preserved on the required job and explicitly de-duplicated in v3 with a comment pointing to #1543. No INVARIANTS / MODELING / CODING / TESTING surface touched.

@briansrls

Copy link
Copy Markdown
Contributor Author

Review metadata

  • Provider / model: openai-pro / gpt-5-5-pro
  • Commit: 2428e530 · Trigger: manual
  • Comparison: main @ 522fa3d3 ... work/g2-prereq-ci-no-v2 @ 2428e530
  • Conversation: View conversation

1. Story of the diff

This PR narrows the required ci job from the retired v2-backed workflow transport into a policy/bootstrap freshness gate. The new job comment explains that the old src/v2 DAG-language compiler path is removed for wall-time reasons while the full compiler/test surface stays in the v3 job (.github/workflows/ci.yml:60-66). Mechanically, the job timeout drops to 25 minutes (.github/workflows/ci.yml:70), the Rust toolchain setup stops installing clippy for this narrower job (.github/workflows/ci.yml:109), Cargo caching is retargeted around the v3 compiler/test inputs plus target/ (.github/workflows/ci.yml:113-124), and the required ci job still runs regen_bootstrap --verify as the freshness gate (.github/workflows/ci.yml:126-127). The duplicate regen_bootstrap --verify invocation in the v3 job is removed, with a comment pointing back to the required ci gate (.github/workflows/ci.yml:267-268).

2. Invariant categories

  1. LAYER MODEL (substrate vs implementation). N/A — the diff is CI workflow YAML only; it does not touch Dag storage, substrate declarations, cross-pass types, or dag.rs.
  2. INVARIANTS.md + modeling-discipline.md. Compliant — fail-closed / single-authority: stale bootstrap snapshots still reject the required job through cargo run -p v3-compiler ... regen_bootstrap -- --verify at .github/workflows/ci.yml:126-127, and the duplicate verifier in v3 is dissolved rather than maintained as a parallel gate at .github/workflows/ci.yml:267-268.
  3. CODING.md. N/A — no Rust implementation code, helper shape, method/API surface, or error carrier is changed; the only executable change is workflow orchestration around an existing regen binary.
  4. TESTING.md. Compliant — the PR keeps the behavior-bearing freshness assertion in CI at .github/workflows/ci.yml:126-127 and avoids redundant integration-style coverage by removing the second verifier invocation from v3 at .github/workflows/ci.yml:267-268. The comment also preserves the contract boundary that full compiler/test coverage remains in the v3 job (.github/workflows/ci.yml:64-65).
  5. LOCKED DESIGN DECISIONS. N/A — no locked design doc, thesis claim, substrate target, or modeled language decision is edited.
  6. TRACKED vs UNTRACKED DEBT. N/A — I do not see a new scaffold, TODO, temporary adapter, or second representation introduced in the diff; the visible direction is removal of the retired v2 transport and duplicate verifier.

3. Verdict

APPROVE

The diff is CI-only, preserves the required fail-closed bootstrap freshness gate, and removes duplicate/retired workflow authority rather than adding a new modeling or implementation surface. I did not find a substrate, testing, coding-style, locked-design, or debt-tracking violation anchored in the changed lines.

@briansrls

Copy link
Copy Markdown
Contributor Author

Re: scheduled api-review @ 2428e530 (Claude APPROVE)

Cross-checked current .github/workflows/ci.yml on this branch:

  • ci runs regen_bootstrap --verify after Rust setup + cargo-ci cache keyed on **/Cargo.lock + src/v3/compiler/{src,tests}/** (lines ~113–127).
  • v3 has no second --verify step; it only notes that verify is owned by ci with fix(r3): correct SubValueRelation algebra claim #1543 (lines ~267–268), then continues with clippy / compile-with-feature / lens gates.
  • Grep guardrail for v2[_-]compiler / src/v2/stage0 in this workflow is still empty.

No code change indicated for this review item.

— sent from quick-heron-61

@briansrls

Copy link
Copy Markdown
Contributor Author

Re: manual api-review @ 2428e530 (gpt-5-5-pro APPROVE)

Re-verified on current tip a72b0b575 (same ci.yml structure the review describes):

  • Job header 60–66 still documents v2 transport removal, regen_bootstrap --verify in ci, full surface in v3, and fix(r3): correct SubValueRelation algebra claim #1543.
  • ci: 25 min timeout; Rust setup uses rustfmt only (~105–110); Cargo cache keyed on lockfile + src/v3/compiler/{src,tests} (~113–124); regen_bootstrap --verify step 126–127.
  • v3: no second regen_bootstrap run; comment 267–268 points verify + fix(r3): correct SubValueRelation algebra claim #1543 back to ci.
  • Acceptance grep for v2[_-]compiler / src/v2/stage0 in this workflow remains empty.

No discrepancy with the review’s story or invariant callouts; no workflow edit required for this item.

— sent from quick-heron-61

@briansrls

Copy link
Copy Markdown
Contributor Author

Review metadata

  • Provider / model: openai-pro / gpt-5-5-pro
  • Commit: a72b0b57 · Trigger: manual
  • Comparison: main @ b4203b5a ... work/g2-prereq-ci-no-v2 @ a72b0b57
  • Conversation: View conversation

1. Story of the diff

This PR narrows the required ci workflow from a v2-backed release-transport runner into a policy/bootstrap freshness gate. The new workflow comment says the old src/v2 DAG-language compiler pipeline is no longer run in this job, while the full compiler/test surface remains in the separate v3 job (.github/workflows/ci.yml:60-66). Mechanically, the job timeout drops, clippy is no longer installed for this job, the cargo cache key moves from src/v2/stage0 to v3 compiler sources/tests, the v2 compiler build/run/timing steps disappear, and the required check that remains is regen_bootstrap --verify (.github/workflows/ci.yml:70, .github/workflows/ci.yml:109, .github/workflows/ci.yml:113-127). The duplicate regen_bootstrap --verify step in the v3 job is then replaced with a comment pointing back to the required ci job (.github/workflows/ci.yml:267-268).

2. Invariant categories

  1. LAYER MODEL (substrate vs implementation).

N/A — the diff is GitHub Actions workflow-only; it does not touch Dag, substrate declarations, cross-pass carriers, or implementation Rust modeling types.

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

Compliant — fail-closed pre-merge behavior is preserved in the required job: .github/workflows/ci.yml:126-127 runs cargo run -p v3-compiler --features bootstrap-regen-fresh --bin regen_bootstrap -- --verify, so stale bootstrap snapshots reject rather than being allowed when only ci is green.

  1. CODING.md.

N/A — no Rust implementation code, helper placement, method/free-function shape, or typed error surface is changed; this is workflow wiring.

  1. TESTING.md.

Compliant — for a CI-only change, the regression guard is at the right level: the required CI job directly runs the bootstrap verifier at .github/workflows/ci.yml:126-127, and the duplicate verifier in the heavier v3 job is removed with an explicit pointer back to that required gate at .github/workflows/ci.yml:267-268.

  1. LOCKED DESIGN DECISIONS.

N/A — the diff does not edit thesis/design documents or introduce a divergence from a locked substrate/design decision; it only removes the retired v2 workflow transport from CI.

  1. TRACKED vs UNTRACKED DEBT.

Finding — NON-BLOCKING, P5 / Scaffold Boundaries. The updated comment documents the gate’s purpose — “plus regen_bootstrap --verify so stale bootstrap_generated*.rs cannot merge” at .github/workflows/ci.yml:61-62 — and the workflow still carries that scaffold as v3 bootstrap snapshot freshness gate (--verify) at .github/workflows/ci.yml:126-127. What is missing in the new wording is the dissolution trigger for that temporary bootstrap-snapshot guard. Since the gate exists because committed bootstrap_generated*.rs snapshots are still live, it should keep a named trigger such as “remove when committed bootstrap snapshots dissolve as editable source / #1559” rather than becoming an untracked permanent-looking CI shape.

3. Verdict

APPROVE_WITH_COMMENTS. The functional CI change looks sound: v2 transport is removed, the required bootstrap freshness verifier remains fail-closed, and the duplicate v3 verifier is intentionally skipped. The only issue I see is debt hygiene in the updated comments: the bootstrap snapshot gate still looks scaffold-like but no longer names its dissolution trigger.

Addresses gpt-5-5-pro APPROVE_WITH_COMMENTS: the merge-blocking regen step
is interim scaffolding; comments now point to #1559 and the bootstrap
snapshot drift assessment doc so the gate is not mistaken for permanent CI.

Co-authored-by: Cursor <cursoragent@cursor.com>
@briansrls

Copy link
Copy Markdown
Contributor Author

Review metadata

  • Provider / model: codex / codex-default
  • Commit: a72b0b57 · Trigger: schedule
  • Comparison: origin/main @ b4203b5a ... review/pr-1701-a72b0b57 @ a72b0b57
  • Thinking: 36s wall

Verdict: APPROVE

This is a narrow CI-only diff. It removes the v2-backed workflow transport, keeps the required ci job fail-closed around the policy checks and regen_bootstrap --verify, and avoids duplicating that same bootstrap gate in v3. I don’t see a concrete violation of the pinned invariants, coding discipline, or testing discipline in the changed lines.

@briansrls

Copy link
Copy Markdown
Contributor Author

Re: manual api-review @ a72b0b57 (gpt-5-5-pro APPROVE_WITH_COMMENTS — P5 dissolution trigger)

Verified: the story/invariant sections matched ci.yml at that SHA; the P5 comment hygiene finding is valid — docs/audit/bootstrap-snapshot-drift-dissolution-assessment.md already ties removing this merge-blocking verify to #1559.

Pushed ca3902b7f: adds an explicit dissolution trigger in the ci job header comment (points to #1559 + the assessment doc) and extends the v3 de-dupe comment so the same trigger covers both places. Guardrail grep for v2[_-]compiler / src/v2/stage0 in this workflow remains empty.

@briansrls

Copy link
Copy Markdown
Contributor Author

Re: scheduled api-review @ a72b0b57 (Codex APPROVE)

Re-checked current branch tip ca3902b7f (workflow-only delta since that SHA is comment-only: named dissolution trigger for the bootstrap verify gate per prior review thread).

Codex’s functional read still holds: v2-backed CI transport is gone from this workflow; required ci keeps the shell policy steps + regen_bootstrap --verify; v3 does not rerun that verify (comment points at ci / #1543). grep -nE 'v2[_-]compiler|src/v2/stage0' .github/workflows/ci.yml is empty. No invariant/coding/testing violation surfaced in the changed YAML for this item.

— sent from quick-heron-61

@briansrls

Copy link
Copy Markdown
Contributor Author

Re: quoted comment about ca3902b7f / P5 dissolution trigger

That note is still accurate at current tip ca3902b7f: the ci job header includes the #1559 + docs/audit/bootstrap-snapshot-drift-dissolution-assessment.md dissolution lines (workflow ~67–69), the v3 de-dupe block repeats the same pointer (~270–272), the assessment doc still ends with the #1559 removal TODO (~82–83), and the forbidden-string guardrail grep on this workflow is still empty. No further commit for this relayed thread.

— sent from quick-heron-61

@briansrls

Copy link
Copy Markdown
Contributor Author

Review metadata

  • Provider / model: openai-pro / gpt-5-5-pro
  • Commit: ca3902b7 · Trigger: manual
  • Comparison: main @ b4203b5a ... work/g2-prereq-ci-no-v2 @ ca3902b7
  • Conversation: View conversation

1. Story of the diff

This PR retires the old v2-backed CI transport from the required ci job and narrows that job to the policy/bootstrap freshness role: the new comment explicitly says the legacy src/v2/ DAG-language compiler run is removed to cut wall time while the full compiler/test surface remains in the separate v3 job (.github/workflows/ci.yml:63-65). The load-bearing replacement is that ci still runs the v3 bootstrap freshness verifier, now named as v3 bootstrap snapshot freshness gate (--verify) and executed with cargo run -p v3-compiler --features bootstrap-regen-fresh --bin regen_bootstrap -- --verify (.github/workflows/ci.yml:129-130). The surrounding CI mechanics are then tightened to that narrower job shape: rustfmt only, v3-oriented cache key/path, target/ cache inclusion, and a shorter timeout (.github/workflows/ci.yml:73, .github/workflows/ci.yml:112, .github/workflows/ci.yml:116-127). Finally, the duplicate regen_bootstrap --verify step is removed from the v3 job and replaced with a comment documenting that the required ci job now owns the pre-merge fail-closed gate (.github/workflows/ci.yml:270-272).

2. Invariant categories

  1. LAYER MODEL (substrate vs implementation).

N/A — this is workflow YAML only; it does not touch Dag, substrate declarations, cross-pass substrate facts, or implementation types that live on the compiler model.

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

Compliant — fail-closed is preserved at the CI boundary: stale bootstrap snapshots are rejected by the required ci job via regen_bootstrap --verify rather than depending on the non-local v3 job duplicate (.github/workflows/ci.yml:129-130, .github/workflows/ci.yml:270-272).

  1. CODING.md.

N/A — no Rust implementation surface, helper placement, method-vs-function choice, error carrier, or naming/API shape is introduced; the only executable change is CI command wiring.

  1. TESTING.md.

Compliant — the relevant test-discipline choice is gate placement, not new test authoring: the bootstrap snapshot regression check remains behavior-driven and pre-merge by running regen_bootstrap --verify in ci (.github/workflows/ci.yml:129-130) while avoiding duplicate execution in v3 (.github/workflows/ci.yml:270-272).

  1. LOCKED DESIGN DECISIONS.

N/A — the diff references tracking/rationale for bootstrap snapshot dissolution, but it does not alter a locked design document, thesis claim, substrate target, or declared model contract (.github/workflows/ci.yml:67-69, .github/workflows/ci.yml:270-272).

  1. TRACKED vs UNTRACKED DEBT.

Compliant — the temporary bootstrap verify gate is documented as a tracked bridge with a named dissolution trigger and tracker: remove it when the committed bootstrap snapshot surface dissolves, tracked by #1559 with the audit rationale named in the workflow comment (.github/workflows/ci.yml:67-69). The v3-side comment repeats the same trigger for the skipped duplicate gate (.github/workflows/ci.yml:270-272).

3. Verdict

APPROVE. The diff is a contained CI transport cleanup: it removes the retired v2 workflow path while keeping the bootstrap freshness check fail-closed in the required job, and the remaining temporary gate has an explicit dissolution trigger. I did not find a substrate, modeling, testing, or debt-tracking issue that should block this PR.

@briansrls

Copy link
Copy Markdown
Contributor Author

Re: manual api-review @ ca3902b7 (gpt-5-5-pro APPROVE)

Cross-checked current tip ca3902b7f (same commit as the review SHA): workflow-only diff; header still documents v2 transport removal + full surface in v3 (~62–65); ci keeps regen_bootstrap --verify (~129–130) with rustfmt-only setup, v3-scoped cargo-ci cache including target/, 25 min timeout (~73, ~108–127); v3 skips the duplicate verify and documents ci ownership + #1543 + shared #1559 dissolution pointer (~270–272); extra dissolution block ~67–69 matches the TRACKED-debt callout. grep -nE 'v2[_-]compiler|src/v2/stage0' .github/workflows/ci.yml is empty.

No code change indicated; APPROVE aligns with the tree.

— sent from quick-heron-61

@briansrls

Copy link
Copy Markdown
Contributor Author

Review metadata

  • Provider / model: cursor / composer-2
  • Commit: ca3902b7 · Trigger: schedule
  • Comparison: origin/main @ b4203b5a ... review/pr-1701-ca3902b7 @ ca3902b7
  • Thinking: 20s wall

Findings: None. This diff only edits .github/workflows/ci.yml (CI implementation). It does not touch compiler substrate, diagnostics, or tests, so INVARIANTS.md, docs/modeling-discipline.md, CODING.md, and TESTING.md do not surface concrete violations here. The new comment block names policy, the #1543 / #1559 dissolution framing, and a doc pointer for the bootstrap verify gate — consistent with bounded, named tracked debt rather than an undocumented scaffold.

Verdict: APPROVE — The change cleanly drops the v2 build/run transport from the required ci job while keeping regen_bootstrap --verify there (ci.yml gate), deduplicates the same verify from v3 with an explicit rationale, and leaves cargo clippy on the v3 job (e.g. ci.yml around the clippy steps). No rubric-grounded issues in the diff.

@briansrls

Copy link
Copy Markdown
Contributor Author

Re: scheduled api-review @ ca3902b7 (Cursor / composer-2 APPROVE)

Re-verified on current branch tip 4f9371bc6 (merge of origin/main onto the PR; .github/workflows/ci.yml slice unchanged in substance): still CI-only for this concern; ci carries policy + regen_bootstrap --verify with #1543 / #1559 + audit-doc framing in comments; v3 keeps cargo clippy -p v3-compiler (default + bootstrap-regen-fresh) and does not duplicate the verify step (comment only ~270+). grep -nE 'v2[_-]compiler|src/v2/stage0' .github/workflows/ci.yml remains empty.

No rubric-grounded delta vs that review; no commit for this item.

— sent from quick-heron-61

@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: 4f9371bc · Trigger: schedule
  • Thinking: 131s wall

Non-blocking — Strengths

  • .github/workflows/ci.yml The PR cleanly removes the v2 workflow transport while keeping the interim bootstrap snapshot gate documented, bounded, and tied to the #1559 dissolution trigger.

✅ No blocking concerns.

@briansrls

Copy link
Copy Markdown
Contributor Author

Review metadata

  • Provider / model: claude / claude-opus-4-7
  • Commit: 4f9371bc · Trigger: schedule
  • Comparison: origin/main @ b8c9821a ... review/pr-1701-4f9371bc @ 4f9371bc
  • Thinking: 10s wall

APPROVE — CI-only diff. Removes the v2 release transport from the ci job, keeps the bootstrap snapshot --verify gate (now consolidated to one location with a documented dissolution trigger at #1559), drops clippy from this job's toolchain (clippy lives in the v3 job), and tightens the timeout. The retained verify step preserves the fail-closed pre-merge gate from #1543. No substrate or modeling concerns; comments cite the tracked dissolution trigger as required for a tracked bridge.

@briansrls

Copy link
Copy Markdown
Contributor Author

Re: scheduled api-review @ 4f9371bc (Codex — strengths / no blockers)

Confirmed on tip 4f9371bc6: ci.yml still removes the v2-backed workflow transport (per job comments ~62–64), keeps regen_bootstrap --verify in the required ci job (~129–130), and documents #1543 + #1559 dissolution with the audit doc pointer (~67–69, ~270–272). Guardrail grep -nE 'v2[_-]compiler|src/v2/stage0' on this workflow is still empty. Nothing to land for this thread.

— sent from quick-heron-61

@briansrls

Copy link
Copy Markdown
Contributor Author

Re: scheduled api-review @ 4f9371bc (Claude APPROVE)

Checked 4f9371bc6: ci is still policy + regen_bootstrap --verify only (comments cover #1543 + #1559 / audit doc ~60–69, verify ~129–130), 25 min timeout, toolchain rustfmt only (~112); v3 installs rustfmt, clippy (~150) and runs cargo clippy -p v3-compiler (~260+); duplicate verify remains commented out in v3 (~270–272). Guardrail grep -nE 'v2[_-]compiler|src/v2/stage0' on this workflow is empty. APPROVE matches the file; no change for this item.

— sent from quick-heron-61

@briansrls

Copy link
Copy Markdown
Contributor Author

Review metadata

  • Provider / model: openai-pro / gpt-5-5-pro
  • Commit: 4f9371bc · Trigger: manual
  • Comparison: main @ b8c9821a ... work/g2-prereq-ci-no-v2 @ 4f9371bc
  • Conversation: View conversation

1. Story of the diff

This PR turns the required ci job from a v2-backed transport gate into a narrow policy/bootstrap freshness gate. The added job comment says the old DAG-language compiler path from src/v2/ is intentionally removed to cut wall time, while the full compiler/test surface remains in v3 and the old local reproduction path is preserved as dsl/gunbc/tools/ci_runner.dag / run_ci_pipeline (.github/workflows/ci.yml:60-66). The job timeout is reduced to 25 minutes (.github/workflows/ci.yml:73), the Rust setup no longer installs clippy for this job (.github/workflows/ci.yml:112), the cache is retargeted to the v3 compiler/bootstrap gate (.github/workflows/ci.yml:116-124), and the required job still runs regen_bootstrap --verify (.github/workflows/ci.yml:129-130). The duplicate regen_bootstrap --verify step is then removed from the v3 job and replaced with a comment documenting that the required ci job is now the pre-merge fail-closed gate (.github/workflows/ci.yml:270-272).

2. Invariant categories

  1. LAYER MODEL (substrate vs implementation).

N/A — this is CI workflow YAML only; it does not touch Dag storage, substrate declarations, cross-pass facts, or dag.rs.

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

Compliant — fail-closed/bootstrap freshness is preserved in the required job via cargo run -p v3-compiler --features bootstrap-regen-fresh --bin regen_bootstrap -- --verify at .github/workflows/ci.yml:130, and the temporary committed-snapshot gate has an explicit dissolution trigger at .github/workflows/ci.yml:67-69.

  1. CODING.md.

Compliant — no Rust implementation API is changed; the impure command remains at the workflow/regen edge and is named by contract rather than mechanism drift: v3 bootstrap snapshot freshness gate (--verify) at .github/workflows/ci.yml:129, with the exact command on .github/workflows/ci.yml:130.

  1. TESTING.md.

Compliant — the diff does not add production behavior requiring unit tests; instead, it keeps the relevant regression as a required CI check by moving/retaining regen_bootstrap --verify in ci (.github/workflows/ci.yml:129-130) and explicitly skips only the duplicate verifier in v3 (.github/workflows/ci.yml:270-272).

  1. LOCKED DESIGN DECISIONS.

N/A — the diff does not reference or alter a locked substrate/design decision; it references an audit rationale and tracking issue for bootstrap snapshot dissolution at .github/workflows/ci.yml:69 and .github/workflows/ci.yml:272.

  1. TRACKED vs UNTRACKED DEBT.

Compliant — the remaining temporary bootstrap snapshot gate is tracked: the scope is bounded to “the verify step below” and the “committed bootstrap snapshot surface” (.github/workflows/ci.yml:67-68), the dissolution trigger is named (.github/workflows/ci.yml:67-69), and documentation/tracking is cited via #1559 plus the audit path (.github/workflows/ci.yml:69).

3. Verdict

APPROVE

The PR removes the retired v2 workflow transport without dropping the load-bearing bootstrap freshness check from the required pre-merge path. I did not find a substrate, modeling, testing, or debt-tracking issue in the changed lines.

@briansrls
briansrls merged commit 1e03ace into main May 4, 2026
4 checks passed
@briansrls
briansrls deleted the work/g2-prereq-ci-no-v2 branch May 4, 2026 23:27
@briansrls

Copy link
Copy Markdown
Contributor Author

Re: manual api-review @ 4f9371bc (gpt-5-5-pro APPROVE)

#1701 is merged (1e03ace8a47556cb410adbd1c65fc0d7d3ec7bca on main ancestry). Re-checked origin/main at fa0f7bf75: the workflow story the review cites is still present — ci job comments ~60–69 (v2 transport removed, #1559 dissolution), 25 min timeout, rustfmt-only in ci, v3-scoped cache, regen_bootstrap --verify ~129–130, v3 de-dupe comment ~270–272. Guardrail grep on ci.yml remains empty. APPROVE still matches main; no post-merge fix indicated for this item.

— sent from quick-heron-61

briansrls added a commit that referenced this pull request May 4, 2026
…— unlocks G-1 implementation chain (#1711)

## Summary

PM-authored S-1 brief per Director ask at [#828 inbox-4374518930](#828) (relayed via PB Mgr read-back at [#1134 comment-4375362161](#1134 (comment))).

#1701 made G-2-prereq-ci green (CI v2 step deleted; 590s parallel CI savings). Next gate is G-1 (Cargo.lock v2 dev-deps deletion), STOP-gated on the missing PM-authored S-1 worker brief that the audit names as prerequisite. PB Manager could not author S-1 (audit explicitly names PM as owner per `docs/audit/t-v2-retirement-audit.md` §3.1 ownership table).

This brief consumes PB's input packet (`docs/briefs/r3-pb-tv2-s1-input-packet.md`; #1149) + audit (#1338) + migration matrix (#1346/#1379) + G-1 readiness receipt (#1446) and ratifies the 6 PB-recommended defaults.

## PM decisions ratified

| # | Decision | PM ratification | Owner |
|---|---|---|---|
| 1 | §3.1 (`p0_std_render_repeat_string_test.rs`) disposition | **REPLACE** with v3 evaluator equivalence-corpus row (PB default) | PB executes once R2-Evaluator surface ready |
| 2 | §3.2 (`m2_substrate_inhabitance_test.rs::v3_kernel_algebra_profile_mirror_matches_v2_stage0_authority`) routing | **Authority on `dsl/std/algebra.dag`**; Substrate-side authority migration first → PB retires parity test | Substrate (authority); PB (parity test) |
| 3 | §3.3 Cargo edges deletion mechanics | **Atomic with second-of-§3.1-or-§3.2-to-land** | PB |
| 4 | Legacy emit chain (`rust_method_template_contracts.dag`) | **Delete on S-4 + v3 emitter end-to-end consumption** | PM gate, PB execute, T-Ground-LanguageSpec scope-E cross-ref |
| 5 | `verification.dag` convergence routing | **Route to Substrate; Director arb if Substrate cannot scope** (G-2-only; not blocking G-1) | Substrate (design); Director (arb) |
| 6 | S-1 scope coverage | **Cover both G-1 dispositions AND S-2/S-3/S-4 prereq chain** | PM |

## Worker dispatch sequence (per cool-stag's recommendation)

1. **Pop A v3 property-test migration** (immediately dispatchable; S-1-only): port four internal v2-test property receipts to live v3 surfaces — `prop_run_steps_termination/foo` + Peano materialization cap + `behavior_round_trip/bar`. Recommended worker: silent-boar or witty-tern (PB Manager picks).
2. **B.1 (peano_arith consumer)**: cascade-gated on R2-Evaluator surface readiness.
3. **B.2 (workflow-dispatcher parity / kernel_algebra_profile authority)**: cascade-gated on Substrate-side authority migration.
4. **G-1 deletion of Cargo.lock v2 dev-deps**: cascade-gated on §3.1 + §3.2 closing.

## G-2 prereq chain enumerated

S-1 + S-2 + S-3 + S-4 + G-1 → G-2. Each step's owner + executor named so workers don't reconstruct from audit.

## Cross-program coordination (PM relays in parallel)

- Substrate Manager (jolly-ram-908 #1130) — Decision 2 authority migration ask + Decision 5 verification.dag design call ask
- If Substrate cannot scope Decision 5, escalate to Director (zesty-bear-812 #828)

## R3 Debt Receipt

- **Debt paid**: S-1 was the missing PM-authored prerequisite blocking G-1 implementation since 2026-04-30 lane creation. PM-direct authoring per Director's first option ("author S-1 brief PR") consumes PB's input packet without requiring delegation. PB Manager has 2 dispatchable slots ready for Pop A immediately upon brief landing.
- **Debt found + routed**: S-2 (Substrate authority migration for `kernel_algebra_profile`) + S-5 (`verification.dag` convergence design call) are routed to Substrate Manager in parallel with this brief. T-V2-Retirement standing-program-style coordination: PM authors briefs; Substrate executes substrate-side; PB executes PB-side.
- **No new debt**: brief consumes existing audit/matrix/readiness-receipt authority; doesn't introduce new disposition.

Pre-cascade brief authoring permitted per `r3-structure.md:412` Director-discretionary rule (T-V2-Retirement carries internal cascade gate on T-FixedPoint + T-LensProducer-Retirement; pre-cascade brief authoring is explicitly permitted under same Director-discretionary rule).

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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