docs(phase29an): add p3 freeze unstructured instructions
This commit is contained in:
@ -2,11 +2,16 @@
|
||||
|
||||
## Current Focus: Phase 29an(Skeleton/Feature Facts)
|
||||
|
||||
Next: Phase 29an P2(Planner staging: Skeleton→Feature)
|
||||
Next: Phase 29an P3(Freeze taxonomy: unstructured tag)
|
||||
運用ルール: integration filter で phase143_* は回さない(JoinIR 回帰は phase29ae pack のみ)
|
||||
運用ルール: phase286_pattern9_* は legacy pack (SKIP) を使う
|
||||
移行道筋 SSOT: `docs/development/current/main/design/coreplan-migration-roadmap-ssot.md`
|
||||
|
||||
**2025-12-29: Phase 29an P2 完了** ✅
|
||||
- 目的: planner を Skeleton→Feature→CandidateSet の段取りへ整理(候補/順序/挙動は不変)
|
||||
- 変更: `src/mir/builder/control_flow/plan/planner/build.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 P1 完了** ✅
|
||||
- 目的: FeatureFacts(まず ExitUsage)を Facts SSOT として追加(仕様不変・未接続)
|
||||
- 変更: `src/mir/builder/control_flow/plan/facts/feature_facts.rs` / `src/mir/builder/control_flow/plan/facts/loop_facts.rs`
|
||||
|
||||
@ -0,0 +1,55 @@
|
||||
---
|
||||
Status: Active
|
||||
Scope: code(仕様不変、Freeze taxonomy のSSOT整合)
|
||||
Related:
|
||||
- docs/development/current/main/phases/phase-29an/README.md
|
||||
- docs/development/current/main/design/planfrag-freeze-taxonomy.md
|
||||
- docs/development/current/main/phases/phase-29ae/README.md
|
||||
---
|
||||
|
||||
# Phase 29an P3: Freeze tag `unstructured` をコード側へ追加(SSOT整合)
|
||||
|
||||
Date: 2025-12-29
|
||||
Status: Ready for execution
|
||||
Scope: `Freeze` の語彙を taxonomy SSOT に合わせる(未使用のまま、仕様不変)
|
||||
|
||||
## Objective
|
||||
|
||||
- `docs/development/current/main/design/planfrag-freeze-taxonomy.md` にある `unstructured`(irreducible / multi-entry 等)を、コード側 `Freeze` にも追加する
|
||||
- 将来の Skeleton 一意化(P4+)で `Freeze::unstructured(...)` を使える土台を作る
|
||||
|
||||
## Non-goals
|
||||
|
||||
- 既存の挙動変更(この P3 では `unstructured` を発火させない)
|
||||
- 新 env var / 恒常ログ追加
|
||||
- error message の変更(`Display` の既存フォーマットは維持)
|
||||
|
||||
## Implementation
|
||||
|
||||
### Step 1: `Freeze::unstructured()` を追加
|
||||
|
||||
Update:
|
||||
- `src/mir/builder/control_flow/plan/planner/freeze.rs`
|
||||
|
||||
Add:
|
||||
- `pub(in crate::mir::builder) fn unstructured(message: impl Into<String>) -> Self`
|
||||
- `tag: "unstructured"`
|
||||
- `message: ...`
|
||||
|
||||
### Step 2: unit test を追加
|
||||
|
||||
同ファイル内の `#[cfg(test)]` でOK(新規モジュール不要)。
|
||||
|
||||
Test:
|
||||
- `Freeze::unstructured("x").to_string()` が `"[plan/freeze:unstructured] x"` を含む
|
||||
|
||||
## 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 "phase29an(p3): add freeze unstructured tag"`
|
||||
|
||||
@ -38,7 +38,11 @@ Status: ✅ COMPLETE(実装コミット: `c7fbcf3c8`)
|
||||
- ねらい: planner の内部構造を Skeleton→Feature→CandidateSet の段取りへ寄せる(候補/順序/挙動は不変)
|
||||
- Gate: `./tools/smokes/v2/profiles/integration/joinir/phase29ae_regression_pack_vm.sh`
|
||||
|
||||
Status: ✅ COMPLETE(実装コミット: `f866badb3`)
|
||||
|
||||
## Next(planned)
|
||||
|
||||
- P3: Skeleton 一意化(0/1/2+ → None/Some/Freeze)を “骨格推論” に限定して SSOT 化
|
||||
- P4: Feature 合成(ExitMap / ValueJoin / Cleanup)を CorePlan 合成へ繋ぐ
|
||||
- P3: Freeze taxonomy(`unstructured`)をコード語彙へ追加して SSOT 整合(まずは未使用の足場)
|
||||
- 指示書: `docs/development/current/main/phases/phase-29an/P3-FREEZE-UNSTRUCTURED-TAG-SSOT-INSTRUCTIONS.md`
|
||||
- P4: Skeleton 一意化(0/1/2+ → None/Some/Freeze)を “骨格推論” に限定して SSOT 化
|
||||
- P5: Feature 合成(ExitMap / ValueJoin / Cleanup)を CorePlan 合成へ繋ぐ
|
||||
|
||||
Reference in New Issue
Block a user