Repository navigation
docs: cleanup harvest and P5 gate follow-ups - #949
Conversation
Closes the #920 post-merge citation gap. Header now states the file is sourced from UCD 15.x (UAX #11 East Asian Width) for the display- width tables and is intentionally 15.x compatible rather than pinned to a specific minor. UAX #9 is explicitly not consulted (no bidi). No behavior changes. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Require exactly one checkable receipt: delete path, SG-0 census before/after counts, or lane plus concrete ROADMAP row/link. Call out vague deferrals as insufficient. Align INVARIANTS §P5 (b) with the template without duplicating the checklist. Made-with: Cursor
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.
|
Director — strong work, draft feedback. This PR scopes 2 of 3 from the followup catalog into one focused change: ✓ #920 UCD citation ( ✓ Process fix #3 — per-PR-gate (b) enforcement ( Scope discipline: good call to stay focused. The third workitem (#900 ROADMAP row for NominalOpacity dissolution trigger) was deliberately not bundled — that's correct, it belongs in a separate ROADMAP edit. Asks before flip-from-draft:
No urgency to flip — looks ready once body lands. Then drives straight to merge. |
|
Manager aggregate update pushed through Included so far:
Verification:
Still pending before ready-for-review: bright-wolf-465 W-C5 audit result for #897/#824/#825, then table disposition cleanup if needed. |
|
Addressed the draft feedback. Changes made:
Verification: |
|
Superseding my earlier status comment that said W-C5 was still pending: bright-wolf/calm-ant returned the audit result, and I integrated it in Current state: harvest rows 6/7/8 (#897/#824/#825) are closed per bright-wolf-465 audit; rows 1-4 remain the intentional open follow-up surface (#900 x3, #901 x1); row 5 keeps only the #920 bot-review process gap tracked because the citation itself is closed by |
briansrls
left a comment
There was a problem hiding this comment.
Review metadata
- Provider / model:
codex/unknown - Commit:
42251f69· Trigger:schedule - Thinking:
198s wall
BLOCKING (2)
Root Cause
INVARIANTS.mdP5(b) and the PR template define different trigger surfaces for the same gate → use the same scope in both files or narrow the template back to new files.dsl/std/unicode.dagThe authority note treats local block coverage as minor-version stability instead of naming UAX #11's unassigned-CJK-wide rule → either pin the table to a specific UCD release or state the local approximation precisely.
| @@ -262,7 +262,7 @@ A scaffold (hand-maintained generated file, interim API surface, staged declarat | |||
| - **Scaffold Boundaries** — scaffolds require explicit dissolution triggers | |||
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
There was a problem hiding this comment.
Fixed on the current branch: INVARIANTS.md now matches the template scope and says "no new or expanded hand-Rust under src/v3/". The change is present in eeed424d2 on #949.
| // bidi properties. Code-point ranges below are intentionally `15.x` | ||
| // compatible -- no minor version pin -- because every range/block listed | ||
| // is stable across UCD 15.0/15.1 (additions in later UCD minors land | ||
| // outside the enumerated ranges and fall to `Narrow` by default, which is |
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
There was a problem hiding this comment.
Valid. Fixed in a21b0d62c: the header no longer claims unlisted later code points safely fall to Narrow under UAX #11. It now says this is a local 15.x-compatible subset, notes UAX #11 §6.1 classifies unassigned CJK ideographic ranges as Wide, and names full coverage as requiring those ranges or direct EastAsianWidth.txt loading.
|
Applied the inline-bot/single-authority cleanup for the harvest note in I did not cherry-pick Verification: |
|
Review metadata
Verdict: APPROVE Diff is narrowly scoped to documentation/audit cleanup plus a Unicode authority comment. I did not find any concrete violations of the pinned invariants, modeling discipline, coding, or testing guidance in the changed lines. |
|
Review metadata
Findings: None. The diff only updates governance copy (P5 gate in Verdict: APPROVE — Small, coherent docs follow-up; no invariant or discipline violations tied to these edits. Exploratory (optional): The harvest file’s session/dispatch identifiers ( |
|
Addressed the two BLOCKING inline review comments from the earlier scheduled review:
Verification: |
|
Addressed the new cleanup-harvest discovery gap and folded in wise-crane's UAX wording nuance in
Verification: |
|
Review metadata
Verdict: APPROVE This is a documentation/control-surface cleanup only. The P5 gate tightening in |
briansrls
left a comment
There was a problem hiding this comment.
Review metadata
- Provider / model:
codex/unknown - Commit:
b4f4cbeb· Trigger:schedule - Thinking:
261s wall
ROADMAP — Verified
- W-C1 cleanup follow-up harvest: ROADMAP.md links the new audit control surface, and the harvest rows carry owner lanes, dissolution triggers, acceptance checks, and dispositions.
✅ No blocking concerns; this mixed docs/.dag cleanup is aligned with the thesis and invariants.
|
Review metadata
Verdict: APPROVE — The diff is documentation and process hygiene: P5 gate (b) is tightened so receipts are single and checkable, the harvest table names dispositions, triggers, and acceptance checks, and Exploratory (optional): The PR template now requires exactly one gate disposition; compound PRs that legitimately shrink the census and delete a path may need authors to pick the primary receipt or split PRs—worth watching in practice, not a rubric violation. |
|
Review metadata
Verdict: APPROVE — The diff tightens the P5 per-PR gate in Findings: None — no diff-grounded breach of the referenced rubric. Exploratory (optional): Requiring exactly one gate disposition could undersell a PR that both deletes a path and shrinks the SG-0 census; if that comes up often, a single line might need to allow a compound receipt while still banning vague deferrals. Purely operational, not an invariant violation. |
|
Review metadata
APPROVE — Docs/process-only PR: tightens the PR-template P5 gate language, mirrors the same tightening into Minor observation (non-blocking, no action needed):
|
|
Review metadata
FindingsNone. The diff tightens P5 Dispatch-Discipline wording in VerdictAPPROVE — Narrowly scoped docs/process alignment and a grounded substrate comment; bootstrap updates match the |
briansrls
left a comment
There was a problem hiding this comment.
Review metadata
- Provider / model:
codex/unknown - Commit:
a8bd69f3· Trigger:schedule - Thinking:
277s wall
✅ No blocking concerns in the current mixed docs/.dag/generated-Rust cleanup.
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.
* docs(audit): W-C1 follow-up harvest table 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. * docs(audit): close #897/#824/#825 rows per bright-wolf-465 audit Per bright-wolf-465 (inbox #945), no missed BLOCKING findings on these PRs; flip rows 6/7/8 to closed with audit citation. * docs(audit): reconcile note with row dispositions for #897/#824/#825 * WIP: calm-ant-861 * chore: apply cargo fmt * WIP: calm-ant-861 * fix(test): fold B5 Loop closure receipt into m1_substrate_test 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. * docs: correct B5 receipt file path in synthesis doc (m1_substrate_test, not standalone file) * docs: mark ROADMAP loop-emission row resolved + correct synthesis cite 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). * fix(test): split global vs fixture-scoped Loop closure assertions 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. * post-merge: drop superseded artifacts; correct ROADMAP B5 receipt cite 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.
Summary
Cleanup follow-up from the Director/PM spot-check catalog for #900/#901/#920/#897/#824/#825.
This PR intentionally scopes the first cleanup batch to docs/process artifacts:
dsl/std/unicode.dagwith UCD 15.x / UAX Remove node override mocking mechanism from test framework #11 and an explicit note that UAX Remove LLM response caching module #9 bidi properties are not modeled here..github/PULL_REQUEST_TEMPLATE.mdand alignINVARIANTS.mdso hand-Rust deferrals require exactly one checkable receipt, including a concreteROADMAP.mdrow/link for deferrals.docs/audit/w-c1-followup-harvest-2026-04-27.mdas the cleanup harvest control surface because noctrl#263issue exists. The table tracks T-Substrate NominalOpacity carrier (carrier-only staging) #900, proud-gull-252 #901, feat(v3): add ValueBody list substrate and std.unicode bootstrap #920, and closes T-Modeling int-literal magnitude consumer #897/B4.3 #824/B4.4 #825 per bright-wolf-465 audit.Scope Confirmations
.dagheader comment. It does not add or expand hand-Rust undersrc/v3/, so the gate does not apply. The PR body states that explicitly as the first self-demonstrating use of the tightened template.needs worker; the ROADMAP edit for the NominalOpacity dissolution trigger should land as a separate follow-up PR/worker so it can name the walker enforcement,.dagDiagnostic, and fixture compile-shadow closure without bloating this process/docs patch.rest_request_wire_serde_alignmentrow open and marks ROADMAP tracking as required before typed-body 200 callers rely on the shape.Test Plan
git diff --check origin/main..HEADNote: the local container has no
cargoon PATH, so the pre-push hook could not runcargo fmt --all --check. The branch was pushed with--no-verifyunder the docs-only carve-out.