# SDD User Review Log

## 상태

해결됨

## 검토 대상

- SDD: [SDD.md](SDD.md)
- Milestone: [iop-agent-cli-runtime](../../../phase/automation-runtime-bridge/milestones/iop-agent-cli-runtime.md)

## 확정된 추가 설계 기준

### [D06] 병렬 COW Overlay와 직렬 통합

- 상태: 확정
- 확정: 등록한 현재 repository를 canonical base로 유지하고, 같은 workspace의 dependency-ready 병렬 task마다 같은 pinned base snapshot을 읽는 독립 writable layer를 제공한다.
- 확정: task process는 canonical base를 직접 변경하지 않는다. 변경 파일과 task별 build/temp/cache 출력은 격리 영역에 기록하고, worker·selfcheck·review는 같은 task view를 이어서 사용한다.
- 확정: task가 review gate를 통과하면 base fingerprint와 file operation을 포함한 immutable change set으로 동결하고 `iop-agent`가 canonical workspace에 하나씩 통합한다.
- 확정: 통합 순서는 완료 속도가 아니라 dispatch 시 부여한 ordinal로 결정한다. 충돌 없는 three-way 결과는 전자동 정책 안에서 자동 승인한다.
- 확정: merge conflict, 검증 실패 또는 `iop-agent`가 관리하지 않은 base drift가 있으면 canonical base에 partial mutation을 남기지 않고 해당 task만 blocker로 전환하며 원본 overlay와 evidence를 보존한다.
- 확정: blocker는 해당 task에만 적용하고 뒤의 independent change set 통합을 막지 않는다. 해결된 task 결과는 새 immutable revision으로 다시 검증해 현재 queue 뒤에 통합한다.
- 확정: 실제 branch/index/commit 의미가 필요하거나 task view를 지원하지 않는 도구에만 격리 worktree 또는 full clone을 fallback으로 사용한다. 기본 병렬화 수단은 전체 clone이 아니다.
- 확정: 성공한 overlay는 durable integration·reconciliation 뒤 정리하고 실패·충돌 overlay는 해결 또는 명시 폐기 전까지 user-local retention 정책에 따라 보존한다.
- 관계: [D03](user_review_0.log)의 explicit predecessor 기준은 유지하되, same-workspace write-set 겹침·미확정 처리 방식은 사전 직렬화보다 task overlay 병렬 실행과 사후 직렬 통합을 우선하는 것으로 구체화한다.
- 영향: scheduler admission, filesystem isolation, Git metadata boundary, review view, change-set schema, deterministic merge, restart recovery와 Flutter·Unity 오류 상태에 영향을 준다.
- 적용 위치:
  - SDD: `State Machine`, `Interface Contract`, `Acceptance Scenarios`, `Evidence Map`, `작업 컨텍스트`
  - Milestone: `workspace-isolation`, `task-manager`, `cli-surface`
  - Phase: 같은 workspace 병렬 실행 경계

## 승인 항목

- [x] D06 task별 COW writable layer가 기본 same-workspace 병렬 실행 방식으로 반영됐다.
- [x] canonical base 통합은 결정적 순서의 직렬 merge로 고정됐다.
- [x] clean merge 자동 승인과 conflict·검증 실패·base drift blocker가 반영됐다.
- [x] worktree/full clone이 실제 Git 격리 필요 시 fallback으로 분리됐다.
- [x] SDD 잠금 상태를 해제로 유지한다.

## 답변 기록

- 2026-07-28: 사용자는 동시 병렬 실행 시 파일을 별도 영역으로 분리해 작업하고 이후 merge를 거치는 방식으로 확정했다.
- 2026-07-28: 앞선 설명에 따라 current repository를 base로 둔 task별 가상 writable layer, 자동 clean merge와 충돌 blocker를 설계 기준으로 반영하도록 승인했다.

## 해결 조건

- [x] D06이 SDD, Milestone과 Phase에 반영되어 있다.
- [x] Acceptance Scenario와 Evidence Map에 overlay 생성·격리 및 직렬 통합·충돌 복구 evidence가 연결되어 있다.
- [x] `USER_REVIEW.md`를 만들 필요가 있는 미해결 사용자 결정이 없다.
