5.7 KiB
5.7 KiB
0. 문서 상태
- 상태: confirmed
- 승인자: Justin
- 승인 시각: 2026-04-14
1. Planning 개요
- 입력 Discovery: dcy-001
- 목적: CLI에서 bot 토큰 발급/삭제 기능을 우선순위 기반 작업으로 분해하고 Design 단계 전달 가능한 AC를 확정한다.
- 우선순위 방법: WSJF
- 점수 스케일: Business Value/Time Criticality/RR-OE/Job Size 모두 1~10
2. 이번 반복 범위 경계
In Scope
- CLI
bot하위 명령에 토큰 발급/삭제 기능 추가 - 만기 정책 반영(기본 TTL 365일,
--no-expiry옵션 처리) - 토큰 출력 마스킹(앞 6자/뒤 4자) 및 감사 로그 반영
- 확인 프롬프트/
--force/출력 포맷(table/json) 일관화 - 테스트(정상/예외) 및 기술 문서 동기화
Out of Scope
- 토큰 저장 구조 전면 재설계
- UI/포털 제공
- 외부 IAM(OAuth/OIDC) 연동
운영/보안 정책
- 운영 정책: 터미널 접근은 오직 관리자만 접근 가능하며 일반 유저는 터미널 사용이 불가하다. 따라서 CLI 사용은 관리자 행위로 간주하며, 관리자만 터미널 접근 및 CLI 실행 권한을 가진다.
- 보안 정책:
--no-expiry옵션은 관리자 전용 운영 정책 하에서만 허용된다.
3. 백로그 작업 분해
| Item ID | Work Item | 연결 요구사항 | 연결 리스크 | 담당 |
|---|---|---|---|---|
| P-002 | 만기 정책 및 권한 가드 구현 (--no-expiry, TTL 기본 365일, 관리자 전용 정책) |
FR-3, NFR-4 | R-1 | Builder |
| P-003 | 토큰 출력 마스킹 및 감사 로그 구현 | NFR-1, NFR-2 | R-1, R-3 | Builder |
| P-001 | CLI bot 토큰 발급/삭제 명령 추가 | FR-1, FR-2, FR-4, FR-5 | R-2 | Builder |
| 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 | 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
점수 근거 메모
- P-002: 무기한 발급 오남용 리스크(R-1)를 직접 줄이는 핵심 정책 구현이라 TC/RR-OE를 높게 반영했다.
- P-003: 민감정보 노출 리스크(R-3)와 감사추적 요구(NFR-2)를 직접 완화하므로 RR/OE를 최상위로 반영했다.
- P-001: 기능 핵심(발급/삭제)이지만 정책/보안 가드 선행 필요성이 있어 우선순위를 3으로 배치했다.
- P-004: 운영 UX 일관성 확보에 필요하나 기능/보안 블로커 대비 사업가치는 상대적으로 낮아 후순위다.
- P-005: 품질 게이트 통과 및 문서 동기화 필수이나 구현 선행 항목 의존이 있어 마지막 순위로 배치했다.
5. 작업별 수용 기준 (AC)
P-002 AC
- AC-1: 토큰 발급 명령에서 만기 미입력 시 기본 TTL 365일이 적용된다.
- AC-2:
--no-expiry옵션은 관리자 전용 CLI 운영 정책에서만 허용되며, 정책 비적합 실행에서는 명확한 오류 코드/메시지를 반환한다. - AC-3: 만기 관련 옵션 조합이 잘못된 경우(예: TTL과 no-expiry 동시 지정) 검증 오류가 발생한다.
P-003 AC
- AC-1: 토큰 원문은 발급 직후 1회만 출력되고 이후 출력/조회에서는 앞 6자/뒤 4자 외 마스킹된다.
- AC-2: 발급/삭제 시 실행자, bot_id, token_id(마스킹), 시각, 결과가 감사 로그에 기록된다.
- AC-3: 로그에는 토큰 원문이 저장되지 않는다.
P-001 AC
- AC-1: CLI에 bot 토큰 발급 명령과 삭제 명령이 추가되고
--help에서 확인 가능하다. - AC-2: 발급 명령 성공 시
token_id,expires_at,revoked정보가 출력 포맷 정책에 맞게 표시된다. - AC-3: 삭제 명령 성공 시 토큰이 즉시 폐기되어 재사용이 불가능해야 한다.
P-004 AC
- AC-1: 발급/삭제 명령은 기본적으로 확인 프롬프트를 표시하고
--force사용 시 프롬프트를 생략한다. - AC-2: 잘못된 bot_id/token_id 입력 시 사용자 행동 지침이 포함된 오류 메시지를 제공한다.
- AC-3:
table/json출력 모드에서 동일한 필수 필드 집합을 보장한다.
P-005 AC
- AC-1: 신규 기능에 대해 정상 경로 1건 이상, 예외 경로 1건 이상의 테스트가 추가된다.
- AC-2: docs sync 규칙 대상 문서(README, API/CLI 계약)가 코드 변경과 함께 갱신된다.
- AC-3: Verification 단계에서 테스트 실행 증적을 첨부할 수 있는 로그/리포트가 생성된다.
6. 우선순위 조정/예외
- 동률 처리: WSJF 동률 시 RR/OE가 큰 항목 우선, 동률 지속 시 Job Size가 작은 항목 우선.
- Override: 없음
- 승인자: Justin
7. Design 단계 전달 체크
- 우선순위 상위 백로그의 AC가 검증 가능한 문장으로 정의됨
- WSJF 계산 근거 기록 완료
- 이번 반복 In Scope/Out of Scope 확정
- 최종 승인
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. 사용자 결정 필요 항목 요약
현재 미해결 플레이스홀더 없음