diff --git a/docs/development/current/main/10-Now.md b/docs/development/current/main/10-Now.md index 2adbdfa1..d1a722ae 100644 --- a/docs/development/current/main/10-Now.md +++ b/docs/development/current/main/10-Now.md @@ -1,6 +1,6 @@ # Self Current Task — Now (main) -## Current Focus: Phase 287 P6(Scan plan integration decision) +## Current Focus: Phase 287 P7(Rewriter scaffolding cleanup) **2025-12-27: Phase 188.3 完了** ✅ - Pattern6(NestedLoopMinimal): `apps/tests/phase1883_nested_minimal.hako` が RC=9 @@ -44,7 +44,13 @@ - `stages/mod.rs` を facade にして stage 関数を re-export(単一入口化) - 検証: Build 0 errors / quick 154 PASS / 恒常ログ増加なし - 入口: `docs/development/current/main/phases/phase-287/P5-STAGES-VISIBILITY-FACADE-INSTRUCTIONS.md` -- 次の指示書(P6): `docs/development/current/main/phases/phase-287/P6-SCAN_PLAN-INTEGRATION-INSTRUCTIONS.md` +- 次の指示書(P6): `docs/development/current/main/phases/phase-287/P6-SCAN_PLAN-INTEGRATION-INSTRUCTIONS.md`(完了) + +**2025-12-27: Phase 287 P6 完了** ✅ +- Scan stage を削除し、pipeline を 2-stage(Plan→Apply)へ単純化(意味論不変) +- 検証: quick 154 PASS +- 入口: `docs/development/current/main/phases/phase-287/P6-SCAN_PLAN-INTEGRATION-INSTRUCTIONS.md` +- 次の指示書(P7): `docs/development/current/main/phases/phase-287/P7-REWRITER-BOX-SCAFFOLDING-CLEANUP-INSTRUCTIONS.md` **2025-12-27: Phase 188.2 完了** ✅ - StepTreeの `max_loop_depth` を SSOT に採用(Option A) @@ -137,8 +143,8 @@ - quick smoke 154/154 PASS 維持、Pattern1/4 PoC 両方 PASS **次のステップ**: -1. **Phase 287(P6)**: Scan plan 統合(docs-first) - - 指示書: `docs/development/current/main/phases/phase-287/P6-SCAN_PLAN-INTEGRATION-INSTRUCTIONS.md` +1. **Phase 287(P7)**: Rewriter scaffolding cleanup(意味論不変) + - 指示書: `docs/development/current/main/phases/phase-287/P7-REWRITER-BOX-SCAFFOLDING-CLEANUP-INSTRUCTIONS.md` 2. (post self-host / docs-first)**Phase 29y**: MIR lifecycle vocab freeze(RC/weak/ABI) - 相談パケット: `docs/development/current/main/investigations/phase-29y-mir-lifecycle-vocab-consult.md` 3. (future design, separate phase)Plan 生成の正規化(相談パケット) diff --git a/docs/development/current/main/30-Backlog.md b/docs/development/current/main/30-Backlog.md index bd96e742..c43907f7 100644 --- a/docs/development/current/main/30-Backlog.md +++ b/docs/development/current/main/30-Backlog.md @@ -14,10 +14,10 @@ Related: - 次: Phase 288.2+(任意): REPL UX improvements(history / multiline / load 等) - **Phase 287(active): Big Files Refactoring follow-ups(意味論不変)** - - 状況: P0/P1/P2/P3/P4/P5 ✅ 完了(merge modularize / ast_feature_extractor facade / contract_checks facade / rewriter stages split / plan stage split / stages facade) - - 次(P6): Scan plan の扱いを決めて統合 or 削除(docs-first) + - 状況: P0/P1/P2/P3/P4/P5/P6 ✅ 完了(merge modularize / ast_feature_extractor facade / contract_checks facade / rewriter stages split / plan stage split / stages facade / remove scan stage) + - 次(P7): rewriter の Box 雛形を整理(SSOT を `rewriter/stages/*` に寄せる) - 入口: `docs/development/current/main/phases/phase-287/README.md` - - 指示書: `docs/development/current/main/phases/phase-287/P6-SCAN_PLAN-INTEGRATION-INSTRUCTIONS.md` + - 指示書: `docs/development/current/main/phases/phase-287/P7-REWRITER-BOX-SCAFFOLDING-CLEANUP-INSTRUCTIONS.md` - **Phase 284(✅ COMPLETE): Return as ExitKind SSOT(patternに散らさない)** - 目的: `return` を “pattern最適化の個別実装” にせず、`ExitKind` と `compose::*` / `emit_frag()` に収束させる diff --git a/docs/development/current/main/phases/phase-287/P7-REWRITER-BOX-SCAFFOLDING-CLEANUP-INSTRUCTIONS.md b/docs/development/current/main/phases/phase-287/P7-REWRITER-BOX-SCAFFOLDING-CLEANUP-INSTRUCTIONS.md new file mode 100644 index 00000000..bc66e55f --- /dev/null +++ b/docs/development/current/main/phases/phase-287/P7-REWRITER-BOX-SCAFFOLDING-CLEANUP-INSTRUCTIONS.md @@ -0,0 +1,47 @@ +# Phase 287 P7: Rewriter Box scaffolding cleanup(意味論不変) + +**Date**: 2025-12-27 +**Status**: Ready(next) +**Scope**: `src/mir/builder/control_flow/joinir/merge/rewriter/` 配下に残っている “旧 pipeline の箱(Box)雛形” を、現状の SSOT(Plan→Apply)に合わせて整理する。 +**Non-goals**: 仕様変更、エラータグ/ヒント文の変更、ログ恒常増加、silent fallback 追加、実行経路の追加 + +--- + +## 背景 + +Phase 287 P6 で Scan stage を削除し、pipeline は 2-stage(Plan→Apply)へ収束した。 + +一方で、`apply_box.rs` など “箱雛形” が残っており、現在の SSOT(`rewriter/stages/*`)と責務が二重に見える。 + +--- + +## 目的 + +- 入口(`rewriter/stages/*`)を SSOT として明確にし、雛形を整理して迷子を防ぐ。 +- “実際に使っていない雛形” は削除し、残す場合は理由を docs に固定する。 + +--- + +## 手順(安全な順序) + +1. `rg` で参照を確認し、未使用の Box 雛形を特定する + - 例: `ApplyBox`, `apply_box.rs` など +2. 未使用なら削除(または `#[cfg(test)]` 専用なら test-only へ隔離) +3. `rewriter/mod.rs` の module 宣言と doc を SSOT に合わせて更新 +4. `cargo check -p nyash-rust --lib` が通ることを確認 + +--- + +## 検証(受け入れ基準) + +```bash +cargo build --release +./tools/smokes/v2/run.sh --profile quick +./target/release/hakorune --backend vm apps/tests/phase1883_nested_minimal.hako # RC=9 +``` + +受け入れ: +- Build: 0 errors +- quick: 154/154 PASS +- Pattern6: RC=9 維持 +- 恒常ログ増加なし diff --git a/docs/development/current/main/phases/phase-287/README.md b/docs/development/current/main/phases/phase-287/README.md index b567a7d1..dae519dc 100644 --- a/docs/development/current/main/phases/phase-287/README.md +++ b/docs/development/current/main/phases/phase-287/README.md @@ -1,6 +1,6 @@ # Phase 287: Developer Hygiene(big files / smoke / normalizer) -**Status**: In progress (P0/P1/P2/P3/P4/P5 complete, P6 next) +**Status**: In progress (P0/P1/P2/P3/P4/P5/P6 complete, P7 next) **Date**: 2025-12-27 **Previous**: Phase 286 (Plan Line完全運用化) @@ -51,13 +51,20 @@ Phase 287 は「開発導線の整備(意味論不変)」を優先して、 --- -## Next (P6) +## 2025-12-27 Update: Remove scan stage(P6)✅ -- Stage-1/2/3 の “scan plan” が未使用なので、設計を固定してから統合する(または削除する)ための docs-first 指示書を作る。 +- Scan stage を削除し、pipeline を 2-stage(Plan→Apply)へ単純化した(意味論不変)。 - 指示書: `docs/development/current/main/phases/phase-287/P6-SCAN_PLAN-INTEGRATION-INSTRUCTIONS.md` --- +## Next (P7) + +- pipeline の古い scaffolding(`apply_box.rs` など)を整理し、現在の SSOT(Plan→Apply)に合わせて命名/責務を揃える(意味論不変)。 + - 指示書: `docs/development/current/main/phases/phase-287/P7-REWRITER-BOX-SCAFFOLDING-CLEANUP-INSTRUCTIONS.md` + +--- + ## Legacy / Historical (2025-12-26 plan) 以下は「Phase 287 を hygiene として計画していた時期のログ」。今後の候補として残すが、P0/P1(big files)とは別系統。