/cc-spec:status — 확정된 명세와 지금 작업이 얼마나 맞는지 점검#
| 항목 | 내용 |
|---|---|
| 실행 명령 | /cc-spec:status |
| 분류 | 스펙 명확화 |
| 난이도 | ●●○ 보통 |
한마디로#
이미 확정(잠금)된 핵심 명세(Seed spec)를 기준으로, 지금 만든 작업이 그 명세와 얼마나 잘 맞는지 읽기 전용으로 진단해 주는 명령입니다. 명세는 한 글자도 건드리지 않고, "지금 어디까지 와 있나"를 보여 주는 건강검진표라고 보면 됩니다.
누가·언제 쓰나요#
- 확정(LOCKED)된 Seed 명세를 기준으로 현재 작업이 궤도에서 벗어나지 않았는지 확인하고 싶을 때
- 합격 기준(Acceptance) 항목 하나하나가 지금 어떤 상태인지 한눈에 보고 싶을 때
- PR을 올리기 전이나 리뷰 중에, 명세의 목표·제약과 어긋난 부분이 없는지 빠르게 점검하고 싶을 때
👉 이 명령은 아무것도 바꾸지 않습니다. 명세 파일도, 작업 파일도 그대로 둔 채 진단 결과만 화면에 보여 줍니다.
무엇을 해주나요#
가장 최근에 잠긴 Seed 명세(docs/seed-spec-*.md)를 불러와, 세 가지 진단 리포트를 출력합니다.
-
합격 기준별 상태 표시 — 명세의 합격 기준(S4)에 적힌
AC-01,AC-02… 각 항목이 지금 어떤 상태인지 그대로 보여 줍니다. 상태는PENDING(대기) /IN-PROGRESS(진행 중) /MET(충족) /FAILED(미충족) /WAIVED(면제) 중 하나입니다. -
목표 정렬 판정 — 지금 작업이 명세의 핵심 문제(S1)가 풀려는 목표와 잘 맞는지를
ALIGNED(정렬됨) /MINOR-DRIFT(약간 벗어남) /MAJOR-DRIFT(크게 벗어남) 중 하나로 판정합니다. - 불변 제약 위반 점검 — 작업이 명세의 절대 제약(S2) 중 어떤 것을 어긴 것으로 보이는지 짚어 줍니다. 위반이 없으면 "위반 없음"으로 표시합니다.
👉 중요(한국어 사용자 안내): 이 판정은 단어가 똑같은지 비교하는 방식이 아닙니다. AI가 뜻을 읽어서(의미 기준) 판단합니다. 한국어는 조사·어미가 붙고 띄어쓰기 경계가 분명하지 않아서, 글자/토큰이 겹치는지로 비교하면 엉뚱한 결과가 나옵니다. 그래서 "표현이 달라도 의미가 같으면 같다"고 봅니다.
어떻게 쓰나요#
/cc-spec:status # 최신 LOCKED Seed 명세 상태만 출력
/cc-spec:status --against {파일} # 특정 파일과 비교 진단
/cc-spec:status --against {폴더} # 폴더 안 변경분과 비교 진단
/cc-spec:status --against {PR} # 특정 PR의 변경분과 비교 진단
- 옵션 없이 실행하면 가장 최근
docs/seed-spec-*.md(LOCKED)를 불러와, 명세에 기록된 합격 기준 상태를 그대로 보여 줍니다. -
--against에는 파일 / 폴더 / PR 중 하나를 줄 수 있습니다. 주어진 대상의 내용을 명세와 의미 기준으로 비교해 정렬 판정과 제약 위반을 함께 진단합니다.
안에서 무슨 일이 벌어지나요#
크게 네 단계로, 모두 읽기 전용으로 진행됩니다.
-
명세 불러오기 — 가장 최근의 LOCKED Seed 명세를 찾아 읽습니다. 잠긴 명세가 없으면
/cc-spec:verify --lock으로 먼저 확정하라고 안내하고 멈춥니다(아무것도 쓰지 않음). - 합격 기준 상태 정리 — 명세의 합격 기준(S4)에서
AC-01~ 각 항목과 현재 상태를 그대로 읽어 표로 정리합니다. -
의미 기준 비교 —
--against대상이 있으면, 그 내용을 명세의 핵심 문제(S1)·불변 제약(S2)과 뜻으로 견주어 정렬 판정과 제약 위반을 도출합니다(단어 일치가 아닌 의미 판단). - 리포트 출력 — 합격 기준별 상태 + 목표 정렬 판정 + 제약 위반 목록을 화면에 출력합니다. 파일은 어느 것도 수정되지 않습니다.
끝나면 다음은?#
-
MAJOR-DRIFT거나 제약 위반이 보이면 → 작업 방향을 바로잡거나, 정당한 변경이라면/cc-spec:evolve로 명세를 공식 절차에 따라 갱신하세요. -
합격 기준이 아직
PENDING/IN-PROGRESS인 항목이 많으면 → 남은 작업을 마저 진행한 뒤 다시/cc-spec:status로 확인하세요. - 명세 자체가 흔들린다고 느껴지면 →
/cc-spec:score로 모호성 점수를 다시 평가해 보세요.
⚙️ 상세 옵션·실행 명세 (개발자 / AI 에이전트용)
Usage#
/cc-spec:status # Status of the latest LOCKED Seed spec
/cc-spec:status --against {file} # Compare against a specific file
/cc-spec:status --against {dir} # Compare against a directory ' s changes
/cc-spec:status --against {PR} # Compare against a PR ' s changesBehavior: READ-ONLY#
This command writes nothing. It does not modify the Seed spec, the compared files, or any other artifact. It loads state and emits a report to the console only.
Parameters#
| Parameter | Description | Default |
|---|---|---|
--against | Compare target: a {file}, a {dir}, or a {PR} | none (spec-only echo) |
Inputs#
- Loads the latest LOCKED
docs/seed-spec-*.md. - If no LOCKED Seed spec exists, stop and advise running
/cc-spec:verify --lockfirst. Write nothing.
Execution Flow#
1. Load Locked Seed (read-only)#
- Resolve the most recent
docs/seed-spec-*.mdwith Status: LOCKED. - If none is found, emit guidance to lock one first and exit without writing.
2. AC-ID Status Echo (from S4)#
- Read each Acceptance Boundary entry from S4 with its AC-ID (
AC-01,AC-02, …). - Echo each AC-ID's recorded status verbatim. Status vocabulary:
PENDING/IN-PROGRESS/MET/FAILED/WAIVED. - This step is a faithful echo of recorded state, not a re-judgment.
3. Semantic Comparison (only if --against provided)#
All matching here is LLM-semantic, never lexical. Do NOT compare by whitespace, token overlap, or substring match — the audience is Korean-first, and lexical matching breaks on Korean (josa attachment, no reliable word boundaries). Judge by meaning: different wording with the same intent counts as a match.
- Goal alignment vs S1 (Core Problem): read the
--againstcontent and judge, semantically, whether the work advances the Seed's core problem. Emit one verdict:ALIGNED— the work clearly serves S1's goal.MINOR-DRIFT— mostly aligned, with small tangents or scope creep.MAJOR-DRIFT— the work diverges materially from S1's goal.
- S2 (Immutable Constraints) violations: for each S2 constraint, semantically
assess whether the
--againstcontent appears to violate it. List each apparent violation with a one-line rationale. If none, report "no violations."
4. Emit Report (no writes)#
Print, in order:
- Per-AC-ID status table (AC-ID → status from S4).
- Goal-alignment verdict:
ALIGNED/MINOR-DRIFT/MAJOR-DRIFT(only with--against). - S2 constraint violations (only with
--against).
Output#
A read-only alignment report printed to the console. No files are modified.
Related Commands#
/cc-spec:seed— Create Seed spec/cc-spec:verify— Verification + lock/cc-spec:evolve— Evolve locked Seed spec/cc-spec:score— Re-evaluate ambiguity score