update stage-pilot
This commit is contained in:
@@ -0,0 +1,111 @@
|
||||
---
|
||||
name: "review-implementation"
|
||||
description: "Review and validate SDLC Implementation document for consistency, completeness, and readiness for approval"
|
||||
argument-hint: "예: sdlc-001 또는 docs/sdlc/sdlc-001_20260417_stage-pilot/4_implementation.md"
|
||||
agent: "agent"
|
||||
---
|
||||
SDLC Implementation 문서를 체계적으로 검토하고, 승인 가능한 상태인지 판단한다.
|
||||
|
||||
목표:
|
||||
- `4_implementation.md` 파일의 일관성 확인 (태스크/변경 파일/완료 조건 간 중복 및 충돌)
|
||||
- 기술적 오류, 잘못된 표현, 명확하지 않은 문구 식별
|
||||
- AI agent에게 할당된 플레이스홀더(`{{...}}`) 중 판단/결정 가능한 항목 처리
|
||||
- 플레이스홀더 중 사용자 결정이 정말 필요한 항목만 남겼는지 확인
|
||||
- 최종 승인 가능 상태 판단
|
||||
|
||||
---
|
||||
|
||||
## 검토 절차
|
||||
|
||||
### 1. 입력 해석
|
||||
|
||||
- 사용자가 제공한 문서 경로 또는 CYCLE_ID에서 `4_implementation.md` 파일 위치를 확정한다.
|
||||
- 파일이 없으면 입력값을 다시 확인하도록 사용자에게 피드백하고 중단한다.
|
||||
- `3_design.md`도 함께 읽어 인계 내용의 정합성 확인에 사용한다.
|
||||
|
||||
### 2. Design 인계 정합성 검토
|
||||
|
||||
`# 1. Design 인계 요약`이 `3_design.md`의 확정 내용과 일치하는지 확인한다.
|
||||
|
||||
- 태스크 목록(T-N 제목, 변경 대상)이 Design `# 1`/`# 3`과 내용/수량이 일치하는가
|
||||
- 이월된 오픈 질문이 Design `# 6`의 `Deferred` 항목과 대응하는가
|
||||
- `# 2` 태스크별 구현 방법의 변경 대상이 Design `# 3`의 변경 대상과 일치하는가
|
||||
|
||||
### 3. 일관성 검토 (모든 섹션 대상)
|
||||
|
||||
- **태스크 번호 연속성**: `# 1`, `# 2`, `# 3`의 T-N 번호가 누락 없이 연속이고 일치하는가
|
||||
- **변경 파일 정합성**: `# 2` 태스크별 변경 대상이 `# 3` 변경 파일 목록에 빠짐없이 포함되어 있는가
|
||||
- **완료 조건 측정 가능성**: `# 2` 각 태스크의 완료 조건(DoD)이 구체적이고 측정 가능한가 ("구현 완료"처럼 모호한 표현 금지)
|
||||
- **숫자 연속성**: R-N, IA-N, OQ-N 번호가 누락 없이 연속인지 확인
|
||||
|
||||
### 4. 표현 검토 (모든 텍스트)
|
||||
|
||||
- **문법**: 문장 구조, 주술 호응, 시제 일관성
|
||||
- **명확성**: "적절히", "대략", "가능하면" 같은 모호한 표현 식별
|
||||
- **작성 수준**: 기술 문서 기준의 형식적 톤 유지. 비공식 표현 제거
|
||||
- **오타**: 한글 띄어쓰기, 숫자 오류, 테이블 형식 검증
|
||||
|
||||
### 5. 플레이스홀더 처리
|
||||
|
||||
모든 `{{...}}` 플레이스홀더를 나열하고 각 항목의 의도를 파악한다.
|
||||
|
||||
AI agent가 채울 수 있는 항목:
|
||||
- `{{..._DECISION:...}}` 형태 — 문서 내 다른 섹션이나 Design 내용으로 추론 가능한지 확인
|
||||
- 변경 파일 유형(`IMP_FILE_TYPE_N`), 관련 태스크(`IMP_FILE_TASK_N`) 등 구조적으로 추론 가능한 항목
|
||||
|
||||
사용자 결정이 필요한 항목 (플레이스홀더 유지):
|
||||
- 태스크 담당자(`IMP_TASK_OWNER_N`)
|
||||
- Freeze 확정 담당자(`CONFIRMED_BY`)
|
||||
|
||||
각 항목에 대해 아래 중 하나를 판단한다:
|
||||
- **채울 수 있음**: 문서 내 맥락, Design 내용, 저장소 구조로 합리적 추론 가능 → 실제 내용으로 치환
|
||||
- **판단 불가능**: 사용자/승인자 결정, 외부 확인, 책임자 지정 필요 → 플레이스홀더 유지하되 명확성 강화
|
||||
|
||||
처리 결과를 별도 목록으로 보고한다.
|
||||
|
||||
### 6. 섹션별 최소 검수 기준
|
||||
|
||||
| 섹션 | 최소 기준 |
|
||||
|------|---------|
|
||||
| `# 0 문서 상태` | 메타데이터 완성도 확인 (CREATED_AT_KST, DESIGN_PATH 채워졌는가) |
|
||||
| `# 1 Design 인계 요약` | 태스크 최소 1개 이상, Design 태스크와 1:1 대응 여부 |
|
||||
| `# 2 구현 계획` | 모든 T-N 태스크에 구현 방법, 변경 대상, 완료 조건이 있는가 |
|
||||
| `# 3 변경 파일 목록` | `# 2`에서 언급된 변경 대상이 모두 목록에 포함되었는가, 파일 경로가 실제 경로인가 |
|
||||
| `# 4 리스크/가정/오픈 질문` | 리스크 1개 이상, 가정 1개 이상, OQ `Open` 상태가 있으면 종료 조건이 명시되었는가 |
|
||||
| `# 5 확인 체크` | 체크 항목이 구체적이고 측정 가능한가 |
|
||||
| `# 7 사용자 결정 필요` | 플레이스홀더가 실제 `{{...}}` 형식인가 (단순 문장 아닌가) |
|
||||
| `# 8 Freeze` | Handoff Decision과 Rationale이 채워졌는가 |
|
||||
|
||||
### 7. 최종 승인 판단
|
||||
|
||||
- **승인 가능 (Ready for Verification)**:
|
||||
- 모든 T-N 태스크에 구현 방법, 변경 대상, 완료 조건이 채워졌는가
|
||||
- 변경 파일 목록이 실제 파일 경로 기준으로 정확한가
|
||||
- `# 4` 오픈 질문에 `Open` 상태 항목이 없거나 모두 `Deferred` 처리 완료인가
|
||||
- 남은 플레이스홀더는 모두 정당한가 (사용자/승인자 결정이 정말 필요)
|
||||
- Freeze 플래그가 준비되었는가 (`READY_FOR_VERIFICATION: true`로 변경 가능한가)
|
||||
- **조건부 (Pending Minor Changes)**:
|
||||
- 완료 조건(DoD) 일부가 모호하거나, 변경 파일 경로 확인 필요
|
||||
- 플레이스홀더 중 일부는 명확성을 위해 재작성 권장
|
||||
- **보류 (Hold)**:
|
||||
- 태스크 구현 방법 누락, 변경 파일 목록 불완전, OQ `Open` 잔여 등 근본적 재검토 필요
|
||||
|
||||
---
|
||||
|
||||
## 응답 형식
|
||||
|
||||
- **검토 결과 요약**
|
||||
- Design 인계 정합성 오류 (있으면 나열)
|
||||
- 발견된 일관성 오류 (있으면 나열)
|
||||
- 표현/문법 오류 (있으면 나열)
|
||||
- 섹션별 완성도 (예: `# 2` T-2 완료 조건 모호)
|
||||
|
||||
- **플레이스홀더 처리 결과**
|
||||
- 채워진 항목 (예: `{{IMP_FILE_TYPE_2}}` → `수정` 로 치환)
|
||||
- 유지된 항목 (예: `{{IMP_TASK_OWNER_1:TBD}}` → 담당자 지정 필요로 유지)
|
||||
|
||||
- **수정 사항 목록** (적용된 변경)
|
||||
|
||||
- **최종 판단**
|
||||
- 승인 가능 / 조건부 / 보류
|
||||
- 근거 및 남은 작업 사항
|
||||
Reference in New Issue
Block a user