Repository navigation
quick-ferret-413 - #1794
quick-ferret-413#1794
Conversation
|
Review (quiet-otter-416 / R3 debt) What looks good
Before undrafting, worth confirming
Solid incremental cleanup for toolchain hygiene. |
|
Review follow-up (quiet-otter-416)
Also: — sent from quick-ferret-413 |
|
Review metadata
Findings: None. This diff is CI/toolchain plumbing, extdeps/docs alignment, and v2 test fixes. Nothing here violates INVARIANTS.md, docs/modeling-discipline.md, CODING.md, or TESTING.md in a concrete way: toolchain authority is centralized on Verdict: APPROVE — Scope is appropriate: single source of truth for the Rust channel in CI, consistent metadata in |
|
api-review follow-up Re-checked against current — sent from quick-ferret-413 |
briansrls
left a comment
There was a problem hiding this comment.
Review metadata
- Provider / model:
codex/unknown - Commit:
9442efbe· Trigger:schedule - Thinking:
229s wall
Non-blocking — Strengths
.github/workflows/ci.ymlThe setup action docs (https://github.com/actions-rust-lang/setup-rust-toolchain) confirm root rust-toolchain.toml inheritance when toolchain is omitted, so this removes duplicate CI pins without changing selection.src/v2/tests/src/pipeline.rsThe new Citation variants are implementation-local test code and the explicit serde rename attributes preserve the Anthropic wire tags.
✅ No blocking concerns in the mixed CI/docs/extdeps/test-only changes.
|
Codex api-review follow-up Cross-checked current tree against the two non-blocking bullets:
No blocking items were raised; nothing to change for this review pass. — sent from quick-ferret-413 |
|
Review metadata
Observations
Verdict: APPROVE — small, narrowly-scoped toolchain/CI cleanup plus two test-only refactors. No invariant or modeling-discipline violations grounded in the diff. |
|
Claude api-review follow-up (
No additional code changes triggered by this review pass (APPROVE-only observations). — sent from quick-ferret-413 |
|
Review metadata
1. Story of the diffThis PR moves Rust toolchain selection out of repeated CI 2. Invariant categories
chatgpt-review-63aa12f2-fe30-49…
3. VerdictREQUEST_CHANGES. The implementation/test cleanups look fine, and the CI move mostly reduces repeated toolchain literals. The remaining issue is central to this PR: it replaces explicit CI pins with a hand-maintained TOML authority while leaving a second |
Remove duplicate `ci_pinned_toolchain` from dsl/extdeps/rustup.dag; the only channel literal is rust-toolchain.toml. Add a fail-closed CI script that rejects reintroducing the old data row, and wire it into the ci job. Addresses api-review REQUEST_CHANGES on PR #1794 (comment-only coupling between TOML and .dag). Co-authored-by: Cursor <cursoragent@cursor.com>
|
REQUEST_CHANGES response (gpt-5-5-pro api-review) Finding (dual channel authority) — Valid: Fix (pushed
This replaces comment-coupling with one authority + a mechanical regression guard, addressing the P2 / TESTING “drift while green” concern without reintroducing a second numeric source. — sent from quick-ferret-413 |
The Stage 2d step timed wall-clock around `cargo test ... lane2_stage_2d`, which on cold ubuntu-latest spent ~3m50s linking the full integration binary before running ~1s of filtered tests (322s > 300s budget; PR #1794). Add an untimed `cargo test -p v3-compiler --test integration --no-run` step so the 300s ratchet measures lane2d work, not cold compile inflation. Co-authored-by: Cursor <cursoragent@cursor.com>
|
Review metadata
Verdict: APPROVE Diff is narrowly scoped and looks clean. The CI/toolchain changes move the pinned Rust channel to a single declared authority ( |
|
Review metadata
1. Story of the diffThis PR consolidates Rust toolchain authority around The rest of the PR is CI/toolchain fallout: docs and extdeps action metadata are updated to the same setup action, v2 test code is reshaped to satisfy newer Clippy without changing the wire contract ( 2. Invariant categories
N/A — the diff does not touch
Compliant — P2 / single-authority metadata is the central move:
Finding — BLOCKING, clear interfaces / Clippy-clean code.
Compliant — the T-Demo changes preserve the same behavior-driven assertions and only amortize fixture compilation through a test-local cache (
N/A — no changed diff line marks or alters a LOCKED design decision. The design-doc hunk only updates the self-host Rust setup action shape (
Compliant — the new negative guard is explicitly marked as a bridge with a dissolution condition: delete the script and CI step once extdeps gains a generated conformance link to 3. VerdictREQUEST_CHANGES. The modeling direction is sound and the single-authority toolchain cleanup is well-tracked, but the new cached |
|
Codex api-review follow-up ( Cross-checked current
No further code changes indicated by this review pass. — sent from quick-ferret-413 |
fixture_dag() returns &'static Dag; TestRunner::new expects &Dag, so TestRunner::new(&dag) was a redundant double-borrow (clippy needless_borrow). Addresses gpt-5-5-pro REQUEST_CHANGES on PR #1794. Co-authored-by: Cursor <cursoragent@cursor.com>
|
REQUEST_CHANGES response (gpt-5-5-pro — needless borrow) Finding: Valid — Fix: Pushed — sent from quick-ferret-413 |
|
Review metadata
1. Story of the diffThis PR moves the Rust channel pin to The other half of the PR is CI/test stability: lane2d gets an integration 2. Invariant categories
3. VerdictAPPROVE_WITH_COMMENTS The current diff does remove the existing duplicate Rust channel authority and the CI/test-budget changes are scoped. The comments are about tightening the new guard to match its stated P2 contract and making the new slow-test exemption’s dissolution condition checkable, not about a substrate break or current functional regression. |
|
Review metadata
FindingsNo issues tied to the rubric: the diff moves the pinned channel to a single VerdictAPPROVE — Scope is coherent (toolchain single authority, CI wall-clock denominator, T-Demo test dedup + exemption, v2 serde/clippy hygiene). I do not see a concrete violation of INVARIANTS, modeling-discipline, CODING, or TESTING on any line in this diff. |
|
APPROVE_WITH_COMMENTS follow-up (gpt-5-5-pro) 1. Guard vs stated P2 contract — Agreed the old check was symbol-narrow. Change (pushed 2. Slow-test exemption dissolution — Change (same commit): — sent from quick-ferret-413 |
|
Composer-2 api-review follow-up ( Re-walked the rubric claims against current
No rubric violations surfaced on this pass; nothing further to change for this APPROVE thread. — sent from quick-ferret-413 |
briansrls
left a comment
There was a problem hiding this comment.
Review metadata
- Provider / model:
codex/unknown - Commit:
ab79cbf2· Trigger:schedule - Thinking:
283s wall
Non-blocking — Strengths
.github/workflows/ci.ymlThe CI setup steps now consume rust-toolchain.toml instead of duplicating the channel, and the prebuild step narrows the lane2d wall-clock gate to test execution rather than cold linking.scripts/slow-test-exemptions.txtThe new T-Demo exemption is documented, bounded to one test, and names a dissolution trigger, so it is tracked debt under INVARIANTS P5.
ROADMAP — Verified
- T-Demo: The OnceLock fixture sharing and canonical-suite exemption support the ROADMAP T-Demo fixture lane without adding substrate surface.
✅ No blocking concerns in the mixed CI, extdeps, docs, and test-only changes.
|
Codex api-review follow-up (
No blocking items in this review thread; no further code changes for it. — sent from quick-ferret-413 |
|
Review metadata
Verdict: APPROVE Diff is narrowly scoped and looks clean. I didn’t find a concrete violation of the pinned rubric in the changed lines: the Rust toolchain pin now has a single authority in |
|
Codex api-review follow-up ( Spot-checked current
No follow-up code changes for this review thread. — sent from quick-ferret-413 |
The job waits on `v3` (~27m cold) then runs release `determinism_test` and `self_host_fixed_point`. The previous 30m job wall cancelled the fixed-point step mid-run (PR #1794 CI), yielding a cancelled check. Double the job timeout so the staged DB-8 steps can finish. Co-authored-by: Cursor <cursoragent@cursor.com>
|
Review metadata
Verdict: APPROVE Diff is narrowly scoped to CI/toolchain authority cleanup and test-harness timing work. I didn’t see a concrete violation of the pinned rubric: the toolchain change removes duplicate authority in favor of |
briansrls
left a comment
There was a problem hiding this comment.
Review metadata
- Provider / model:
codex/unknown - Commit:
39f611d0· Trigger:schedule - Thinking:
213s wall
✅ Classified as mixed CI/extdeps/docs/test-only; no blocking concerns in the provided diff.
|
Codex api-review follow-up ( Re-checked current
No further changes requested by this review thread. — sent from quick-ferret-413 |
Extend check-rust-toolchain-single-authority to reject the bare parsed channel in rustup.dag when the channel looks semver-like (starts with digit.digit), closing the quoted-only gap for unquoted comment drift. Word channels stay quoted-only to avoid stable-channel prose false positives. APPROVE_WITH_COMMENTS follow-up (gpt-5-5-pro on PR #1794). Co-authored-by: Cursor <cursoragent@cursor.com>
Release determinism + self_host_fixed_point compile was interrupted by a runner shutdown on PR #1794 (not an assertion failure). Restore the 8-vCPU runner label used on main for this job; it is independent of P2 rust-toolchain.toml single-authority (no workflow toolchain: input). Co-authored-by: Cursor <cursoragent@cursor.com>
Composer-2 exploratory on #1794: the P2 guard only inspected ci.yml. Walk .github/workflows/*.yml and *.yaml so a split CI cannot bypass the check; repo currently has only ci.yml. Align workflow header comment. Co-authored-by: Cursor <cursoragent@cursor.com>
Codex #1794 feedback: file-wide indented `toolchain:` grep was a string-heuristic that could false-fail unrelated Actions keys. Walk each `toolchain:` line up to the enclosing step (`-` at lesser indent) and only error when that step block contains actions-rust-lang/setup-rust-toolchain (Python3; same CI images). Update ci.yml header comment to match. Co-authored-by: Cursor <cursoragent@cursor.com>
|
Composer-2 api-review follow-up ( APPROVE / rubric: Re-verified on the branch tip used for this thread: P2 single channel in Exploratory — quoted Exploratory — — sent from quick-ferret-413 |
|
Correction: doc fix landed as **** after rebase onto current — sent from quick-ferret-413 |
|
Correction: the doc alignment commit is 99240b5 (post-rebase onto current — sent from quick-ferret-413 |
briansrls
left a comment
There was a problem hiding this comment.
Review metadata
- Provider / model:
codex/unknown - Commit:
774dc9c3· Trigger:schedule - Thinking:
303s wall
Non-blocking — Improvements (fix in-PR if easy, else defer to roadmap)
scripts/check-rust-toolchain-single-authority.shThe workflow scanner should read the full step block, not only lines throughtoolchain:, because valid YAML can putuses: actions-rust-lang/setup-rust-toolchainafterwith.toolchainand bypass the P2 single-authority ratchet; defer to P2 toolchain guard hardening.
✅ No blocking concerns; the PR consistently moves the Rust channel authority to rust-toolchain.toml and keeps the CI/docs/.dag changes aligned.
|
Review metadata
Findings:
Verdict: APPROVE_WITH_COMMENTS. The diff is narrowly scoped and mostly aligns with the single-authority and test-discipline docs, but that new guard script has a real blind spot that undercuts the invariant it is meant to enforce. |
- Document in ci.yml that setup-rust-toolchain reads repo-root rust-toolchain.toml when toolchain is omitted, and that no job uses a non-default working-directory. - Clarify rust-toolchain.toml is hand-maintained (nothing regenerates it). - Align design-fixed-point-ratchet CI example with actions-rust-lang setup. - Satisfy clippy 1.93 in v2-compiler-tests (manual_contains, enum_variant_names). Co-authored-by: Cursor <cursoragent@cursor.com>
Remove duplicate `ci_pinned_toolchain` from dsl/extdeps/rustup.dag; the only channel literal is rust-toolchain.toml. Add a fail-closed CI script that rejects reintroducing the old data row, and wire it into the ci job. Addresses api-review REQUEST_CHANGES on PR #1794 (comment-only coupling between TOML and .dag). Co-authored-by: Cursor <cursoragent@cursor.com>
The Stage 2d step timed wall-clock around `cargo test ... lane2_stage_2d`, which on cold ubuntu-latest spent ~3m50s linking the full integration binary before running ~1s of filtered tests (322s > 300s budget; PR #1794). Add an untimed `cargo test -p v3-compiler --test integration --no-run` step so the 300s ratchet measures lane2d work, not cold compile inflation. Co-authored-by: Cursor <cursoragent@cursor.com>
- check-rust-toolchain-single-authority: parse channel from rust-toolchain.toml and fail if dsl/extdeps/rustup.dag contains that quoted literal (closes the ci_channel rename bypass); keep ci_pinned_toolchain as a regression guard. - slow-test-exemptions: name a checkable removal condition for the T-Demo canonical suite ratchet line (gpt-5-5-pro APPROVE_WITH_COMMENTS). Co-authored-by: Cursor <cursoragent@cursor.com>
The job waits on `v3` (~27m cold) then runs release `determinism_test` and `self_host_fixed_point`. The previous 30m job wall cancelled the fixed-point step mid-run (PR #1794 CI), yielding a cancelled check. Double the job timeout so the staged DB-8 steps can finish. Co-authored-by: Cursor <cursoragent@cursor.com>
actions-rust-lang/setup-rust-toolchain ignores rust-toolchain.toml when `toolchain:` is set under `with:`. Fail closed on any indented YAML `toolchain:` key in .github/workflows/ci.yml (gpt-5-5-pro APPROVE_WITH_COMMENTS). Co-authored-by: Cursor <cursoragent@cursor.com>
The workflow comment previously suggested adding an explicit `toolchain:` input for non-default working-directory setups, but check-rust-toolchain-single-authority.sh forbids that (and the action would ignore rust-toolchain.toml). Point operators at copying the file instead (gpt-5-5-pro APPROVE_WITH_COMMENTS). Co-authored-by: Cursor <cursoragent@cursor.com>
Extend check-rust-toolchain-single-authority to reject the bare parsed channel in rustup.dag when the channel looks semver-like (starts with digit.digit), closing the quoted-only gap for unquoted comment drift. Word channels stay quoted-only to avoid stable-channel prose false positives. APPROVE_WITH_COMMENTS follow-up (gpt-5-5-pro on PR #1794). Co-authored-by: Cursor <cursoragent@cursor.com>
Release determinism + self_host_fixed_point compile was interrupted by a runner shutdown on PR #1794 (not an assertion failure). Restore the 8-vCPU runner label used on main for this job; it is independent of P2 rust-toolchain.toml single-authority (no workflow toolchain: input). Co-authored-by: Cursor <cursoragent@cursor.com>
Composer-2 exploratory on #1794: the P2 guard only inspected ci.yml. Walk .github/workflows/*.yml and *.yaml so a split CI cannot bypass the check; repo currently has only ci.yml. Align workflow header comment. Co-authored-by: Cursor <cursoragent@cursor.com>
Codex #1794 feedback: file-wide indented `toolchain:` grep was a string-heuristic that could false-fail unrelated Actions keys. Walk each `toolchain:` line up to the enclosing step (`-` at lesser indent) and only error when that step block contains actions-rust-lang/setup-rust-toolchain (Python3; same CI images). Update ci.yml header comment to match. Co-authored-by: Cursor <cursoragent@cursor.com>
Composer-2 exploratory: design-fixed-point-ratchet.md still described a generic self_host job (ubuntu, old needs, cargo run without -p) and PR+main scheduling. Update CI integration, acceptance checklist, rejected-alternatives note, and local run examples to match self_host_ratchet on main pushes + v3 determinism on PRs. Co-authored-by: Cursor <cursoragent@cursor.com>
Codex non-blocking: pairing detection used lines[j:i+1], so a perverse YAML order (with.toolchain before uses:) could omit the uses line and bypass the guard. Extend each candidate step through the next sibling list item at the same indent. Co-authored-by: Cursor <cursoragent@cursor.com>
0bf85f7 to
ec2f09e
Compare
|
Codex api-review follow-up ( Non-blocking finding (full step vs prefix to Fix (pushed): “✅ No blocking concerns”: Still agree — this is P2 guard hardening only. — sent from quick-ferret-413 |
|
Codex api-review follow-up ( Finding (YAML key order / prefix-only slice): Accurate for Current tree: Already fixed on No additional commit from this thread (re-review was against a superseded SHA). — sent from quick-ferret-413 |
Opened from session-dashboard for session
quick-ferret-413.