phase29ao(p2): composer coreplan via normalizer (unconnected)

This commit is contained in:
2025-12-30 04:25:24 +09:00
parent 5f965f9f80
commit 5318cec972
5 changed files with 122 additions and 10 deletions

View File

@ -2,7 +2,7 @@
## Current Focus: Phase 29aoCorePlan composition
Next: Phase 29ao P2CoreLoop skeleton → CorePlan
Next: Phase 29ao P3CoreLoop skeleton → CorePlan
運用ルール: integration filter で phase143_* は回さないJoinIR 回帰は phase29ae pack のみ)
運用ルール: phase286_pattern9_* は legacy pack (SKIP) を使う
移行道筋 SSOT: `docs/development/current/main/design/coreplan-migration-roadmap-ssot.md`
@ -17,6 +17,11 @@ Next: Phase 29ao P2CoreLoop skeleton → CorePlan
- 変更: `src/mir/builder/control_flow/plan/composer/mod.rs` / `docs/development/current/main/phases/phase-29ao/README.md` / `docs/development/current/main/10-Now.md` / `docs/development/current/main/30-Backlog.md` / `CURRENT_TASK.md`
- 検証: `cargo build --release` / `./tools/smokes/v2/run.sh --profile quick` / `./tools/smokes/v2/profiles/integration/joinir/phase29ae_regression_pack_vm.sh`
**2025-12-30: Phase 29ao P2 完了**
- 目的: `CanonicalLoopFacts → DomainPlan → PlanNormalizer → CorePlan` の bridge を未接続で固定
- 変更: `src/mir/builder/control_flow/plan/composer/mod.rs` / `docs/development/current/main/phases/phase-29ao/README.md` / `docs/development/current/main/10-Now.md` / `docs/development/current/main/30-Backlog.md` / `CURRENT_TASK.md`
- 検証: `cargo build --release` / `./tools/smokes/v2/run.sh --profile quick` / `./tools/smokes/v2/profiles/integration/joinir/phase29ae_regression_pack_vm.sh`
**2025-12-29: Phase 29an P15 完了**
- 目的: P0P14 の成果を closeout 形式でまとめ、次フェーズPhase 29ao入口を固定
- 変更: `docs/development/current/main/phases/phase-29an/README.md` / `docs/development/current/main/10-Now.md` / `docs/development/current/main/30-Backlog.md` / `CURRENT_TASK.md`

View File

@ -15,7 +15,7 @@ Related:
- **Phase 29aoactive: CorePlan composition from Skeleton/Feature**
- 入口: `docs/development/current/main/phases/phase-29ao/README.md`
- 状況: P0/P1 ✅ 完了 / Next: P2
- 状況: P0/P1/P2 ✅ 完了 / Next: P3
- **Phase 29af✅ COMPLETE: Boundary hygiene / regression entrypoint / carrier layout SSOT**
- 入口: `docs/development/current/main/phases/phase-29af/README.md`

View File

@ -28,10 +28,13 @@ GateSSOT:
- `CorePlan``BasicBlockId/ValueId/Frag` を要求するため、Facts→合成の段階で **どこが allocation を持つか**を SSOT として固定する
- まずは “bridge” として、composer が `CanonicalLoopFacts` から `DomainPlan`(既存語彙)を構築して `PlanNormalizer` を呼べる形まで整える(未接続のまま)
## P2: Composer→Normalizer bridge未接続・仕様不変
- 指示書: `docs/development/current/main/phases/phase-29ao/P2-COREPLAN-COMPOSER-VIA-NORMALIZER-INSTRUCTIONS.md`
- ねらい: `CanonicalLoopFacts → DomainPlan → PlanNormalizer → CorePlan` の橋渡しを未接続で固定
## Nextplanned
- P2: Composer→Normalizer bridge未接続のまま `CanonicalLoopFacts→DomainPlan→CorePlan` を固定)
- 指示書: `docs/development/current/main/phases/phase-29ao/P2-COREPLAN-COMPOSER-VIA-NORMALIZER-INSTRUCTIONS.md`
- P3: CoreLoop skeletonpreheader/header/body/exit`CorePlan` 語彙で直接生成effects/phis/frag は “最小で正しい”)
- P4: ExitMap presence を `Frag/ExitMap` と結ぶbreak/continue/return を feature 合成へ寄せる)
- P5: Cleanup presence を ExitKind 単位で wireeffect/cleanup SSOT に従う、観測差分なし)