## 変更内容 Task 1(既完了): boundary パラメータを bridge 経路全体に伝播 - conversion_pipeline.rs, bridge.rs(複数箇所), meta.rs, routing_legacy_binding.rs, execute_box.rs Task 2-A~2-D: Select 命令の実装 - 2-A: MirInstruction::Select バリアント追加 - 2-B: JoinIR Select → MIR Select 直接変換(branch+phi展開廃止) - 2-C: ⭐ joinir_id_remapper に Select remap case(ValueId変換の根治) - 2-D: value_collector に Select case ## 根本原因解決 Pattern7 の JoinInst::Select が JoinIR→MIR で未対応 → ValueId(1002) → ValueId(57) のリマップが行われず → "use of undefined value ValueId(57)" エラー ## 現在地 ✅ cargo check: 0 errors ⏳ Pattern7/6 VM test(Task 2-E LLVM実装後) 🧠 Generated with Claude Code Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
Legacy JoinIR Routing
残す理由
- 既存コードパスとの互換性維持: Pattern 1-4 の段階的移行中は legacy routing が必要
- 段階的移行のための過渡期対応: Normalized shadow が全ケースをカバーするまでの橋渡し
- 回帰テスト基盤: 既存の動作を保持しながら新しい routing を並行開発
撤去条件
以下の条件がすべて満たされたときに legacy routing を削除する:
- Normalized shadow が全ケースをカバー: Phase 131+ の normalized loop(true) パターンが完全に動作
- Pattern 1-4 が完全に安定: 既存のループパターンすべてが新 routing で動作
- 回帰テストが完全にカバー: 既存テストがすべて新 routing でパス
- 依存箇所がゼロ: routing.rs の fallback path が完全に削除済み
依存箇所
現在 legacy routing を使用している箇所:
routing.rsの fallback path: Pattern 1-4 が新 routing で処理できない場合の退避経路- テストケース: 一部のテストが legacy routing を前提としている可能性
移行ステップ(将来)
- Phase 132+: Pattern 1-4 の新 routing 完成
- Phase 135+: 回帰テスト全通過確認
- Phase 140+: routing.rs の fallback path 削除
- Phase 145+: legacy/ ディレクトリ削除
ファイル構成
routing_legacy_binding.rs: Legacy binding system(既存コード)mod.rs: Module export(このファイル)README.md: このファイル(削除条件・移行計画)