# Document Harness Phase Templates ## Top-Level Phase Index Create or update `phases/index.json`. ```json { "phases": [ { "dir": "0-document", "status": "pending" } ] } ``` ## Task Index Create `phases/{task-name}/index.json`. ```json { "project": "<문서 프로젝트명>", "phase": "", "steps": [ { "step": 0, "name": "rule-synthesis", "status": "pending" }, { "step": 1, "name": "research-note", "status": "pending" }, { "step": 2, "name": "draft-documents", "status": "pending" }, { "step": 3, "name": "draft-feedback-gate", "status": "pending" }, { "step": 4, "name": "final-documents", "status": "pending" }, { "step": 5, "name": "final-feedback-gate", "status": "pending" } ] } ``` ## Step File Create `phases/{task-name}/step{N}.md`. ```markdown # Step {N}: {이름} ## 읽어야 할 파일 먼저 아래 파일들을 읽고 문서 목적과 작성 기준을 파악하라: - `/AGENTS.md` - `/docs/PRD.md` - `/docs/ARCHITECTURE.md` - `/docs/ADR.md` - `/docs/UI_GUIDE.md` - {이전 step에서 생성/수정된 파일 경로} ## 작업 {구체적인 문서 작성 또는 검토 지시. 파일 경로, 산출물 이름, 반영해야 할 PRD 항목, 출처 기준을 포함한다.} ## Acceptance Criteria ```bash python scripts/validate_docs.py ``` ## 검증 절차 1. 위 AC 커맨드를 실행한다. 2. 문서 체크리스트를 확인한다: - `docs/PRD.md`의 목적, 독자, 범위를 벗어나지 않았는가? - 외부 사실은 `docs/ResearchNote.md`의 출처와 연결되는가? - 초안은 `drafts/`, 최종본은 `final/`에 분리되었는가? - 사용자 피드백 파일을 삭제하거나 덮어쓰지 않았는가? 3. 결과에 따라 `phases/{task-name}/index.json`의 해당 step을 업데이트한다: - 성공 -> `"status": "completed"`, `"summary": "산출물 한 줄 요약"` - 수정 3회 시도 후에도 실패 -> `"status": "error"`, `"error_message": "구체적 에러 내용"` - 사용자 개입 필요 -> `"status": "blocked"`, `"blocked_reason": "구체적 요청 사항"` 후 즉시 중단 ## 금지사항 - PRD에 없는 문서 목표를 추가하지 마라. 이유: 사용자 의도가 흐려진다. - 출처 없는 외부 사실을 최종 문서에 단정하지 마라. 이유: 검증 가능성이 사라진다. - 초안 파일을 최종본으로 덮어쓰지 마라. 이유: 피드백 전후 변경 추적이 어렵다. - 사용자 피드백 파일을 삭제하지 마라. 이유: 의사결정 기록이 사라진다. - 직접 `git commit`하지 마라. 이유: `scripts/execute.py`가 step 완료 후 커밋을 관리한다. ```