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:
@ -1,14 +1,45 @@
|
||||
# Phase 287: Normalizer Hygiene(正規化器整理)
|
||||
# Phase 287: Developer Hygiene(big 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)と、既存の hygiene(smoke/normalizer)を扱う。
|
||||
|
||||
## Phase 286 完了作業(本セッション)
|
||||
## 2025-12-27 Update: Big Files Refactoring(P0)✅
|
||||
|
||||
`merge/mod.rs` を modularize(意味論不変)し、SSOT(boundary-first / continuation SSOT)を強化した。
|
||||
|
||||
- 入口: `docs/development/current/main/phases/phase-287/P0-BIGFILES-REFACTORING-INSTRUCTIONS.md`
|
||||
|
||||
## 2025-12-27 Update: AST Feature Extractor modularization(P1)✅
|
||||
|
||||
`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/P1(big files)とは別系統。
|
||||
|
||||
### Legacy docs(smoke quick)
|
||||
|
||||
- P1(legacy): quick 軽量化(~45s 目標): `docs/development/current/main/phases/phase-287/P1-INSTRUCTIONS.md`
|
||||
- P2(legacy, 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` テーブルは不要
|
||||
|
||||
|
||||
Reference in New Issue
Block a user