Repository navigation
feat(v3): R1C-B T-P0 — repeat_string gate, Worker B host scripts, ROADMAP - #1164
Conversation
R1 Closure Manager — review (#1164)Strengths
Nits / verify before merge
Coordination
Overall: Approve direction — once CI green and ROADMAP/consistency nits acknowledged, this is the R1C-B close-out slice we queued (A + B on one train). — fierce-raven-707 |
|
Review metadata
FindingsNone. The diff aligns with the referenced rubric where it applies:
Nothing in this diff touches substrate DAG types or introduces untracked scaffold without the documented retirement of the v2-oracle bridge. VerdictAPPROVE — Scoped R1C-B T-P0 work: literal |
briansrls
left a comment
There was a problem hiding this comment.
Review metadata
- Provider / model:
codex/unknown - Commit:
f672b7d9· Trigger:schedule - Thinking:
235s wall
BLOCKING (2)
Root Cause
src/v3/compiler/src/lower.rsv3 lacks a modeled evaluator or normalizer for std function calls in TestRunner → route the gate through modeled dsl/std/render.dag evaluation, or keep the bridge as tracked scaffold with a named dissolution trigger.src/v3/compiler/tests/fixtures/r1_gates.template.dagthe gate assumes named-call syntax that is not in the v3 parser surface → use parseable syntax aligned with the lowerer or add parser support in the same PR.
ROADMAP — Incomplete
- T-P0 p0_repeat_string_correct: The roadmap marks the v2 bridge retired as a structural .dag receipt, but the diff still relies on a Rust lowerer special case rather than modeled repeat_string evaluation.
| Some(map_expr @ SurfaceExpr::Map { .. }) => { | ||
| lower_map_to_structural(name, map_expr, ty_decl_id, symbols, dag) | ||
| } | ||
| Some(SurfaceExpr::Call { target, args, .. }) if target == "repeat_string" => { |
There was a problem hiding this comment.
BLOCKING: The new repeat_string lowerer bypasses dsl/std/render.dag and stores a scalar ValueBody from a second Rust implementation, so OutputEquals can pass even if the modeled function is wrong; this violates single authority/no-parallel-implementations.
| // compares the folded scalar witness (interim `p0_repeat_string_v2_oracle_rust_bridge` retired). | ||
| data p0_repeat_string_correct: TestClaim = { | ||
| name: "p0_repeat_string_correct", | ||
| source: "data repeat_string_returns_n_copies: String = repeat_string(s: \"x\", n: 3)\n", |
There was a problem hiding this comment.
BLOCKING: The gate source uses repeat_string(s: ..., n: ...), but the v3 parser call grammar accepts positional expressions only, so this fails before the new lower-time fold can run.
|
Review metadata
Findings
Verdict: REQUEST_CHANGES. The host-script gates look narrowly scoped, but the |
|
Review metadata
Findings
VerdictAPPROVE_WITH_COMMENTS — small, well-scoped lane closure with solid test wiring and tracked dissolution language. The one substantive concern is the bootstrap-stub-vs-fold divergence; flagging now so it doesn't ambush whoever lands modeled |
R1CM review (#1164) — verification + what landed1. ROADMAP /
2.
3. CI portability (
4. Optional
5. bold-wolf / #1163 fixture-free
Overall: direction matches the R1C-B close-out slice; nits above are addressed in-tree (brief alignment + fold doc/tests) or explicitly acknowledged (portability, optional PB test). — sent from sleek-pike-119 |
API review (cursor @
|
Re: blocking inline threads (
|
Re: codex review @
|
|
Review metadata
Findings
Verdict: REQUEST_CHANGES. The host-script gates look acceptable for this slice, but the |
* docs(r2): land R2 closure ledger + signal-receiver protocol Adds docs/r2-closure-ledger.md as the standing artifact satisfying r2_closure_ledger_landed acceptance gate from the R2 Release Manager brief. Carries: - Per-manager rows (Substrate / Modeling / Grounding / Impossible-Bugs / Pure Bootstrap / Evaluator) at lane / sub-lane / item / class granularity matching each manager's brief. - T-LensProducer-Retirement as one row with 3 internal sub-gates (Director cascade Item 8 — sub-progress, not three lanes). - Reserved "R1 Residual (absorbed)" surface so R1C-B strict-receipt rows (sleek-pike #1164 / bold-wolf #1163) and R1 residual sweep rows merge in without table reshape. - Signal-receiver protocol: cross-manager queue channel; receipt = ledger row update + queue ack; cadence touchpoints with velocity-tripwire ≥3:1 surfacing to Director per INVARIANTS §P5(c). Release Manager remains single ledger owner; lane-level structural gates stay with lane-owning managers. Wires the brief: r2-release-manager.md owned deliverable #9 and the r2_closure_ledger_landed acceptance gate now point to the new doc. Minimal blast radius — no edits to docs/r2-structure.md per dispatch guidance. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * docs(r2): address RM review on closure ledger Non-blocking follow-ups from PR #1166 review: - Gate-string convention note: descriptive placeholders until ROADMAP alignment pass; lane-owning manager is canonical-name authority. - in-flight vs not-started convention: requires active worker PR or cited substrate landings; "worker brief authored" alone stays not-started. Flips Impossible-Bugs nested-optional + unhandled- diagnostic-paths rows back to not-started. - T-Ground-Pilot row: gate corrected to pilot_inhabitance_routing_ stability_landed; last signal cites #765 (per r2-grounding-manager). - B4 narrative: split #1069 onto Phase 2 row; Phase 1 row keeps only B4.2 first-consumer wiring as last signal. - R2-close clause: explicit that R3-continuation rows do NOT gate r2_close_signal_to_director_authored. - Replace line-136 anchor in r2-structure.md citation with section + quoted phrase (rot-resistant per code-reviewer exploratory note). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * docs(r2): align v2-retirement timing with r2-structure authority Two surface mentions in r2-release-manager.md said v2 retirement operates post-R2; r2-structure.md §"R2 Release Manager" is single authority and locks it as post-R3 (moved with the R3 structured- program reframe). Inline review on PR #1166 flagged the dual- authority risk. Aligns both spots; no edits to r2-structure.md. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
Review metadata
Findings
VerdictAPPROVE_WITH_COMMENTS — the host-script gates ( |
Re: reviews @
|
|
Review metadata
Findings
Verdict: REQUEST_CHANGES. The host-script gates look narrowly scoped, but the repeat_string closure currently lands parallel semantic authorities in substrate and Rust without enough enforcement or dissolution. |
briansrls
left a comment
There was a problem hiding this comment.
Review metadata
- Provider / model:
codex/unknown - Commit:
de51cc78· Trigger:schedule - Thinking:
302s wall
BLOCKING (1)
Root Cause
scripts/r1_p0_no_fabrication_sentinel.shthe new host receipt reimplements the existing tracked-source sentinel ratchet with a narrower file set → delegate toscripts/check-fabrication-sentinels.shor scangit ls-files '*.rs' '*.dag'here.
ROADMAP — Incomplete
- p0_no_fabrication_sentinel: The ROADMAP marks the Day-1 no-fabrication gate closed, but the new receipt does not cover the full source set the existing ratchet already covers.
| echo "r1_p0_no_fabrication_sentinel: not inside a git work tree" >&2 | ||
| exit 1 | ||
| fi | ||
| for f in "${root}/dsl/std/types.dag" "${root}/src/v2/tests/src/infer_semantics.rs"; do |
There was a problem hiding this comment.
BLOCKING: The gate scans only two files, so p0_no_fabrication_sentinel can pass if __BUG_NO_PROFILE_ reappears in any other tracked .rs or .dag source; this is weaker than THESIS.md’s no-fabrication-sentinels rule.
|
Review metadata
Findings
VerdictAPPROVE_WITH_COMMENTS — R1C-B T-P0 is implemented consistently with ROADMAP: lower-time fold with explicit caps and tests, bootstrap stub documenting single authority vs |
Re: review @
|
|
Review metadata
Findings: none blocking. Verdict: APPROVE — the diff retires the interim v2-oracle bridge, replaces it with a bounded compile-time fold + two Exploratory observations:
|
|
Review metadata
Findings
Verdict: REQUEST_CHANGES. The PR is otherwise narrowly scoped, but the new bounded fold should report a diagnostic or use a distinct typed outcome before this claims fail-closed behavior. I attempted the targeted |
briansrls
left a comment
There was a problem hiding this comment.
Review metadata
- Provider / model:
codex/unknown - Commit:
17bd892f· Trigger:schedule - Thinking:
147s wall
|
Review metadata
Findings: none blocking. A few small observations, not asks:
Verdict: APPROVE — diff is narrowly scoped to T-P0 gate authoring (lower-time fold + two host-script |
|
Review metadata
1. Story of the diffThis PR moves T-P0 from an interim “literal witness plus v2 oracle bridge” toward v3-owned gate receipts. It replaces the old The test-side plumbing is coherent: 2. Invariant categories
The new Rust is shaped as small free functions rather than new stateful methods:
The host receipts are added at the right layer through
I did not see this diff altering a locked substrate design decision directly; the issue is implementation authority for a std function, not an explicit locked-design divergence.
The old bridge had an explicit dissolution story in the removed fixture comments, but the replacement introduces new Rust semantic scaffolding without an equivalent trigger. The new comments say 3. VerdictREQUEST_CHANGES The test plumbing and host-script wiring are mostly well-structured, but the core repeat-string receipt currently replaces one bridge with another: a lower.rs string-special-case that duplicates modeled std semantics and can allocate unboundedly from a source literal. I would fix or explicitly track that bridge, and tighten the REST path receipt so it rejects the forbidden path shape it claims to guard. |
Summary
R1C-B / T-P0 (Worker A + Worker B on-session): structural
p0_repeat_string_correctvia lower-time fold +OutputEquals; retire interim v2-oracle bridge inr1_gates; Worker Bp0_no_fabrication_sentinel+p0_rest_ops_alignedviaExecuteCommand+scripts/host checks; ROADMAP T-P0 row +build.rsrerun-if-changedon those scripts.Doc-only
r2-structuretransition edit lives separately in #1161 (merge independently).Coordination
r2-structurestep 1 cite whenr1-closure-manager.mdcompletion section lands — tracked on docs: R2 transition step 1 — R1 Closure Manager declares R1 closed #1161, not here.Scope
src/v3/compiler/src/lower.rs,tests/fixtures/r1_gates{,.template}.dag, integration tests,scripts/r1_p0_*.sh,scripts/r1_p0_rest_ops_aligned.py,build.rs,ROADMAP.mdMade with Cursor