Skip to content

Status Lifecycle

metadata.status는 명세의 현재 상태를 나타낸다. 4단계를 순서대로 진행한다.

상태 전이

draft → review → approved → implemented
상태의미전환 조건
draft작성 중초기 상태
review검토 대기모든 openQuestions가 결정됨
approved승인됨, 구현 가능이해관계자가 명세를 승인
implemented구현 완료코드와 테스트가 명세를 충족

draft

명세를 작성하는 단계다. 필드를 추가하고, 수정하고, openQuestions를 기록한다.

yaml
metadata:
  status: draft

openQuestions:
  - 장바구니 항목 수 제한이 필요한가?
  - 비회원 장바구니의 만료 기간은?

status를 생략하면 draft로 간주한다.

review

미결정 사항이 모두 해결되어 검토를 요청하는 단계다.

yaml
metadata:
  status: review

openQuestions:
  - text: 장바구니 항목 수 제한이 필요한가?
    decidedAt: 2026-02-01
    decision: 제한 없음
  - text: 비회원 장바구니의 만료 기간은?
    decidedAt: 2026-02-01
    decision: 7일 후 자동 삭제

review로 전환하려면 모든 openQuestionsdecidedAtdecision이 있어야 한다.

approved

명세가 승인되어 구현에 들어갈 수 있는 단계다. 이 시점부터 명세의 behaviors, scenarios, constraints를 변경하지 않는 것이 원칙이다.

yaml
metadata:
  status: approved

implemented

코드와 테스트가 명세의 모든 behaviorsscenarios를 충족하는 단계다.

yaml
metadata:
  status: implemented

openQuestions와의 관계

openQuestionsstatus 전이의 게이트 역할을 한다:

  • 미결정 질문이 있으면 → draft에 머문다
  • 모든 질문이 결정되면 → review로 전환할 수 있다
  • openQuestions가 없으면 → 바로 review로 전환할 수 있다

다음 단계

  • 축약 문법 — 문자열과 객체를 혼용하는 패턴을 이해한다