Repository navigation
calm-ant-861 - #953
calm-ant-861#953
Conversation
Single control surface for cleanup-lane harvest of #900/#901/#920/#897/#824/#825 per dispatch from tidy-dove-734 (#941). No ctrl#263 in repo; this docs/audit artifact is the agreed fallback. Rows: source PR, gap, file/invariant, owner lane, dissolution trigger, acceptance check, tracking authority, disposition.
Per bright-wolf-465 (inbox #945), no missed BLOCKING findings on these PRs; flip rows 6/7/8 to closed with audit citation.
|
Duplicate of the aggregate cleanup path. The single-authority note fix from Please keep this draft PR closed/duplicate unless Director explicitly switches from the manager aggregate to per-worker PRs. |
briansrls
left a comment
There was a problem hiding this comment.
Review metadata
- Provider / model:
codex/unknown - Commit:
c02ee52e· Trigger:schedule - Thinking:
161s wall
BLOCKING (1)
Root Cause
ROADMAP.mdW-C1 has no discoverable tracker entry for this new audit control surface → add a ROADMAP link/row or keep the live rows directly in ROADMAP.
| **Lane:** Cleanup (W-C1) | ||
| **Owner:** session calm-ant-861 (R2-cleanup) | ||
| **Dispatch:** tidy-dove-734 inbox #941 → calm-ant-861 inbox #942 | ||
| **Control surface:** No `ctrl#263` issue exists in repo (PR #263 is a closed/merged bootstrap PR, unrelated). Per dispatch fallback, this single docs/audit artifact is the agreed control surface for the W-C1 cleanup harvest. New rows append here; no per-row issues are opened unless a row's tracking authority demands it. |
There was a problem hiding this comment.
BLOCKING: This makes a live cleanup-debt control surface authoritative without any ROADMAP entry or ROADMAP link, bypassing ROADMAP.md's tracker rule that internal follow-up state belongs in ROADMAP or docs it links to.
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
Pushing back on the duplicate-close: this draft was reattached for a different dispatch — the W-B5 Loop construction-closure audit (per PR contents (3 commits past main): structural integration test If Director still wants per-worker PRs avoided, I can fold the audit into the next manager aggregate — but it's audit-receipt + a new test file, not cleanup-table edits, so it doesn't merge cleanly into #949's scope. Holding ready-for-review until manager confirms routing. |
|
Review metadata
Findings: None. Nothing in the diff clearly breaks INVARIANTS, Verdict: APPROVE — Scoped docs plus one wired integration test that records the loop construction-closure receipt; no invariant or testing-discipline violations spotted in the diff. |
|
Verified the finding: Scope note: the bot reviewed sha Fix routing: ROADMAP discoverability for the W-C1 control surface belongs in #949 alongside the table itself. Pinging manager #941 to add the row there. |
SG-0 census ratchet forbids new hand-authored .rs files. Move the every_loop_node_originates_from_recursive_function_lowering test (and the LoopNode/LoopBound import + two helper fns) into the existing m1_substrate_test.rs and drop the standalone file + its integration.rs registration. Behavior unchanged.
|
Review metadata
Findings:
Verdict: APPROVE_WITH_COMMENTS. The code/test change looks narrowly scoped and consistent with the modeling/testing rubric; the only issue I found is a path typo in the resolved-debt note. I attempted to run the new test, but this environment has no |
…t, not standalone file)
|
Review metadata
Findings: None that clearly violate INVARIANTS.md,
Verdict: APPROVE — Diff is narrow: tracked audit rows, synthesis text updated to match the landed receipt, and a single structural integration test documenting loop construction closure. I did not run Exploratory (optional): In |
briansrls
left a comment
There was a problem hiding this comment.
Review metadata
- Provider / model:
codex/unknown - Commit:
be4a6ab1· Trigger:schedule - Thinking:
306s wall
BLOCKING (1)
Root Cause
ROADMAP.mdLoop-emission closure landed in the receipt test and synthesis doc only → close or link the authoritative ROADMAP debt row when declaring B5 resolved.
Non-blocking — Improvements (fix in-PR if easy, else defer to roadmap)
docs/briefs/debt-paydown-synthesis-2026-04-25.mdThe summary still cites loop_construction_closure_test.rs even though the receipt lives in m1_substrate_test.rs; defer to T-Receipts doc cleanup if not fixed here.
ROADMAP — Incomplete
- Loop emission semantic invariant: The synthesis doc says resolved, but ROADMAP.md still lists the debt as open.
|
|
||
| - File-preference rank (`dag.rs::declaration_name_preference_rank` + `lower.rs::collect_symbols` — line cites drift on `main`) — ROADMAP `:368`. Trigger: convergence of every duplicated `src/v3/std/` ↔ `dsl/std/` module listed in those doc comments. **PR #809 undercount (computation + induction + termination) closed 2026-04-26** — checklist extended in source + ROADMAP exploratory row. | ||
| - Loop emission semantic invariant (Python/Go) — PR #809 row. **Risk-shaped:** comment-level invariant, not structural. | ||
| - Loop emission semantic invariant (Python/Go) — PR #809 row. **RESOLVED 2026-04-27:** structural integration test landed (`loop_construction_closure_test.rs`); audit found closure already holds in production, marker retired. See Tier 2 §5. |
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
|
Verified the line-drift on Routing: this harvest-table file is also in aggregate #949 via the manager cherry-pick, and #953's primary scope is the W-B5 audit — not cleanup-table edits. I have the line-drift fix prepared locally (swap volatile line numbers for grep-able Pinging manager #941 to apply the same fix in #949 — that's the canonical surface for the W-C1 table anyway. Will skip carrying it on this PR. |
Codex BLOCKING on be4a6ab: ROADMAP.md still listed the loop-emission semantic invariant as open debt while the synthesis doc declared it resolved — tracker-authority mismatch. - ROADMAP.md:436: rewrite the row as RESOLVED 2026-04-27 with PR cite, audit summary (two production sites in lower.rs), receipt location (m1_substrate_test.rs), and marker-retired note. - synthesis-doc §3 line 155: fix the receipt path (loop_construction_closure_test.rs → m1_substrate_test.rs after the SG-0 fold).
|
Both findings addressed in
Commit landed via a fresh worktree ( |
|
Review metadata
Verdict: APPROVE Diff is narrowly scoped: it turns the loop-emission concern into a structural receipt test and updates the debt docs consistently. I did not find a concrete invariant, coding, or testing violation in the changed lines. I could not run the new test because |
briansrls
left a comment
There was a problem hiding this comment.
Review metadata
- Provider / model:
codex/unknown - Commit:
db7b7735· Trigger:schedule - Thinking:
592s wall
BLOCKING (1)
Root Cause
src/v3/compiler/tests/integration/m1_substrate_test.rsfixture-scoped proof is mixed with global bootstrap-loop inspection → split all-Dag closure checking from fixture-only assertions filtered by span or by the named binds.
ROADMAP — Incomplete
- Loop emission semantic invariant: The tracker row is updated, but the receipt test needs fixture-scoped assertions before the closure claim is mechanically reliable.
| dag.diagnostics() | ||
| ); | ||
|
|
||
| let loop_nodes = loops_in(&dag); |
There was a problem hiding this comment.
BLOCKING: The B5 receipt gathers every Loop in the bootstrap-loaded Dag, so the fixture non-vacuity and LoopBound assertions can be satisfied by preexisting std loops rather than the count/even/odd fixture; this leaves the ROADMAP loop-emission closure unproven under P5.
|
Stale review — already fixed in |
Codex BLOCKING on db7b773: previous test mixed a global all-Dag closure check with fixture-only variant claims, so bootstrap loops could mask the fixture-coverage claim. Split into two phases: - Global: every Behavior::Loop in the Dag (fixture + bootstrap) satisfies the recursive-function-lowering signature (loop.output is a Bind value port + Descent cluster id resolves). This is the closure invariant. - Fixture-scoped: filter loops by span.file == fixture file before claiming both LoopBound variants are produced by THIS fixture. Bootstrap loops are excluded so the variant claim is mechanically about the fixture's recursive functions.
|
Addressed in Global closure check — walks every Fixture-scoped variant coverage — filters loops to |
|
Review metadata
APPROVE — Diff is docs + a single structural-receipt test. The new |
# Conflicts: # docs/briefs/debt-paydown-synthesis-2026-04-25.md
The parallel B5 lane landed `r2_b5_loop_construction_closure_test.rs` on main with a more rigorous receipt (substring push-site ratchet + per-fixture DAG walk + Origin::Accumulated provenance). The harvest table in this PR is also being landed via aggregate #949. Drop: - `docs/audit/w-c1-followup-harvest-2026-04-27.md` (canonical surface is #949). - The m1_substrate_test additions (auto-reverted via merge --theirs; superseded by the standalone r2_b5_loop_construction_closure_test.rs on main). Keep: - `ROADMAP.md` row marking loop-emission RESOLVED, with citation rewritten to point at the actual landed receipt file (r2_b5_…) instead of the retired m1_substrate_test cite.
|
Merge conflict resolved + scope reduced. A parallel B5 lane landed Resolution (commits
What remains in this PR (1 line vs main):
PR is now a tiny ROADMAP-cleanup follow-up. Open to closing as redundant if the parallel B5 lane is expected to update ROADMAP themselves; otherwise this is the smallest viable closure of that row. |
|
Review metadata
Verdict: APPROVE The reviewed delta is a single Exploratory (optional): The branch’s commit list includes test and synthesis edits that are already on |
briansrls
left a comment
There was a problem hiding this comment.
Review metadata
- Provider / model:
codex/unknown - Commit:
32ad8301· Trigger:schedule - Thinking:
101s wall
B5 — Loop construction-closure audit (W-B5)
Per
docs/briefs/r2-release-b5-loop-construction-closure-audit-worker.md. Audit-first perfeedback_construction_over_ratchets.Site enumeration
Grep
Behavior::Loop\s*\(andpush_loopacrosssrc/v3/compiler/src/:src/v3/compiler/src/lower.rs:391finalize_mutual_clustersLoopBound::Descent { cluster }src/v3/compiler/src/lower.rs:4236lower_fn_item_expr_bodyLoopBound::Cardinality { count }src/v3/compiler/src/lib.rs:253,272,531,729#[test]blockssrc/v3/compiler/src/emit.rs:3420#[test] port_is_consumed_from_reaches_loop_body_result_from_loop_outputsrc/v3/compiler/src/dag/builder.rs:1135#[test]blockDag::push_loopispub(crate); its only non-test callers are sites 1 and 2 above (both insidelower.rs, both in functions whose names are explicit recursive-function-lowering identifiers).Per-site path trace
Site 1 —
finalize_mutual_clusters: invoked by the mutual-recursion cluster pipeline; readspending_loopspopulated upstream during recursive-function discovery; emitsLoopBound::Descent { cluster }referencing aClusterjust constructed in the same function. Loop output is bound viadag.patch_bind_value(bind_id, pending_loop.loop_output).Site 2 —
lower_fn_item_expr_body: per-fn body lowering for single recursive functions; emitsLoopBound::Cardinality { count: param_ports[0] }after a termination-witness check on the recursive call. Loop output is wired directly into aBehavior::Bindvalue port created in the immediately-following lines.Both sites attach the loop output to a
Behavior::Bindvalue port. That is the structural signature of recursive-function lowering.Verdict
closure-holds. Every production
Behavior::Looporiginates from recursive-function lowering. The speculativeLoopKindsubstrate marker is unneeded.Deliverable — structural integration test
src/v3/compiler/tests/integration/loop_construction_closure_test.rs—every_loop_node_originates_from_recursive_function_lowering:count) and mutual-recursive (even/odd) functions.loop.outputis thevalueport of some Bind node.LoopBound::CardinalityandLoopBound::Descentvariants appear.If any future PR adds a third Loop construction site that bypasses recursive-function lowering, this test fails — the construction-closure invariant becomes structurally enforced rather than comment-level.
Synthesis-doc update
docs/briefs/debt-paydown-synthesis-2026-04-25.mdTier 2 §5 marked RESOLVED (2026-04-27) with citation to this PR. Section 3 forward-reference also updated. SpeculativeLoopKindmarker retired.Acceptance
cargo test --workspace --exclude v2-compiler-tests) — running via CI on ready-flip; no cargo in author sandbox.STOP-AND-ESCALATE — no triggers fired
finalize_mutual_clusters,lower_fn_item_expr_body) is the recursive-function-lowering identifier, and theLoopBoundvariant is exactly the one each site emits.LoopBoundwas not amended.IntList/count/even/oddshape already exercised bym1_substrate_test.