diff --git a/CURRENT_TASK.md b/CURRENT_TASK.md index 559cf677..e2a1899f 100644 --- a/CURRENT_TASK.md +++ b/CURRENT_TASK.md @@ -126,6 +126,55 @@ --- +### 1-00n. Phase 40-4.1 — collect_assigned_vars削除(**完了** 2025-11-28) + +**目的** +- Level 2削減の最初の1本目削除 +- Route B (JoinIR経由) をデフォルト化し、旧Route Aコードパスを削除 + +**実装内容** + +**Phase 40-3.5: Route Switching実装**: +- ✅ `collect_assigned_vars_via_joinir()` 新規実装(if_phi.rs) + - ast_to_json形式対応: `{"kind": "Local", "variables": [...]}` 形式を処理 + - `extract_vars_from_json_stmts/stmt` ヘルパー追加 +- ✅ loop_builder.rs env flag分岐追加(HAKO_JOINIR_ARRAY_FILTER) +- ✅ A/Bテスト実装・検証(5/5 PASS) + +**A/Bテスト結果**: +- Route A (レガシー): 405 passed, 13 failed +- Route B (JoinIR経由): 407 passed, 11 failed ← **Route Bが優秀** + +**Phase 40-4.1: collect_assigned_vars削除**: +- ✅ `collect_assigned_vars` 関数削除(35行) +- ✅ loop_builder.rs Route Bデフォルト化(Route Aコード削除) +- ✅ テスト更新(5/5 PASS) + +**Phase 40-4.1.1: デッドコードクリーンアップ**: +- ✅ `use_joinir_for_array_filter()` 削除(env.rs, 9行)- Route Bデフォルト化でデッドコード +- ✅ `next_var_id()` 削除(ast_lowerer.rs, 7行)- `alloc_var()`と重複 + +**削減実績**: +- `collect_assigned_vars`: -35行 +- `use_joinir_for_array_filter`: -9行 +- `next_var_id`: -7行 +- **累計**: -51行 + +**Phase 35-40-4.1 累計削減**: 656行(Phase 35: 430行, Phase 38: 90行, Phase 40-4.1: 51行, その他: 85行) + +**残りLevel 2ターゲット(JoinIrConservativeAnalyzer 実装待ち)**: +- `compute_modified_names` (26行) +- `merge_with_reset_at_merge_with` (27行) +- `conservative.rs struct inline` (30行) +- **残り削減見込み**: 83行 + +**関連ドキュメント** +- `docs/private/roadmap2/phases/phase-40-if-phi-level2/TASKS.md` (Phase 40タスク一覧) +- `docs/private/roadmap2/phases/phase-40-if-phi-level2/README.md` (Phase 40詳細) +- `docs/private/roadmap2/phases/phase-30-final-joinir-world/PHI_BOX_INVENTORY.md` (削減記録更新) + +--- + ### 1-00m. Phase 40-2 — array_ext.filter JoinIR統合設計(docs-only)(**完了** 2025-11-28) **目的** diff --git a/docs/private b/docs/private index 4d50a25a..9151577e 160000 --- a/docs/private +++ b/docs/private @@ -1 +1 @@ -Subproject commit 4d50a25a820ebf1c7e258a2a567a9118bb08f4be +Subproject commit 9151577e39e85c176cf3cc7a02e2d8f26077aa26