| name | flow-spec-graph |
| description | 스펙 그래프 관리 시스템. flow spec-* 커맨드로 기능 스펙을 JSON으로 관리하고 의존성 그래프를 생성·분석한다. 스펙 생성, 검증, 영향 분석, 상태 전파, 코드 참조 검증이 필요할 때 사용. 스펙 관련 작업 전반에 사용. |
Flow Spec Graph
JSON 기반 기능 스펙 관리 및 의존성 그래프 분석 시스템.
스펙 CRUD
./flow.ps1 spec-init
./flow.ps1 spec-create --title "새 기능" --parent F-001 --tags "core,cli"
./flow.ps1 spec-create --id F-040 --title "새 기능" --status draft
./flow.ps1 spec-get F-010
./flow.ps1 spec-list --status working --tag core
./flow.ps1 spec-delete F-040
./flow.ps1 spec-append-review F-040 --input-file ./.flow/review/F-040-review.json --reviewer runner-01
검증
./flow.ps1 spec-validate
./flow.ps1 spec-validate --strict
./flow.ps1 spec-validate --id F-010
./flow.ps1 spec-check-refs
./flow.ps1 spec-check-refs --strict
그래프 분석
./flow.ps1 spec-graph
./flow.ps1 spec-graph --tree
./flow.ps1 spec-graph --output docs/specs/.spec-cache/graph.json
./flow.ps1 spec-impact F-010
./flow.ps1 spec-propagate F-010 --status needs-review
./flow.ps1 spec-propagate F-010 --status needs-review --apply
백업/복구
./flow.ps1 spec-backup
./flow.ps1 spec-restore 20260228-073219
스펙 JSON 구조
{
"schemaVersion": 2,
"id": "F-010",
"nodeType": "feature",
"title": "스펙 그래프 관리",
"description": "설명",
"status": "queued",
"parent": "F-001",
"dependencies": ["F-010"],
"conditions": [
{
"id": "F-010-C1",
"nodeType": "condition",
"description": "Given-When-Then 형식 수락 조건",
"status": "verified",
"codeRefs": ["tools/flow-core/Services/SpecStore.cs"],
"evidence": []
}
],
"codeRefs": ["tools/flow-core/Services/SpecStore.cs"],
"tags": ["spec", "graph"]
}
nodeType 구분
| nodeType | 설명 | 최종 상태 |
|---|
feature | 지속적으로 유지되는 기능 스펙. 수락 조건(conditions) 필요. | verified |
task | 일회성 처리 스펙. 보안 검토, 데이터 이전 등 한 번 수행하고 끝나는 작업. 수락 조건 불필요. | done |
condition | feature/task의 하위 수락 조건 노드. | verified |
task 타입 예시
스펙 파일 위치
- 스펙 디렉토리:
docs/specs/
- 스펙 파일 패턴:
docs/specs/{id}.json
- 백업:
docs/specs/.backup/{timestamp}/
- 그래프 캐시:
docs/specs/.spec-cache/graph.json