64 lines
1.9 KiB
Markdown
64 lines
1.9 KiB
Markdown
|
|
---
|
|||
|
|
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 SSOT(docs-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 categories(Pure/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"`
|
|||
|
|
|