Sprint 000 전체 태스크 cc:완료 처리. 다음: Sprint 001 (스켈레톤 — TypeScript + XState + CLI) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
3.6 KiB
3.6 KiB
SPRINT-000 — 세이프티 네트 + 실패 감사 + 프로젝트 세팅
목표: 기존 hanarang-harness 를 안전하게 보존하고, 실패 모드를 감사하고, hanarang-rails 의 계획 문서 뼈대를 세운다. 코드는 단 한 줄도 작성하지 않는다.
Scope
- 기존 자산 보존 (push, archive, repo 가시성 전환)
- 실패 감사 문서화 (F1–F6)
.plans/계층 문서 세트 작성 (OVERVIEW, failure-audit, design/, sprints/, migration/*)- Gitea 에 신규 repo 생성 + 초기 커밋
- Claude Code harness-setup init (CLAUDE.md, Plans.md, .claude/rules, hooks)
Non-Goals
- package.json, src/, TypeScript 코드 — Sprint 001 에서 시작
- XState 머신 구현, orchestrator 구현
- 자매 spawn 로직
- 디스코드 브릿지 코드
Tasks
| # | 내용 | DoD | Status |
|---|---|---|---|
| 0.1 | 기존 hanarang-harness dirty 파일 커밋 + 24커밋 push | origin/main == HEAD |
cc:완료 |
| 0.2 | 중복 clone 삭제 + archive 이름 변경 | hanarang-harness-archive 존재, openclaw-harness 없음 |
cc:완료 |
| 0.3 | Gitea openclaw-harness repo private 전환 |
API 로 private: true 확인 |
cc:완료 |
| 0.4 | Gitea hanarang-rails repo 생성 (public) |
URL 접근 가능 | cc:완료 |
| 0.5 | 로컬 hanarang-rails/ 스캐폴딩 (README, LICENSE, .gitignore) |
초기 커밋 push 완료 | cc:완료 |
| 0.6 | harness-setup init — CLAUDE.md (분할), Plans.md, .claude/rules/, hooks/ |
전부 생성 + CLAUDE.md ≤ 30 lines | cc:완료 |
| 0.7 | .plans/OVERVIEW.md 작성 |
문서 존재, 성공 기준 8개 명시 | cc:완료 |
| 0.8 | .plans/failure-audit.md 작성 (F1–F6) |
문서 존재, 각 실패에 증거 인용 포함 | cc:완료 |
| 0.9 | .plans/design/state-machine.md 작성 |
문서 존재, 상태 다이어그램 포함 | cc:완료 |
| 0.10 | .plans/design/sprint-contract.md 작성 |
Zod schema 초안 포함 | cc:완료 |
| 0.11 | .plans/design/skill-enforcement.md 작성 |
Layer 1–4 명시 | cc:완료 |
| 0.12 | .plans/design/handoff.md 작성 |
HandoffMessage 스키마 포함 | cc:완료 |
| 0.13 | .plans/design/retry-policy.md 작성 |
backoff 수식 + 에스컬레이션 트리거 | cc:완료 |
| 0.14 | .plans/design/qa-template.md 작성 |
타입별 템플릿 4종 이상 | cc:완료 |
| 0.15 | .plans/sprints/SPRINT-001~007.md 초안 작성 |
각 파일 존재 + Scope/Tasks/DoD | cc:완료 |
| 0.16 | .plans/migration/from-hanarang-harness.md 초안 작성 |
유지/계승/폐기 자산 매트릭스 | cc:완료 |
| 0.17 | Plans.md 루트 인덱스 완성 (스프린트 목차 + 링크) | 모든 스프린트 링크 유효 | cc:완료 |
| 0.18 | Sprint 000 전체 commit + push | Gitea 에 반영 | cc:완료 |
Definition of Done
Sprint 000 은 다음 조건을 전부 만족해야 완료:
- 기존 자산 손실 0건 (git push 완료, dirty 변경 보존)
.plans/하위 17개 문서 존재 + 최소 스켈레톤 내용- README, CLAUDE.md, Plans.md 루트 인덱스 유효
- Gitea
hanarang-rails에 Sprint 000 전체가 push 되어있음 harness-setup init이 생성한 hook/settings 파일이 정상- CLAUDE.md ≤ 30 lines (분할 완료)
Risks
- 장문의 문서 작성 중 컨텍스트 한도 초과 → 해결: 병렬 Write + phase 단위 commit
- 디자인 문서가 Sprint 001 에서 뒤집힐 가능성 → 허용: Sprint 000 은 "초안" 품질. 001 에서 정제
Exit Criteria
- Plans.md 상단에 "Current Sprint: SPRINT-001" 표시
git log --oneline에 Sprint 000 완료 커밋이 보임- 사용자(나봄하랑) 가 계획 문서 확인 후 승인