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

@ -1,14 +1,45 @@
# Phase 287: Normalizer Hygiene正規化器整理
# Phase 287: Developer Hygienebig files / smoke / normalizer
**Status**: Planning
**Date**: 2025-12-26
**Status**: In progress (P0/P1 complete, P2 next)
**Date**: 2025-12-27
**Previous**: Phase 286 (Plan Line完全運用化)
## 概要
## 概要SSOT
Phase 286 でPlan lineへの移行が完了したため、legacy Pattern5 削除とnormalizer.rs の整理を実施
Phase 287 は「開発導線の整備意味論不変」を優先して、巨大ファイルの責務分離big files refactoringと、既存の hygienesmoke/normalizerを扱う
## Phase 286 完了作業(本セッション)
## 2025-12-27 Update: Big Files RefactoringP0
`merge/mod.rs` を modularize意味論不変し、SSOTboundary-first / continuation SSOTを強化した。
- 入口: `docs/development/current/main/phases/phase-287/P0-BIGFILES-REFACTORING-INSTRUCTIONS.md`
## 2025-12-27 Update: AST Feature Extractor modularizationP1
`ast_feature_extractor.rs` を facade にして、`pattern_recognizers/` 配下へ recognizer 単位で分割した(意味論不変)。
- 入口: `docs/development/current/main/phases/phase-287/P1-AST_FEATURE_EXTRACTOR-INSTRUCTIONS.md`
-P2: `docs/development/current/main/phases/phase-287/P2-CONTRACT_CHECKS-MODULARIZATION-INSTRUCTIONS.md`
---
## Next (P2)
- `contract_checks.rs` を facade 化して、契約検証を “1 module = 1 契約” に分割する(意味論不変)。
- 指示書: `docs/development/current/main/phases/phase-287/P2-CONTRACT_CHECKS-MODULARIZATION-INSTRUCTIONS.md`
---
## Legacy / Historical (2025-12-26 plan)
以下は「Phase 287 を hygiene として計画していた時期のログ」。今後の候補として残すが、P0/P1big filesとは別系統。
### Legacy docssmoke quick
- P1legacy: quick 軽量化(~45s 目標): `docs/development/current/main/phases/phase-287/P1-INSTRUCTIONS.md`
- P2legacy, optional: quick をさらに 45s へ寄せる: `docs/development/current/main/phases/phase-287/P2-INSTRUCTIONS.md`
## Phase 286 完了作業historical
### ✅ Legacy Pattern5 削除488行
@ -78,9 +109,9 @@ Pattern4 → Pattern8 → Pattern9 → Pattern3 → Pattern1 → Pattern2
**注**: Pattern5/6/7 は Plan line 経由で処理(`PLAN_EXTRACTORS` テーブル)
## Phase 287 計画(後回し)
## Legacy backlog (post-2025-12-27)
### P0: normalizer.rs 分割計画
### (legacy) normalizer.rs 分割計画
**現状**: `src/mir/builder/control_flow/plan/normalizer.rs` が大きすぎる(推定 1,500+ 行)
@ -103,7 +134,7 @@ Pattern4 → Pattern8 → Pattern9 → Pattern3 → Pattern1 → Pattern2
- テスト分離Pattern5 正規化のみをユニットテスト)
- 責任分離SRP原則
### P1: LOOP_PATTERNS テーブル完全削除
### (legacy) LOOP_PATTERNS テーブル完全削除
**背景**: 全Pattern が Plan line 経由になれば、`LOOP_PATTERNS` テーブルは不要