3a72413 Merge pull request #5 from genichin/copilot/add-verification-steps-sdlc-prompt d362b6b feat: add verification stage to run-sdlc pipeline 9b52ae1 Initial plan 893d465 Merge pull request #3 from genichin/copilot/add-sdlc-prompt-feature 57b3941 feat: add /run-sdlc prompt for automated SDLC pipeline execution 27396ab Initial plan 6979011 Clarify draft creation for new SDLC prompts 1c5557b fix(bootstrap): sdlc 디렉토리 구조 단순화 및 summary 템플릿 추가 af343e5 docs(prompt): SDLC 프롬프트 저장소 현황 탐색 및 대조 절차 강화 cc55e06 chore: Release/Operations 프로세스 템플릿 및 프롬프트 추가 및 README 최신화 386695b commit 4533017 draft 82b7690 draft-design 0503411 draft 9984db0 confirm-discovery, draft-planning, review-planning 명령 추가 cba64f0 add confirm-discovery prompt 9391537 draft 58f2de8 feat: execute implementation during run-sdlc flow 693e3f6 feat: auto-create downstream drafts in run-sdlc 404bc63 docs: translate SDLC orchestration prompts to English 9018e8f feat: add SDLC scaffold and sequential run commands d60e21c docs: clarify when to create a new discovery 0629eee feat: add operation issue triage prompt cdc8d87 feat: make update.sh auto-overwrite by default with --no-overwrite option ead06c2 chore: add execute tool to all prompt files git-subtree-dir: .vendor/stage-pilot git-subtree-split: 3a72413acd2edd95053631f900d3c99c1caef359
100 lines
5.5 KiB
Markdown
100 lines
5.5 KiB
Markdown
---
|
|
name: "confirm-implementation"
|
|
description: "Approve an Implementation document and mark it as confirmed, ready for Verification"
|
|
argument-hint: "예: sdlc-001 또는 docs/sdlc/sdlc-001_20260417_stage-pilot/4_implementation.md"
|
|
agent: "agent"
|
|
---
|
|
SDLC Implementation 문서를 최종 승인 처리한다.
|
|
|
|
목표:
|
|
- `4_implementation.md`의 상태를 `confirmed`로 변경한다.
|
|
- `# 8. Implementation Freeze`의 `Handoff Decision`을 `승인`으로, `Ready for Verification`을 `true`로 변경한다.
|
|
- `마지막 갱신 시각(KST)`과 승인 시각(`CONFIRMED_AT_KST`)을 현재 시각으로 채운다.
|
|
- 승인 불가 조건이 있으면 문서를 변경하지 않고 이유를 보고한다.
|
|
|
|
---
|
|
|
|
## 플레이스홀더 분류 기준
|
|
|
|
모든 `{{...}}` 플레이스홀더를 동일하게 차단 조건으로 취급하지 않는다. 아래 세 유형으로 먼저 분류한다.
|
|
|
|
### A. 승인 행위 자체로 채워지는 플레이스홀더 (자동 해소)
|
|
|
|
승인 명령 실행 시 자동으로 채우며, 이 값이 남아 있어도 차단하지 않는다.
|
|
|
|
| 플레이스홀더 패턴 | 자동 채움 값 |
|
|
|---|---|
|
|
| `{{CONFIRMED_AT_KST...}}` | 현재 시각 (KST, `YYYY-MM-DD HH:MM:SS KST`) |
|
|
| `{{CONFIRMED_BY...}}` | 섹션 8의 `Confirmed By:` 줄에서 읽은 값. 해당 줄이 없으면 차단하지 않고 플레이스홀더를 제거한 뒤 빈 값으로 처리 |
|
|
|
|
### B. 맥락상 해소된 플레이스홀더 (자동 정리)
|
|
|
|
섹션 5(체크리스트) 또는 섹션 7(사용자 결정 요약)에 있는 플레이스홀더는 **해당 결정의 실질 값이 섹션 8에 이미 기입되어 있으면** 해소된 것으로 간주한다. 승인 처리 시 해당 플레이스홀더를 실질 값으로 치환하거나 설명 텍스트로 대체한다. 차단하지 않는다.
|
|
|
|
### C. 실질 미해소 플레이스홀더 (차단 대상)
|
|
|
|
섹션 1~4(본문 내용)에 남아 있는 `{{...}}` 플레이스홀더로서, 위 A·B 유형에 해당하지 않는 것. 이 플레이스홀더가 하나라도 있으면 승인을 보류한다.
|
|
|
|
---
|
|
|
|
## 실행 절차
|
|
|
|
### 1. 입력 해석
|
|
|
|
- 사용자가 제공한 값이 CYCLE_ID(예: `sdlc-001`)이면 `docs/sdlc/` 아래에서 해당 패턴으로 시작하는 폴더를 찾아 `4_implementation.md` 경로를 확정한다.
|
|
- 사용자가 파일 경로를 직접 제공했으면 해당 경로를 사용한다.
|
|
- 파일이 존재하지 않으면 경로를 재확인하도록 사용자에게 피드백하고 중단한다.
|
|
|
|
### 2. 플레이스홀더 분류 및 사전 해소
|
|
|
|
문서 전체의 `{{...}}` 플레이스홀더를 스캔해 A·B·C 유형으로 분류한다.
|
|
|
|
- **A 유형**: 목록만 기록한다. 4단계에서 자동으로 채운다.
|
|
- **B 유형**: 섹션 8에서 실질 값을 읽어 치환 가능한지 확인한다. 가능하면 4단계에서 함께 처리한다.
|
|
- **C 유형**: 목록을 보고하고 승인을 보류한다.
|
|
|
|
### 3. 승인 가능 여부 확인 (사전 게이트 검사)
|
|
|
|
아래 조건을 모두 충족해야 승인을 진행한다.
|
|
|
|
| 항목 | 확인 기준 |
|
|
|------|-----------|
|
|
| 문서 상태 | `confirmed`가 아닌 상태(`draft` 또는 `review`)여야 한다. 이미 `confirmed`면 중단한다. |
|
|
| 실질 미해소 플레이스홀더 (C 유형) | C 유형 플레이스홀더가 0개여야 한다. |
|
|
| 오픈 질문 미해소 | `# 4` 오픈 질문 목록에 `상태: Open`인 항목이 없어야 한다. |
|
|
| 필수 섹션 미완성 | `# 2`, `# 3`, `# 5`, `# 7`, `# 8` 섹션이 존재하고 내용이 채워져 있어야 한다. |
|
|
| Ready for Verification 사전 설정 | `Ready for Verification: false`이거나 아직 갱신 전인 경우만 승인 처리 대상이다. 이미 `true`이면 이미 처리된 문서임을 알린다. |
|
|
|
|
> **예외**: C 유형 플레이스홀더 또는 오픈 질문 미해소만 문제인 경우, 사용자가 명시적으로 `--force`를 표현했으면 해당 항목 목록을 보고하되 승인을 진행한다.
|
|
|
|
### 4. 문서 업데이트 (승인 가능 시에만 실행)
|
|
|
|
아래 항목을 변경한다. 이 목록 외 내용은 절대 수정하지 않는다.
|
|
|
|
1. `# 0. 문서 상태`의 `- 상태:` 줄 → `confirmed`로 변경
|
|
2. `# 0. 문서 상태`의 `- 마지막 갱신 시각(KST):` → 현재 시각으로 변경
|
|
3. `# 8. Implementation Freeze`의 `- Handoff Decision:` → `승인`으로 변경
|
|
4. `# 8. Implementation Freeze`의 `- Ready for Verification:` → `true`로 변경
|
|
5. **A 유형 플레이스홀더** → 각 자동 채움 값으로 치환
|
|
6. **B 유형 플레이스홀더** → 섹션 8에서 읽은 실질 값으로 치환 (또는 플레이스홀더 제거)
|
|
7. `docs/sdlc/<CYCLE_ID>/index.md`의 Implementation 행 `상태` 열 → `` `confirmed` ``로 변경. 행 형식: `| 4. Implementation | ... | ... |`
|
|
|
|
### 5. 결과 보고
|
|
|
|
응답에 아래 내용을 포함한다.
|
|
|
|
- **처리 결과**: 승인 완료 또는 승인 불가
|
|
- **자동 처리된 플레이스홀더 목록** (A·B 유형, 승인 완료 시)
|
|
- **변경된 필드 목록** (승인 완료 시)
|
|
- **미충족 항목 목록** (승인 불가 시): 각 항목에 대한 조치 안내 포함
|
|
- **다음 단계 안내**: 승인 완료 시 Verification 단계(`/draft-verification <CYCLE_ID>`) 실행 안내
|
|
|
|
---
|
|
|
|
## 중요 규칙
|
|
|
|
- 4단계에서 명시된 항목 외에는 문서 내용을 절대 변경하지 않는다.
|
|
- C 유형 미해소 조건이 있으면 문서에 아무 변경도 가하지 않는다.
|
|
- 이미 `confirmed` 상태인 문서에는 재처리하지 않는다.
|
|
- 현재 시각은 시스템 또는 컨텍스트에서 제공된 날짜/시간을 사용한다.
|