- CLAUDE.md 를 .claude/rules/ 4파일로 분할 (project/stack/principles/workflow) - Plans.md 루트 인덱스 (스프린트 목차 + 참조만) - hooks/ pre/post-tool.sh 스켈레톤 (no-op, Sprint 002에서 구현) - .plans/OVERVIEW.md — 목표/범위/성공기준 8개 - .plans/failure-audit.md — F1~F6 실패 감사 (증거 기반) - .plans/design/ 6개 문서: * state-machine.md (XState v5 FSM 설계) * sprint-contract.md (Zod schema + validator) * skill-enforcement.md (4계층 방어) * handoff.md (상태 전이 기반 자매 통신) * retry-policy.md (backoff + escalation) * qa-template.md (체크리스트 runtime) - .plans/sprints/ 8개 스프린트 명세 (SPRINT-000~007) - .plans/migration/from-hanarang-harness.md (자산 매트릭스 + 단계별 가이드) 총 17개 문서, 약 2146 lines. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
70 lines
2.9 KiB
Markdown
70 lines
2.9 KiB
Markdown
# SPRINT-006 — QA Template Runtime (다랑이 완성)
|
|
|
|
> **목표**: F3 (QA 자동 라우팅 누락) 최종 해결 + F2 (DoD 강제) 의 QA 측면 완성. 다랑이가 체크리스트를 실제로 실행하고 구조화된 verdict 를 낸다.
|
|
|
|
## Type
|
|
`feature`
|
|
|
|
## Prerequisites
|
|
- Sprint 003 (Contract schema)
|
|
- Sprint 004 (darang actor stub)
|
|
- `.plans/design/qa-template.md` 확정
|
|
|
|
## Scope
|
|
|
|
- `qa-templates/` 디렉토리 — YAML 템플릿 (scaffold, feature, refactor, bugfix, migration, infra)
|
|
- `src/qa/template.ts` — YAML 템플릿 로드 + Zod schema
|
|
- `src/qa/runtime.ts` — 자동 check + manual check 실행 엔진
|
|
- `src/qa/artifact.ts` — QA artifact 생성 + 저장
|
|
- `src/qa/verdict.ts` — verdict 판정 규칙
|
|
- `src/qa/llm-manual.ts` — manual check 에 LLM 위임 (자매가 코드 읽고 판단)
|
|
- `src/orchestrator/actors/darang.ts` 완성 (stub → 실제 QA 수행)
|
|
- `rails qa run <sprint-id>` CLI
|
|
- `rails qa show <artifact-id>` CLI
|
|
- 프로젝트별 `qa-extra.yaml` merge 지원
|
|
- Fixture: 샘플 QA artifact 1개 (SPRINT-001 용)
|
|
|
|
## Non-Goals
|
|
|
|
- QA UI 대시보드
|
|
- 다랑이 LLM 자체 fine-tuning
|
|
- Browser-based QA (v2)
|
|
|
|
## Tasks
|
|
|
|
| # | 내용 | DoD | Status |
|
|
|---|---|---|---|
|
|
| 6.1 | qa-templates/scaffold-v1.yaml | Zod 통과 | cc:TODO |
|
|
| 6.2 | qa-templates/feature-v1.yaml | Zod 통과 | cc:TODO |
|
|
| 6.3 | qa-templates/bugfix-v1.yaml | Zod 통과 | cc:TODO |
|
|
| 6.4 | qa-templates/migration-v1.yaml | Zod 통과 | cc:TODO |
|
|
| 6.5 | qa-templates/refactor-v1.yaml | Zod 통과 | cc:TODO |
|
|
| 6.6 | qa-templates/infra-v1.yaml | Zod 통과 | cc:TODO |
|
|
| 6.7 | `src/qa/template.ts` — loader + extends/merge | unit test | cc:TODO |
|
|
| 6.8 | `src/qa/runtime.ts` — 자동 + manual 실행 | integration test | cc:TODO |
|
|
| 6.9 | `src/qa/artifact.ts` — JSON 저장 schema | Zod 검증 | cc:TODO |
|
|
| 6.10 | `src/qa/verdict.ts` — APPROVE/REQUEST_CHANGES/ABORT 규칙 | unit test | cc:TODO |
|
|
| 6.11 | `src/qa/llm-manual.ts` — OpenClaw 자매 호출 wrapper | mock test | cc:TODO |
|
|
| 6.12 | darang actor 완성 — template 로드 + runtime 실행 | e2e mock pass | cc:TODO |
|
|
| 6.13 | `rails qa run/show` CLI | 동작 | cc:TODO |
|
|
| 6.14 | `qa-extra.yaml` merge 테스트 | 시나리오 pass | cc:TODO |
|
|
| 6.15 | Sprint 001 samples 로 실제 QA 실행 | APPROVE 결과 | cc:TODO |
|
|
|
|
## Definition of Done
|
|
|
|
### 자동
|
|
- `rails qa run SPRINT-001` → artifact 생성 + verdict 반환
|
|
- 필수 체크 1개라도 fail → REQUEST_CHANGES
|
|
- `manual_checklist` kind 이 LLM 호출로 결과 생성
|
|
- artifact JSON 이 Zod schema 에 검증됨
|
|
- extends 템플릿 merge 동작
|
|
|
|
### 수동
|
|
- [ ] 실제 다랑이 프롬프트로 Sprint 001 자체를 QA 돌려봄
|
|
- [ ] QA 근거 링크 (파일:라인) 포함 확인
|
|
- [ ] 메모리 규칙 `feedback_qa_thorough.md` 에 부합 (항목 수 제한 없음)
|
|
|
|
## Exit Criteria
|
|
|
|
다랑이가 수동 개입 없이 체크리스트를 완주한다. QA 가 "대충 통과" 되는 사례 0건.
|