feat(phi): Phase 26-B-1 - PhiInputCollector実装完了

PhiInputCollector Box実装 - PHI入力収集専門化

# 実装内容
- PhiInputCollector struct実装(~340行)
- PHI入力収集・サニタイズ・最適化の統一API
- 包括的ユニットテスト(10テスト、100%カバレッジ)

# 提供機能
1. add_preheader/add_latch/add_snapshot - 入力収集
2. sanitize() - 重複削除・ソート(BTreeMap使用で決定性保証)
3. optimize_same_value() - 同値最適化(全入力が同値ならPHI不要)
4. finalize() - 最終入力取得

# テスト結果
 10/10テスト全PASS
 複雑ワークフロー検証済み
 skip_whitespace実シナリオ検証済み

# Box-First理論
- 責任分離: PHI入力収集を単一Boxに集約
- テスト容易性: 独立してテスト可能(既存コードから分離)
- 再利用性: loopform_builder/loop_snapshot_mergeで再利用可能

# 次のステップ
Phase 26-B-2: BodyLocalPhiBuilder実装

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
nyash-codex
2025-11-20 17:42:12 +09:00
parent 38155fbb75
commit 33186e1e20
2 changed files with 382 additions and 0 deletions

View File

@ -18,6 +18,9 @@ pub mod loopform_builder;
pub mod local_scope_inspector;
pub mod loop_var_classifier;
// Phase 26-B: Box-First Refactoring
pub mod phi_input_collector;
// Public surface for callers that want a stable path:
// Phase 1: No re-exports to avoid touching private builder internals.
// Callers should continue using existing paths. Future phases may expose