phase29ao(p54): ssot composer v0/v1 adopt entrypoint

This commit is contained in:
2025-12-30 21:46:41 +09:00
parent 00130c0852
commit 4d94a5c033
8 changed files with 90 additions and 39 deletions

View File

@ -3,7 +3,7 @@
## Current Focus
- Phase: `docs/development/current/main/phases/phase-29ao/README.md`
- Next: TBD (P53 done; see `docs/development/current/main/phases/phase-29ao/README.md`)
- Next: TBD (P54 done; see `docs/development/current/main/phases/phase-29ao/README.md`)
## Gate (SSOT)

View File

@ -5,7 +5,7 @@ Scope: 「次にやる候補」を短く列挙するメモ。入口は `docs/dev
## Active
- CorePlan migration: `docs/development/current/main/phases/phase-29ao/README.md`Next: TBD, P53 done
- CorePlan migration: `docs/development/current/main/phases/phase-29ao/README.md`Next: TBD, P54 done
## Near-Term Candidates

View File

@ -0,0 +1,24 @@
# CoreLoopComposer v0/v1 boundary SSOT
This document fixes the responsibility boundary between CoreLoopComposer v0 and v1.
## Scope
- v0 handles loops where `value_join_needed == false`.
- v1 handles loops where `value_join_needed == true`.
- The selection is made at the composer entrypoints (not in the router).
## Gates (current minimal contract)
- v0: `value_join_needed == false`, `skeleton_kind == Loop`, return-only exits, no cleanup.
- v1: `value_join_needed == true`, `skeleton_kind == Loop`, return-only exits, no cleanup.
## Behavior
- If the gate fails, v0/v1 returns `Ok(None)` and the caller falls back to legacy paths.
- In strict/dev shadow adopt, a `None` result is treated as fail-fast with a clear error.
## Notes
- Pattern6 (ScanWithInit) currently has no v1 composition yet; v1 must return `None`.
- Pattern2/3/5/7 value-join paths are intended to live in v1.

View File

@ -34,7 +34,7 @@ Related:
## 1.1 Current (active)
- Active phase: `docs/development/current/main/phases/phase-29ao/README.md`
- Next step: TBD (P53 done)
- Next step: TBD (P54 done)
## 2. すでに固めた SSOT再発防止の土台
@ -42,6 +42,7 @@ Related:
- post-phi final form: `docs/development/current/main/design/post-phi-final-form-ssot.md`
- effect classification: `docs/development/current/main/design/effect-classification-ssot.md`
- cleanup contract: `docs/development/current/main/design/exitkind-cleanup-effect-contract-ssot.md`
- composer v0/v1 boundary: `docs/development/current/main/design/coreloop-composer-v0-v1-boundary-ssot.md`
## 3. 移行タスクの流れ(安全順)

View File

@ -291,6 +291,11 @@ GateSSOT:
- 指示書: `docs/development/current/main/phases/phase-29ao/P53-SCANWITHINIT-V0V1-BOUNDARY-INSTRUCTIONS.md`
- ねらい: ScanWithInit を v0/v1 分離で固定し、value_join_needed の境界をSSOT化仕様不変
## P54: CoreLoopComposer v0/v1 closeout — adopt entrypoint SSOT ✅
- SSOT: `docs/development/current/main/design/coreloop-composer-v0-v1-boundary-ssot.md`
- ねらい: Pattern6/7 の v0/v1 分岐を入口で一本化し、境界責務をSSOT化仕様不変
## Nextplanned
- Next: TBD