Skip to content

docs: refresh §9 refactor state — R3 complete, R4 in progress - #93

Merged
KraHsu merged 1 commit into
devfrom
docs/r4-1-refactor-state
May 22, 2026
Merged

KraHsu merged 1 commit into
devfrom
docs/r4-1-refactor-state

Conversation

@KraHsu

@KraHsu KraHsu commented May 22, 2026

Copy link
Copy Markdown
Owner

Refreshes ROADMAP §9 after Phase R3 (ADR-0005) completed and Phase R4 (ADR-0004) started.

Changes

Correction

Earlier notes claimed R3 would clear the rl.eval_callback → cli._eval importlinter violation. It does not — 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, 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

…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>
@KraHsu
KraHsu merged commit 43e5d16 into dev May 22, 2026
3 checks passed
@KraHsu
KraHsu deleted the docs/r4-1-refactor-state branch May 22, 2026 05:52
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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant