LogoSkills

/cc-spec:status — 확정된 명세와 지금 작업이 얼마나 맞는지 점검

Seed Spec 상태 — 최신 LOCKED Seed spec을 기준으로 한 읽기 전용 LLM 의미 기반 정렬 리포트

/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 중 하나를 줄 수 있습니다. 주어진 대상의 내용을 명세와 의미 기준으로 비교해 정렬 판정과 제약 위반을 함께 진단합니다.

안에서 무슨 일이 벌어지나요#

크게 네 단계로, 모두 읽기 전용으로 진행됩니다.

  1. 명세 불러오기 — 가장 최근의 LOCKED Seed 명세를 찾아 읽습니다. 잠긴 명세가 없으면 /cc-spec:verify --lock 으로 먼저 확정하라고 안내하고 멈춥니다(아무것도 쓰지 않음).
  2. 합격 기준 상태 정리 — 명세의 합격 기준(S4)에서 AC-01~ 각 항목과 현재 상태를 그대로 읽어 표로 정리합니다.
  3. 의미 기준 비교--against 대상이 있으면, 그 내용을 명세의 핵심 문제(S1)·불변 제약(S2)과 뜻으로 견주어 정렬 판정과 제약 위반을 도출합니다(단어 일치가 아닌 의미 판단).
  4. 리포트 출력 — 합격 기준별 상태 + 목표 정렬 판정 + 제약 위반 목록을 화면에 출력합니다. 파일은 어느 것도 수정되지 않습니다.

끝나면 다음은?#

  • 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 changes

Behavior: 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#

ParameterDescriptionDefault
--againstCompare 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 --lock first. Write nothing.

Execution Flow#

1. Load Locked Seed (read-only)#

  • Resolve the most recent docs/seed-spec-*.md with 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 --against content 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 --against content 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:

  1. Per-AC-ID status table (AC-ID → status from S4).
  2. Goal-alignment verdict: ALIGNED / MINOR-DRIFT / MAJOR-DRIFT (only with --against).
  3. S2 constraint violations (only with --against).

Output#

A read-only alignment report printed to the console. No files are modified.

  • /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