{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "dev/phase-plan@1", "title": "Dev Phase Plan", "description": "실행 단계 계획 (spec 기반 phase 분해)", "type": "object", "required": ["runId", "phaseKey", "phases"], "additionalProperties": false, "properties": { "runId": { "type": "string", "format": "uuid", "description": "실행 고유 식별자 (spec.json과 동일한 UUID)" }, "phaseKey": { "type": "string", "minLength": 1, "description": "현재 phase 키 (통상 planning)" }, "phases": { "type": "array", "items": { "type": "object", "required": ["key", "title", "role", "instructions"], "additionalProperties": false, "properties": { "key": { "type": "string", "pattern": "^[a-z][a-z0-9-]*$", "description": "단계 고유 식별자 (영소문자, 하이픈 허용)" }, "title": { "type": "string", "minLength": 1, "description": "단계 제목" }, "role": { "type": "string", "minLength": 1, "description": "담당 역할 ID" }, "instructions": { "type": "string", "minLength": 10, "description": "담당자에 대한 구체적인 지시사항" }, "expected_artifact": { "type": "object", "required": ["path", "schema"], "additionalProperties": false, "properties": { "path": { "type": "string", "description": "산출물 파일 경로" }, "schema": { "type": "string", "description": "산출물 JSON Schema ID" } }, "description": "이 단계에서 생성할 산출물 (선택)" }, "depends_on": { "type": "array", "items": { "type": "string" }, "description": "이 단계 실행 전에 완료돼야 할 선행 단계 키 목록 (선택)" } } }, "description": "실행 단계 목록" }, "estimated_duration_hours": { "type": "number", "minimum": 0, "description": "전체 예상 소요 시간 (시간 단위, 선택)" } } }