Files
hakorune/docs/development/current/main/phases/phase-29al/P2-EFFECT-CLASSIFICATION-SSOT-INSTRUCTIONS.md

64 lines
1.9 KiB
Markdown
Raw Normal View History

---
Status: Active
Scope: docs-first仕様不変
Related:
- docs/development/current/main/phases/phase-29al/README.md
- docs/development/current/main/design/effect-classification-ssot.md
- src/mir/effect.rs
---
# Phase 29al P2: Effect classification SSOTdocs-first
Date: 2025-12-29
Status: Ready for execution
Scope: effect 分類と最小の変形規約を SSOT 化する(仕様不変)
## Objective
- “どの変形が許されるか” を effect で固定し、JoinIR/PlanFrag/CorePlan/最適化/RC insertion が相互に壊さない境界を作る
- 実装者が `PURE` を都合で付け替える事故を防ぐSSOT + 参照導線)
## Non-goals
- 新しい最適化の追加
- 既存の effect 実装変更(コードは触らない)
- 新 env var 追加
- release 挙動/ログの変更
## Steps
### Step 1: effect SSOT を design に追加
Add:
- `docs/development/current/main/design/effect-classification-ssot.md`
Must include:
- primary categoriesPure/Mut/Io/Control
- PlanFrag/CorePlan の effect 境界(`CoreEffectPlan::MethodCall.effects` 等)
- “許される変形” の最小法典DCE/CSE/再順序)
- RC insertion と effect の扱い(削除禁止・順序保持)
### Step 2: 参照導線を追加
Update:
- `docs/development/current/main/design/planfrag-ssot-registry.md`
- 必要なら `docs/development/current/main/design/joinir-plan-frag-ssot.md` に関連リンク
### Step 3: Phase 入口と運用を更新
Update:
- `docs/development/current/main/phases/phase-29al/README.md`
- `docs/development/current/main/10-Now.md`
- `docs/development/current/main/30-Backlog.md`
- `CURRENT_TASK.md`
## Verification
- docs-only のため必須なし
- 任意: `./tools/smokes/v2/profiles/integration/joinir/phase29ae_regression_pack_vm.sh`
## Commit
- `git add -A && git commit -m "docs(phase29al): effect classification ssot"`