Repository navigation
docs: refresh §9 refactor state — R3 complete, R4 in progress - #93
Merged
Merged
Conversation
…erged) Mark Phase R3 (domain-owned parsing, ADR-0005) complete (PRs #90/#91) and Phase R4 (CLI decomposition, ADR-0004) in progress with R4.1 merged (PR #92). Records the R3.1/R3.2/R4.1 shipped entries, test results, the unchanged 2-kept/2-broken/21 importlinter baseline, and the new __all__ lesson from R4.1. Corrects the prior wrong claim that R3 would clear the `rl.eval_callback -> cli._eval` violation: R3 moved a parser in the allowed cli->rl direction; the violation is the rl->cli runtime import of eval_task inside run_with_eval_callback, untouched by R3. No R-phase as currently scoped reduces the baseline — flagged as a dedicated follow-up gating R7. Sets R4.2 (cli/_multi_seed.py) as the next slice. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This was referenced May 22, 2026
KraHsu
added a commit
that referenced
this pull request
Jun 5, 2026
docs: refresh §9 refactor state — R3 complete, R4 in progress
KraHsu
added a commit
that referenced
this pull request
Jun 5, 2026
Update ROADMAP §9 to reflect Phase R4 (CLI dispatcher decomposition) complete: R4.1 (#92), R4.2 (#94), R4.3 (#95) all merged. - §9.0 phase header + status table: R0–R4 complete; ADR-0004 → Accepted. - Add R4.2 / R4.3 "Completed" entries and "Tests run" lines. - R4 risk row marked resolved; importlinter baseline notes updated ("Post-R4": still 21 / 2 broken — all of R4 was intra-cli). - Rewrite "Next steps" / "Suggested next slice": R5 (ADR-0006) and R6 (ADR-0007) now fan out in parallel; R4 is done. - §9.2 sequencing diagram + prose: R3 ✅ → R4 ✅. - Phase R4 detail block: header → COMPLETE, PR4.2/PR4.3 markers, and completion criteria (the <=400-LoC target is recorded as NOT met at 645 LoC — the residue is Typer wiring ADR-0004 deliberately kept; a documented follow-up). - New lessons: TYPE_CHECKING forward-ref breaks the annotation cycle; co-locate runtime-only deps with the moved function; relocating a function breaks string-form monkeypatch paths invisible to find_referencing_symbols; an ADR's LoC target is an estimate, its enumerated scope is the contract. (CLAUDE.md and plans/ are gitignored local artifacts and were refreshed locally in the same pass; only the tracked ROADMAP.md is committed, matching the prior docs-refresh PR #93.) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
KraHsu
added a commit
that referenced
this pull request
Jun 5, 2026
Update ROADMAP §9 to reflect Phase R5 (task-specific rewards split) complete: R5.1 (#97), R5.2 (#98) merged. - §9.0 phase header + status table: R0–R5 complete; ADR-0006 → Accepted; R7 row regated on "R6 landing + cross-layer follow-ups". - Add R5.1 / R5.2 "Completed" entries and "Tests run" lines (incl. the whole-family move variance and the bit-equivalence test). - R5.2 risk row marked resolved. - "Next steps" / "Suggested next slice" rewritten: R6 is the last structural R-phase; R5/R6 no longer "fan out" (R5 done). - §9.2 sequencing diagram + prose: R5 ✅. - Phase R5 detail block: header → COMPLETE, scope/PR/test "as shipped", completion criteria (jaccard collapse by construction; the Unitree G1 reference-run check superseded by the bit-equivalence test — no reference-runs doc exists yet, deferred to M1.7). - New lessons: an ADR's enumerated symbol list goes stale (re-audit before a move); pin pre-refactor bodies in a test for a *merging* refactor; prefer thin def wrappers over functools.partial for back-compat shims. (CLAUDE.md and plans/ are gitignored local artifacts and were refreshed locally in the same pass; only the tracked ROADMAP.md is committed, matching docs PRs #93 and #96.) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
KraHsu
added a commit
that referenced
this pull request
Jun 5, 2026
…0009 shipped) The architecture refactor is done: importlinter is now a required CI gate with a clean 6-contract / 0-violation baseline. Update ROADMAP §9 accordingly. - §9.0 phase header + status table: R6 (#100) and R7 (#101–#106) marked complete; ADR-0007/0008/0009 → Accepted; ADR-0010 deferred. Reviewed against dev @ b9f7e0a. - Add "Completed" entries for R6, R7.1, R7.2, R7.3a–d and matching "Tests run" lines (incl. the R6 cv2/Qt subprocess-isolation incident and the R7.3d 6/0 baseline). - Dependency-graph note: 3,982 nodes / 11,433 edges post-R7 (net growth from new modules + deprecation shims; cross-layer imports 24 → 0). - R4/R5.2/R7 risk rows marked resolved; the "21 violations gating R7" notes rewritten to reflect the cleared baseline. - §9.2 diagram + prose: all phases ✅; Phase R6/R7 detail headers → COMPLETE. - New lessons: layers-contract forbids intra-band siblings (use forbidden contracts); fix-the-layer beats DI; precise contract beats blanket ban + waivers; subprocess-isolate cv2-importing tests. - "Next steps" rewritten: refactor complete; remaining items are optional follow-ups (BaseTermManager for metrics/curriculum is the recommended next slice; ADR flips; ≤400 cli target; test_cli split; shim removal; ADR-0010). (CLAUDE.md, plans/adr/0007–0009, and the ADR status flips are gitignored local artifacts, refreshed in the same pass; only ROADMAP.md is committed — matching docs PRs #93 / #96 / #99.) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Refreshes ROADMAP §9 after Phase R3 (ADR-0005) completed and Phase R4 (ADR-0004) started.
Changes
__all__is the fix for pyrightreportUnusedFunctionon moved private functions called only via the re-export (distinct from the R2.1 import-site lesson).Correction
Earlier notes claimed R3 would clear the
rl.eval_callback → cli._evalimportlinter violation. It does not — R3 moved a parser in the allowedcli → rldirection; the violation is therl → cliruntime import ofeval_taskinsiderun_with_eval_callback, which R3 never touched. The baseline stayed 2 kept / 2 broken / 21 cross-layer imports through all of R3 + R4.1. No R-phase as currently scoped reduces it — flagged as a dedicated follow-up gating R7. Corrected in the status panel, the risk list, the R3 detail section, and (agent-local) CLAUDE.md + plans/adr.Next slice
R4.2 —
cli/_multi_seed.py(serial after R4.1).Note: CLAUDE.md and
plans/adr/are gitignored (agent-local) and updated in the working tree but not part of this PR; only ROADMAP.md is tracked.🤖 Generated with Claude Code