제품 상태 읽기 계약
대표 명령은 `/cc-product:status`입니다. 이 계약은 **조회만** 합니다.
대표 명령은 /cc-product:status입니다. 이 계약은 조회만 합니다.
초기화·이슈 생성·파일 수정·단계 실행·머지/Close를 하지 않고 다음 실행 명령만 안내합니다.
출처 판별#
| source | 읽을 자료 | 단계 정의 |
|---|---|---|
| pipeline | .pipeline/{slug}.yaml, 연결된 이슈/PR, 기록된 산출물 |
플러그인의 config/pipeline.json의 stages를 order순 정렬 |
| bmad |
bmad/config.yaml
,
.bmad/bmm-workflow-status.yaml
,
.bmad/sprint-status.yaml
, 스토리/산출물
|
해당 BMAD 설정/워크플로 항목 |
-
--source auto는 존재하는 출처를 찾습니다. 하나면 선택, 여러 개면 출처별로 나란히 보고합니다. 내용을 합쳐 하나의 완료 상태로 만들거나 파일을 이관하지 않습니다. - 특정
--source를 지정했는데 자료가 없으면not_initialized를 반환합니다. --all은 발견한 모든 프로젝트/출처를 이름순으로 나열하며 생략한 항목이 있으면 이름을 표시합니다.-
--issue N은 연결된 항목을 좁히고 원격 이슈/PR 상태를 대조합니다. 로컬 연결 자료가 없다면 원격 상태만 표시하고 제품 단계는unknown으로 남깁니다. --phase는 선택한 출처의 실제 단계 키/이름으로 필터합니다. 없는 단계는 오류와 유효한 목록을 반환합니다.- 설정/읽기 실패는
unknown입니다. 빈 배열·실패 0건·완료로 대체하지 않습니다.
항목 정규화#
source, project, stage, status, evidence, blockers, next_command를 공통 필드로 보고합니다.
원본 상태값도 함께 남겨 변환 결과를 추적할 수 있게 합니다.
| 원본 의미 | 표시 |
|---|---|
| pending/not_started | pending |
| in_progress | in_progress |
| failed/rejected/blocked | blocked (원본 이유 보존) |
| skipped/bypassed | skipped (사유·승인 기록 포함, pass로 세지 않음) |
| dev-complete/PR_READY | review (미머지) |
| completed/passed | 증거 확인 후 completed, 증거 부재·모순이면 unknown |
| 알 수 없는 값/누락/조회 실패 | unknown |
완료 증거는 해당 단계의 산출물과 게이트 결과입니다. 구현 단계는 원격 PR 머지·이슈 상태를 대조하며 스프린트의 dev-complete만으로 merged/closed를 주장하지 않습니다. 경고는 경고를 표시하고 필요한 검증이 미확정이면 완료에 포함하지 않습니다.
충돌과 진행률#
- 출처 간 상태가 다르면
conflict와 각각의 증거를 표시합니다. 최신 시각 하나만으로 승자를 정하지 않습니다. - 총 단계 수는 위 단계 정의에서 계산합니다. 6/7/8 또는 4를 명령 본문에 고정하지 않습니다.
- completed/pending/review/blocked/skipped/unknown을 각각 집계합니다. 미검증/생략을 완료율에 섞지 않습니다.
- 다음 명령은 확인된 단계 정의/실행기의 재개 안내를 사용합니다. blocked/unknown이면 먼저 해결할 원인을 표시합니다. 자료에 있는 오래된 호출을 새 명령으로 추측하지 말고 카탈로그의 정식명을 확인합니다.
읽기 전용 확인 사례#
단일 pipeline, 단일 BMAD, 두 출처 일치/충돌, 미초기화, 손상된 YAML, 산출물 누락, PR_READY(미머지), 원격 조회 실패, 존재하지 않는 phase를 각각 대조합니다. 어느 경우에도 status가 복구·초기화·개발 명령을 대신 실행하지 않습니다.