{ "type": "object", "properties": { "goal": { "type": "string" }, "stages": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "role": { "type": "string" }, "prompt": { "type": "string" }, "needs": { "type": "array", "items": { "type": "string" } }, "produces": { "type": "string" }, "kind": { "type": "string" }, "tools": { "type": "array", "items": { "type": "string" } } ,"writes": { "type": "array", "items": { "type": "string" } } ,"touches": { "type": "array", "items": { "type": "string" } } ,"build_expectation": { "type": "string", "description": "one of: none, module, project, tests" } ,"semantic_review": { "type": "boolean" } }, "required": ["id", "prompt", "produces"] } }, "edges": { "type": "array", "items": { "type": "object", "properties": { "from": { "type": "string" }, "to": { "type": "string" }, "condition": { "type": "object", "properties": { "type": { "type": "string" }, "artifact_id": { "type": "string" }, "field": { "type": "string" }, "value": { "type": "string" }, "operator": { "type": "string" } }, "required": ["type"] } }, "required": ["from", "to", "condition"] } } }, "required": ["goal", "stages", "edges"], "additionalProperties": true }