Files
portfolio-hub/docs/sdlc/sdlc-001_20240414_cli-bot-token-lifecycle-cli.design/2_planning.md
T
2026-04-23 04:41:33 +00:00

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. 사용자 결정 필요 항목 요약

현재 미해결 플레이스홀더 없음