Files
hakorune/src
tomoaki abdb860e7e refactor(pattern2): introduce PromoteDecision enum to eliminate Option wrapping ambiguity
Phase 263 P0.1: PromoteDecision API hardening

目的: Result<Option<PromoteStepResult>, String> の揺れを型で固定し、迷子をゼロに

Changes:
- promote_step_box.rs:
  - PromoteDecision enum を導入(Promoted/NotApplicable/Freeze)
  - PromoteStepBox::run() の戻り値を Result<PromoteDecision, String> に統一
  - promote_and_prepare_carriers() が inputs の所有権を受け取り、PromoteDecision を直接構築
  - Reject 分岐を型安全に二分化(文字列マッチング維持、型で意図を明確化)
- pattern2_lowering_orchestrator.rs:
  - orchestrator 側の分岐を1箇所に固定(match PromoteDecision {...})
  - NotApplicable → Ok(None) で後続経路へ
  - Freeze → Err で Fail-Fast

受け入れ:
- quick smoke: 45/46 PASS (悪化なし)
- NotApplicable は必ず Ok(None) で Pattern2全体を抜ける
- Freeze は必ず Err(fail-fast)

Next: ファイル構造リファクタリング(pattern2/api/ フォルダ化)を別フェーズで検討
2025-12-21 10:54:46 +09:00
..