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

@ -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. 移行タスクの流れ(安全順)