diff --git a/CURRENT_TASK.md b/CURRENT_TASK.md index 93c03119..dbf71b5f 100644 --- a/CURRENT_TASK.md +++ b/CURRENT_TASK.md @@ -4,7 +4,7 @@ 詳細は `docs/development/current/main/` 以下の各 Phase 文書と、JoinIR の SSOT である `docs/development/current/main/joinir-architecture-overview.md` を参照してね。 -最終更新: 2025-12-15 +最終更新: 2025-12-16 過去ログ(肥大化した旧 CURRENT_TASK)はここに退避したよ: - `docs/development/current/main/CURRENT_TASK_ARCHIVE_2025-12-13.md` @@ -28,7 +28,7 @@ - **Phase 134 完了**: Plugin loader best-effort loading(決定的順序 + failure 集約 + 継続)を導入。 - **Phase 135 完了**: ConditionLoweringBox allocator SSOT(P0: 根治修正 + P1: contract_checks Fail-Fast 強化)。 - **Phase 136 完了**: MirBuilder Context SSOT 化(+ ValueId allocator 掃討)。 -- **Phase 137-5 完了**: Loop Canonicalizer(Decision Policy SSOT)まで完了(既定挙動は不変)。 +- **Phase 137-141 完了**: Loop Canonicalizer(前処理 SSOT)を実装・箱化・型安全化・統合・ドキュメントまで完了(既定挙動は不変)。 - **Phase 88 完了**: continue + 可変ステップ(i=i+const 差分)を dev-only fixture で固定、StepCalculator Box 抽出。 - **Phase 89 完了**: P0(ContinueReturn detector)+ P1(lowering 実装)完了。 - **Phase 90 完了**: ParseStringComposite + `Null` literal + ContinueReturn(同一値の複数 return-if)を dev-only fixture で固定。 @@ -53,16 +53,18 @@ ## 次の指示書(優先順位) -### P0: Loop Canonicalizer の Phase 6(Router 委譲 - dev-only) +### P0: Canonicalizer の適用範囲拡大(実ループ 1 本) -**状態**: ✅ Phase 5 まで完了、Phase 6 へ +**状態**: ✅ Phase 137-141 完了、次は “適用対象を増やす” 段階 -**目的**: router の選択ロジックを “Canonicalizer decision を使う経路” に段階投入する(ただし既定挙動は不変、strict で parity を維持)。 +**目的**: canonicalizer を「実アプリ由来ループ」に 1 本ずつ適用し、認識→decision→strict parity を増やして coverage を広げる(既定挙動は不変、dev-only)。 SSOT: - `docs/development/current/main/design/loop-canonicalizer.md` 実装: - `src/mir/loop_canonicalizer/mod.rs` +(SSOT入口) +- `src/mir/builder/control_flow/joinir/routing.rs`(`choose_pattern_kind`) **次に触るSSOT**: - Loop系の設計: `docs/development/current/main/joinir-architecture-overview.md` diff --git a/docs/development/current/main/10-Now.md b/docs/development/current/main/10-Now.md index 431b47e8..11664b85 100644 --- a/docs/development/current/main/10-Now.md +++ b/docs/development/current/main/10-Now.md @@ -27,11 +27,12 @@ - Phase 136: MirBuilder の Context 分割を完了し、状態の SSOT を Context に一本化。 - 詳細: `docs/development/current/main/phases/phase-136/README.md` -## 2025‑12‑16:Phase 137‑5(短報) +## 2025‑12‑16:Phase 137‑141(短報) -- Loop Canonicalizer の Phase 5(Decision Policy SSOT)まで完了(既定挙動は不変)。 +- Loop Canonicalizer(前処理 SSOT)は Phase 141 まで完了(既定挙動は不変、dev-only 観測/strict parity あり)。 - 設計 SSOT: `docs/development/current/main/design/loop-canonicalizer.md` - 実装: `src/mir/loop_canonicalizer/mod.rs`(+ 観測: `src/mir/builder/control_flow/joinir/routing.rs`) + - Phase 記録: `docs/development/current/main/phases/phase-137/README.md` ## 2025‑12‑14:現状サマリ diff --git a/docs/development/current/main/phases/README.md b/docs/development/current/main/phases/README.md index dc8f2dae..1a0324b9 100644 --- a/docs/development/current/main/phases/README.md +++ b/docs/development/current/main/phases/README.md @@ -9,7 +9,7 @@ - **Phase 134**: Plugin loader best-effort loading - **Phase 135**: ConditionLoweringBox allocator SSOT(ValueId 衝突の根治) - **Phase 136**: MirBuilder Context SSOT 化(+ ValueId allocator 掃討) -- **Phase 137**: Loop Canonicalizer(前処理 SSOT)導入 +- **Phase 137–141**: Loop Canonicalizer(前処理 SSOT)導入(Phase 137 フォルダに統合して記録) ## Phase フォルダ構成(推奨)