docs(phase29an): add p15 closeout; start phase29ao
This commit is contained in:
@ -2,7 +2,7 @@
|
||||
|
||||
## Current Focus: Phase 29an(Skeleton/Feature Facts)
|
||||
|
||||
Next: Phase 29an P14(ValueJoin facts scaffold)
|
||||
Next: Phase 29an P15(Closeout → Phase 29ao)
|
||||
運用ルール: integration filter で phase143_* は回さない(JoinIR 回帰は phase29ae pack のみ)
|
||||
運用ルール: phase286_pattern9_* は legacy pack (SKIP) を使う
|
||||
移行道筋 SSOT: `docs/development/current/main/design/coreplan-migration-roadmap-ssot.md`
|
||||
@ -37,6 +37,11 @@ Next: Phase 29an P14(ValueJoin facts scaffold)
|
||||
- 変更: `src/mir/builder/control_flow/plan/facts/feature_facts.rs` / `src/mir/builder/control_flow/plan/normalize/canonicalize.rs`
|
||||
- 検証: `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 P14 完了** ✅
|
||||
- 目的: ValueJoinFacts の語彙足場 + canonical projection を追加(未接続・仕様不変)
|
||||
- 変更: `src/mir/builder/control_flow/plan/facts/feature_facts.rs` / `src/mir/builder/control_flow/plan/normalize/canonicalize.rs` / `src/mir/builder/control_flow/plan/verifier.rs`
|
||||
- 検証: `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 P7 完了** ✅
|
||||
- 目的: CanonicalLoopFacts に skeleton/exit_usage の projection を追加(挙動不変)
|
||||
- 変更: `src/mir/builder/control_flow/plan/normalize/canonicalize.rs` / `src/mir/builder/control_flow/plan/planner/build.rs`
|
||||
|
||||
@ -10,9 +10,13 @@ Related:
|
||||
|
||||
- **Phase 29an(active): Skeleton/Feature Facts(SSOT)**
|
||||
- 入口: `docs/development/current/main/phases/phase-29an/README.md`
|
||||
- 状況: P0(Ready)
|
||||
- 状況: P0–P14 ✅ 完了 / Next: P15 closeout
|
||||
- Gate: `./tools/smokes/v2/profiles/integration/joinir/phase29ae_regression_pack_vm.sh`
|
||||
|
||||
- **Phase 29ao(candidate): CorePlan composition from Skeleton/Feature**
|
||||
- 入口: `docs/development/current/main/phases/phase-29ao/README.md`
|
||||
- 状況: P0(Ready: composer scaffold)
|
||||
|
||||
- **Phase 29af(✅ COMPLETE): Boundary hygiene / regression entrypoint / carrier layout SSOT**
|
||||
- 入口: `docs/development/current/main/phases/phase-29af/README.md`
|
||||
|
||||
|
||||
@ -0,0 +1,57 @@
|
||||
---
|
||||
Status: Active
|
||||
Scope: docs-only(Phase 29an の closeout)
|
||||
Related:
|
||||
- docs/development/current/main/phases/phase-29an/README.md
|
||||
- docs/development/current/main/design/coreplan-migration-roadmap-ssot.md
|
||||
- docs/development/current/main/10-Now.md
|
||||
- docs/development/current/main/30-Backlog.md
|
||||
---
|
||||
|
||||
# Phase 29an P15: Closeout(P0–P14まとめ・次フェーズ入口固定)
|
||||
|
||||
Date: 2025-12-29
|
||||
Status: Ready for execution
|
||||
Scope: docs-only(コード変更なし)
|
||||
|
||||
## Objective
|
||||
|
||||
- Phase 29an(Skeleton/Feature Facts)の成果と SSOT を 1枚にまとめて “完了” と言える状態にする
|
||||
- 次フェーズ(CorePlan composition)への入口を固定し、Now/Backlog/CURRENT_TASK を迷子にしない
|
||||
|
||||
## Deliverables(docs-only)
|
||||
|
||||
### Step 1: phase-29an README を closeout 形式へ
|
||||
|
||||
Update:
|
||||
- `docs/development/current/main/phases/phase-29an/README.md`
|
||||
|
||||
Add:
|
||||
- P0–P14 の完了一覧(commit hash)
|
||||
- “何が SSOT として揃ったか” の短いサマリー
|
||||
- SkeletonFacts / FeatureFacts(ExitUsage/ExitMap/Cleanup/ValueJoin)
|
||||
- Canonical projections(skeleton_kind/exit_usage/exit_kinds_present/cleanup_kinds_present/value_join_needed)
|
||||
- debug-only invariants(exit_usage↔plan / exit_usage↔exitmap / cleanup↔exitkind)
|
||||
- Next phase link(Phase 29ao)
|
||||
|
||||
### Step 2: Now/Backlog/CURRENT_TASK の更新
|
||||
|
||||
Update:
|
||||
- `docs/development/current/main/10-Now.md`
|
||||
- Current Focus を Phase 29ao に更新
|
||||
- Phase 29an P14/P15 の完了記録を追記
|
||||
- `docs/development/current/main/30-Backlog.md`
|
||||
- Phase 29an を ✅ COMPLETE に更新(現状は “P0 Ready” 表記が残っているので修正)
|
||||
- Phase 29ao を active/candidate として追加
|
||||
- `CURRENT_TASK.md`
|
||||
- Next implementation を Phase 29ao P0 へ差し替え
|
||||
|
||||
### Step 3: Commit(docs-only)
|
||||
|
||||
- `git add -A`
|
||||
- `git commit -m "docs(phase29an): closeout p0-p14; handoff to phase29ao"`
|
||||
|
||||
## Verification(optional, docs-only)
|
||||
|
||||
- `./tools/smokes/v2/run.sh --profile quick`
|
||||
|
||||
@ -123,7 +123,11 @@ Status: ✅ COMPLETE(実装コミット: `34ec46d13`)
|
||||
- 指示書: `docs/development/current/main/phases/phase-29an/P14-VALUEJOIN-VOCAB-SCAFFOLD-INSTRUCTIONS.md`
|
||||
- ねらい: join値(post-phi)を Feature として合成するための語彙と projection の足場を作る(未接続、仕様不変)
|
||||
|
||||
Status: ✅ COMPLETE(実装コミット: `395f3b01d`)
|
||||
|
||||
## Next(planned)
|
||||
|
||||
- P15: Phase 29an closeout(P0–P14 の成果/SSOT/次フェーズ入口を確定)
|
||||
- 指示書: `docs/development/current/main/phases/phase-29an/P15-CLOSEOUT-INSTRUCTIONS.md`
|
||||
- Next phase: Phase 29ao(CorePlan composition: Feature合成→Normalizerへ)
|
||||
- 入口: `docs/development/current/main/phases/phase-29ao/README.md`
|
||||
|
||||
@ -0,0 +1,66 @@
|
||||
---
|
||||
Status: Active
|
||||
Scope: code(仕様不変、未接続の足場)
|
||||
Related:
|
||||
- docs/development/current/main/phases/phase-29ao/README.md
|
||||
- docs/development/current/main/phases/phase-29an/README.md
|
||||
- docs/development/current/main/design/coreplan-migration-roadmap-ssot.md
|
||||
- docs/development/current/main/phases/phase-29ae/README.md
|
||||
---
|
||||
|
||||
# Phase 29ao P0: CorePlan composer scaffold(CanonicalLoopFacts→CorePlan、未接続)
|
||||
|
||||
Date: 2025-12-29
|
||||
Status: Ready for execution
|
||||
Scope: “CorePlan 合成” の入口を作るだけ(未接続=仕様不変)
|
||||
|
||||
## Objective
|
||||
|
||||
- `CanonicalLoopFacts`(projection済み)から `CorePlan` を合成する入口関数を 1 箇所に作る
|
||||
- 以後の拡張は “合成ロジック” をここに閉じ込め、emit/merge は再解析しない方針を守る
|
||||
|
||||
## Non-goals
|
||||
|
||||
- 既存ルーティング/観測/エラー文字列の変更
|
||||
- `Ok(None)` gate を減らす(P0 は常に Ok(None) でも良い)
|
||||
- Frag/ExitMap の wire を入れる(P1+)
|
||||
- 新 env var / 恒常ログ追加
|
||||
|
||||
## Implementation
|
||||
|
||||
### Step 1: composer モジュール追加(leaf)
|
||||
|
||||
Add:
|
||||
- `src/mir/builder/control_flow/plan/composer/mod.rs`
|
||||
|
||||
API(案):
|
||||
|
||||
- `pub(in crate::mir::builder) fn try_compose_core_plan_from_canonical_facts(facts: &CanonicalLoopFacts) -> Result<Option<CorePlan>, Freeze>`
|
||||
|
||||
P0の実装:
|
||||
- 必ず `Ok(None)` を返す(未接続の足場)
|
||||
- `facts.skeleton_kind == Loop` であることを `debug_assert!`(P6と整合)
|
||||
|
||||
### Step 2: plan/mod.rs に module 登録(未使用)
|
||||
|
||||
Update:
|
||||
- `src/mir/builder/control_flow/plan/mod.rs`
|
||||
|
||||
Add:
|
||||
- `pub(in crate::mir::builder) mod composer;`
|
||||
|
||||
### Step 3: unit test(存在確認)
|
||||
|
||||
Add minimal test:
|
||||
- ダミーの `CanonicalLoopFacts` を作って `Ok(None)` が返る(パニックしない)
|
||||
|
||||
## Verification(required)
|
||||
|
||||
- `cargo build --release`
|
||||
- `./tools/smokes/v2/run.sh --profile quick`
|
||||
- `./tools/smokes/v2/profiles/integration/joinir/phase29ae_regression_pack_vm.sh`
|
||||
|
||||
## Commit
|
||||
|
||||
- `git add -A && git commit -m \"phase29ao(p0): add coreplan composer scaffold\"`
|
||||
|
||||
30
docs/development/current/main/phases/phase-29ao/README.md
Normal file
30
docs/development/current/main/phases/phase-29ao/README.md
Normal file
@ -0,0 +1,30 @@
|
||||
---
|
||||
Status: Active
|
||||
Scope: CorePlan composition(Feature合成→Normalizerへ、仕様不変で段階導入)
|
||||
Related:
|
||||
- docs/development/current/main/design/coreplan-migration-roadmap-ssot.md
|
||||
- docs/development/current/main/design/coreplan-skeleton-feature-model.md
|
||||
- docs/development/current/main/design/post-phi-final-form-ssot.md
|
||||
- docs/development/current/main/design/exitkind-cleanup-effect-contract-ssot.md
|
||||
- docs/development/current/main/phases/phase-29ae/README.md
|
||||
---
|
||||
|
||||
# Phase 29ao: CorePlan composition from Skeleton/Feature (Step-C/D)
|
||||
|
||||
Goal: DomainPlan の “complete pattern” に寄り過ぎない形で、**Skeleton + Feature** から `CorePlan` を合成していく(仕様不変で段階導入)。
|
||||
|
||||
Gate(SSOT):
|
||||
- `./tools/smokes/v2/profiles/integration/joinir/phase29ae_regression_pack_vm.sh`
|
||||
|
||||
## P0: Composer scaffold(未接続・仕様不変)
|
||||
|
||||
- 指示書: `docs/development/current/main/phases/phase-29ao/P0-COREPLAN-COMPOSER-SCAFFOLD-INSTRUCTIONS.md`
|
||||
- ねらい: `CanonicalLoopFacts`(projection済み)→ `CorePlan` 合成の入口を 1 箇所に作り、以後の実装を “合成だけ” に寄せる
|
||||
|
||||
## Next(planned)
|
||||
|
||||
- P1: CoreLoop skeleton(preheader/header/body/exit)を `CorePlan` 語彙で生成(effectsは空)
|
||||
- P2: ExitMap presence を `Frag/ExitMap` と結ぶ(break/continue/return の wire を “語彙だけ” 先に固定)
|
||||
- P3: Cleanup presence を ExitKind 単位で wire(実装は最小、観測差分なし)
|
||||
- P4: ValueJoin presence を post-phi SSOT に沿って wire(局所 verify から)
|
||||
|
||||
Reference in New Issue
Block a user