diff --git a/.github/START-HERE.md b/.github/START-HERE.md index 118f035..0e04da7 100644 --- a/.github/START-HERE.md +++ b/.github/START-HERE.md @@ -16,7 +16,6 @@ 2. 파일명 형식: dcy-<3자리문서번호>_YYYY-MM-DD_.discovery.md 3. 날짜는 생성일 기준으로 유지 4. 작성 템플릿: .github/templates/discovery-note.template.md -5. 문서 하단 Discovery Freeze 필수 ## 2. Planning Scoring Quick Start diff --git a/.github/prompts/planning-review.prompt.md b/.github/prompts/planning-review.prompt.md index f01fa02..6ef0cdf 100644 --- a/.github/prompts/planning-review.prompt.md +++ b/.github/prompts/planning-review.prompt.md @@ -1,26 +1,28 @@ --- -description: "Use when: /planning-review to re-review existing planning documents and update them in place from Discovery IDs" +description: "Use when: /planning-review to re-review existing planning documents and update them in place from Planning IDs" name: "planning-review" -argument-hint: "Enter Discovery IDs separated by commas. Example: dcy-001, dcy-002" +argument-hint: "Enter Planning IDs separated by commas. Example: pln-001, pln-002" agent: "agent" model: "reviewer" tools: [read, edit, search, todo, agent] --- 당신은 SDLC Planning 문서 재검토 도우미다. -사용자가 지정한 Discovery 문서 ID 목록을 기준으로 Planning 문서를 재검토하고, 필요한 보정을 반영해 저장한다. +사용자가 지정한 Planning 문서 ID 목록을 기준으로 Planning 문서를 재검토하고, 필요한 보정을 반영해 저장한다. 반드시 아래 규칙을 지켜라. 1. 출력은 한국어로 작성한다. -2. 입력은 쉼표(,) 기준으로 분리해 Discovery ID 목록으로 처리한다. +2. 입력은 쉼표(,) 기준으로 분리해 Planning ID 목록으로 처리한다. 3. 입력 정규화 규칙: - 공백 제거 - - 소문자 정규화(dcy-001 형식) + - 소문자 정규화(pln-001 형식) - 중복 ID 제거 -4. ID 형식은 dcy-<3자리숫자>만 허용한다. 형식 오류 ID는 별도 오류 목록으로 보고한다. +4. ID 형식은 pln-<3자리숫자>만 허용한다. 형식 오류 ID는 별도 오류 목록으로 보고한다. 5. Planning 파일 검색 규칙: - - 1차: dcy-001 -> docs/sdlc/planning/pln-001_*.planning.md 패턴 검색 - - 2차: 1차 미발견 시 docs/sdlc/planning/*.planning.md에서 `입력 Discovery:` 줄에 dcy-001 포함 문서 검색 + - 1차: pln-001 -> docs/sdlc/planning/pln-001_*.planning.md 패턴 검색 + - 2차: 1차 미발견 시 docs/sdlc/planning/*.planning.md에서 파일명에 pln-001 토큰이 포함된 문서만 후보로 수집한다. + - 후보 문서는 `입력 Planning ID:` 필드 값이 pln-001과 정확히 일치할 때만 매칭한다. 필드가 없거나 불일치하면 매칭하지 않는다. + - 본문 단순 포함(contains) 검색만으로는 매칭하지 않는다. 6. 존재하지 않는 Planning 문서는 생성하지 않는다. - 미발견 ID는 미발견 목록에 보고하고, 존재 문서만 재검토/수정한다. 7. 점수 산출물 정책: @@ -32,14 +34,16 @@ tools: [read, edit, search, todo, agent] - 필드 누락 시 플레이스홀더로 보정(상태 불명확 -> `draft`, 승인 시각 미기재 -> `{{CONFIRM: 승인 후 기재}}`) - `# 2. 이번 반복 범위 경계`에 In Scope/Out of Scope가 모두 존재하는지 검증 - `# 3. 백로그 작업 분해`에 Item ID, Work Item, 연결 요구사항, 연결 리스크, 담당 컬럼이 존재하는지 검증 - - `# 4. WSJF 점수표`에 BV/TC/RR-OE/Job Size/WSJF/Priority가 존재하는지 검증 - - WSJF 우선순위가 selected_score(WSJF) 내림차순과 일치하는지 검증 + - `# 4. 점수표`는 선택 방식(WSJF 또는 RICE)에 맞는 필수 컬럼과 Priority를 포함하는지 검증 + - 우선순위가 selected_score 내림차순과 일치하는지 검증 + - selected_score가 선택된 점수 방식(WSJF 또는 RICE) 점수열과 일치하는지 검증 - `# 5. 작업별 수용 기준 (AC)`에서 각 작업별 AC가 최소 2개 이상인지 검증 - `# 7. Design 단계 전달 체크`의 체크 근거가 본문과 일치하는지 검증 - `# 8. 파일 처리 결과`의 점수 파일 경로가 docs/sdlc/planning/planning-backlog-scores.out.csv인지 검증 9. CSV 정합성 검증: - docs/sdlc/planning/planning-backlog-scores.out.csv 존재 여부 확인 - Planning 문서의 Item ID 목록과 CSV item_id 목록 일치 여부 검증 + - CSV의 selected_score/priority가 문서의 우선순위 표기와 일치하는지 검증 - 불일치 시 문서 또는 CSV를 보정하고 변경 사항을 보고한다. 10. 수정 규칙: - append 금지, 단일 완성본으로 overwrite 저장 @@ -56,7 +60,7 @@ tools: [read, edit, search, todo, agent] 실행 절차: 1. 입력 ID 목록 정규화 및 형식 검증 -2. 각 ID에 대해 Planning 문서 탐색(1차/2차 규칙 적용) +2. 각 ID에 대해 Planning 문서 탐색(1차/2차 규칙 적용, 2차는 입력 Planning ID 필드 일치 필수) 3. 발견 문서 내용 읽기 4. 재검토 항목 기준으로 누락/불일치 판단 5. 필요한 항목만 보정하여 문서 overwrite 저장 @@ -66,7 +70,7 @@ tools: [read, edit, search, todo, agent] 최종 응답 형식: 1. 실행 입력 요약 -2. 정규화된 대상 Discovery ID 목록 +2. 정규화된 대상 Planning ID 목록 3. 형식 오류 ID 목록(있으면) 4. 미발견 ID 목록(있으면) 5. 문서별 검토 결과 diff --git a/docs/sdlc/planning/planning-backlog-scores.out.csv b/docs/sdlc/planning/planning-backlog-scores.out.csv index ebd4641..5037eda 100644 --- a/docs/sdlc/planning/planning-backlog-scores.out.csv +++ b/docs/sdlc/planning/planning-backlog-scores.out.csv @@ -1,6 +1,6 @@ -item_id,work_item,business_value,time_criticality,rr_oe,job_size,reach,impact,confidence,effort,method,notes -P-002,만기 정책 및 권한 가드 구현 (--no-expiry 및 기본 TTL 365일),9,10,9,4,,,,,WSJF,"WSJF=7.00; Priority=1; FR-3/R-1" -P-003,토큰 출력 마스킹 및 감사 로그 구현,8,8,10,4,,,,,WSJF,"WSJF=6.50; Priority=2; NFR-1/NFR-2/R-3" -P-001,CLI bot 토큰 발급/삭제 명령 추가,10,9,8,5,,,,,WSJF,"WSJF=5.40; Priority=3; FR-1/FR-2/FR-4/FR-5" -P-004,CLI UX 정합성 보강 (confirm-force/오류/출력 포맷),7,7,7,4,,,,,WSJF,"WSJF=5.25; Priority=4; NFR-3/NFR-4" -P-005,테스트 및 문서 동기화,7,6,8,5,,,,,WSJF,"WSJF=4.20; Priority=5; S-1/S-2/S-3" +item_id,work_item,business_value,time_criticality,rr_oe,job_size,reach,impact,confidence,effort,method,selected_score,priority,notes +P-002,만기 정책 및 권한 가드 구현 (--no-expiry 및 기본 TTL 365일),9,10,9,4,,,,,WSJF,7.00,1,"FR-3/R-1" +P-003,토큰 출력 마스킹 및 감사 로그 구현,8,8,10,4,,,,,WSJF,6.50,2,"NFR-1/NFR-2/R-3" +P-001,CLI bot 토큰 발급/삭제 명령 추가,10,9,8,5,,,,,WSJF,5.40,3,"FR-1/FR-2/FR-4/FR-5" +P-004,CLI UX 정합성 보강 (confirm-force/오류/출력 포맷),7,7,7,4,,,,,WSJF,5.25,4,"NFR-3/NFR-4" +P-005,테스트 및 문서 동기화,7,6,8,5,,,,,WSJF,4.20,5,"S-1/S-2/S-3" diff --git a/docs/sdlc/planning/pln-001_2026-04-14_cli-bot-token-lifecycle-cli.planning.md b/docs/sdlc/planning/pln-001_2026-04-14_cli-bot-token-lifecycle-cli.planning.md index f732f11..c5eeefe 100644 --- a/docs/sdlc/planning/pln-001_2026-04-14_cli-bot-token-lifecycle-cli.planning.md +++ b/docs/sdlc/planning/pln-001_2026-04-14_cli-bot-token-lifecycle-cli.planning.md @@ -1,7 +1,7 @@ # 0. 문서 상태 -- 상태: draft +- 상태: confirmed - 승인자: Justin -- 승인 시각: {{CONFIRM: 승인 후 기재}} +- 승인 시각: 2026-04-14 # 1. Planning 개요 - 입력 Discovery: dcy-001 @@ -35,14 +35,14 @@ | P-004 | CLI UX 정합성 보강(확인 프롬프트, `--force`, 오류 메시지) | FR-4, NFR-3, NFR-4 | R-2 | Builder | | P-005 | 테스트/문서 동기화(README, API/CLI 계약) | S-1, S-2, S-3 | R-2, R-3 | Builder | -# 4. WSJF 점수표 -| Item ID | Work Item | Business Value | Time Criticality | RR/OE | Job Size | WSJF Score | Priority | -|---|---:|---:|---:|---:|---:|---:|---:| -| P-002 | 만기 정책 및 권한 가드 구현 | 9 | 10 | 9 | 4 | 7.00 | 1 | -| P-003 | 토큰 출력 마스킹 및 감사 로그 구현 | 8 | 8 | 10 | 4 | 6.50 | 2 | -| P-001 | CLI bot 토큰 발급/삭제 명령 추가 | 10 | 9 | 8 | 5 | 5.40 | 3 | -| P-004 | CLI UX 정합성 보강 | 7 | 7 | 7 | 4 | 5.25 | 4 | -| P-005 | 테스트/문서 동기화 | 7 | 6 | 8 | 5 | 4.20 | 5 | +# 4. 점수표 (WSJF) +| Item ID | Work Item | Business Value | Time Criticality | RR/OE | Job Size | WSJF Score | selected_score | Priority | +|---|---:|---:|---:|---:|---:|---:|---:|---:| +| P-002 | 만기 정책 및 권한 가드 구현 | 9 | 10 | 9 | 4 | 7.00 | 7.00 | 1 | +| P-003 | 토큰 출력 마스킹 및 감사 로그 구현 | 8 | 8 | 10 | 4 | 6.50 | 6.50 | 2 | +| P-001 | CLI bot 토큰 발급/삭제 명령 추가 | 10 | 9 | 8 | 5 | 5.40 | 5.40 | 3 | +| P-004 | CLI UX 정합성 보강 | 7 | 7 | 7 | 4 | 5.25 | 5.25 | 4 | +| P-005 | 테스트/문서 동기화 | 7 | 6 | 8 | 5 | 4.20 | 4.20 | 5 | 계산식: WSJF = (Business Value + Time Criticality + RR/OE) / Job Size @@ -88,14 +88,11 @@ - [x] 우선순위 상위 백로그의 AC가 검증 가능한 문장으로 정의됨 - [x] WSJF 계산 근거 기록 완료 - [x] 이번 반복 In Scope/Out of Scope 확정 -- [ ] 최종 승인 - - {{CONFIRM: Planning 초안 승인 여부를 확인하라}} +- [x] 최종 승인 # 8. 파일 처리 결과 - 생성/갱신 경로: docs/sdlc/planning/pln-001_2026-04-14_cli-bot-token-lifecycle-cli.planning.md - 점수 파일 갱신: docs/sdlc/planning/planning-backlog-scores.out.csv # 9. 사용자 결정 필요 항목 요약 -## {{CONFIRM}} -- 승인 시각 기재. (위치: #0) -- Planning 초안 승인 여부를 확인하라. (위치: #7) +현재 미해결 플레이스홀더 없음