refactor(joinir): Phase 287 P2 - Modularize contract_checks (facade pattern)

- contract_checks.rs (846行) を facade 化
- 6モジュールへ分割(1 module = 1 contract):
  - terminator_targets.rs (208行) - Branch/Jump検証
  - exit_bindings.rs (35行) - exit_bindings ↔ exit_phis
  - carrier_inputs.rs (145行) - carrier_inputs完全性
  - boundary_creation.rs (160行) - B1/C2不変条件
  - entry_params.rs (317行) - Entry param一貫性
  - mod.rs (30行) - Facade
- Total: 846 → 895行(+49行モジュール境界オーバーヘッド)
- 意味論不変: エラータグ/ヒント文すべて保存
- Fail-Fast遵守: silent fallback追加なし
- 検証: Build 0 errors / Pattern6 RC=9 / quick 154/154 PASS

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
2025-12-27 11:05:40 +09:00
parent de1cd1fea0
commit fe895e8838
14 changed files with 1195 additions and 866 deletions

View File

@ -13,10 +13,11 @@ Related:
- SSOT: `docs/reference/language/repl.md`
- 次: Phase 288.2+(任意): REPL UX improvementshistory / multiline / load 等)
- **Phase 287✅ complete: ビルド/テスト軽量化quick gate の責務分離**
- 目的: `tools/smokes/v2/run.sh --profile quick` を 45秒以内目安へ戻し、開発サイクルを軽くする
- **Phase 287active: Big Files Refactoring follow-ups意味論不変**
- 状況: P0/P1 ✅ 完了merge modularize / ast_feature_extractor facade
-P2: `contract_checks.rs` を facade 化して契約単位で分割
- 入口: `docs/development/current/main/phases/phase-287/README.md`
- 手順: `docs/development/current/main/phases/phase-287/P1-INSTRUCTIONS.md`
- 指示書: `docs/development/current/main/phases/phase-287/P2-CONTRACT_CHECKS-MODULARIZATION-INSTRUCTIONS.md`
- **Phase 284✅ COMPLETE: Return as ExitKind SSOTpatternに散らさない**
- 目的: `return` を “pattern最適化の個別実装” にせず、`ExitKind``compose::*` / `emit_frag()` に収束させる