# Legacy JoinIR Routing

## 残す理由

- **既存コードパスとの互換性維持**: Pattern 1-4 の段階的移行中は legacy routing が必要
- **段階的移行のための過渡期対応**: Normalized shadow が全ケースをカバーするまでの橋渡し
- **回帰テスト基盤**: 既存の動作を保持しながら新しい routing を並行開発

## 撤去条件

以下の条件がすべて満たされたときに legacy routing を削除する：

1. **Normalized shadow が全ケースをカバー**: Phase 131+ の normalized loop(true) パターンが完全に動作
2. **Pattern 1-4 が完全に安定**: 既存のループパターンすべてが新 routing で動作
3. **回帰テストが完全にカバー**: 既存テストがすべて新 routing でパス
4. **依存箇所がゼロ**: routing.rs の fallback path が完全に削除済み

## 依存箇所

現在 legacy routing を使用している箇所：

- `routing.rs` の fallback path: Pattern 1-4 が新 routing で処理できない場合の退避経路
- テストケース: 一部のテストが legacy routing を前提としている可能性

## 移行ステップ（将来）

1. **Phase 132+**: Pattern 1-4 の新 routing 完成
2. **Phase 135+**: 回帰テスト全通過確認
3. **Phase 140+**: routing.rs の fallback path 削除
4. **Phase 145+**: legacy/ ディレクトリ削除

## ファイル構成

- `routing_legacy_binding.rs`: Legacy binding system（既存コード）
- `mod.rs`: Module export（このファイル）
- `README.md`: このファイル（削除条件・移行計画）
