feat(workflow): execution_plan artifact kind + schema + architect prompt
Add docs/schemas/execution_plan.json (goal/stages/edges), the architect_freestyle prompt that instructs emitting the execution pipeline as JSON, and register the execution_plan llm-emitted kind in both artifacts.config.toml and sample-config.toml. Validated via ExecutionPlanSchemaValidationTest (minimal plan passes; missing stages rejected).
This commit is contained in:
@@ -134,3 +134,8 @@ backend = "in_memory" # or "turbovec"
|
||||
# The bundled examples/workflows/review_loop.toml uses this kind: the reviewer emits a
|
||||
# review_report whose `verdict` field gates the implementer↔reviewer loop via
|
||||
# artifact_field_equals transitions. See docs/schemas/review_report.json for the schema.
|
||||
|
||||
[[artifacts]]
|
||||
id = "execution_plan"
|
||||
schema_path = "schemas/execution_plan.json"
|
||||
llm_emitted = true
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
{
|
||||
"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" },
|
||||
"tools": { "type": "array", "items": { "type": "string" } }
|
||||
},
|
||||
"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
|
||||
}
|
||||
Reference in New Issue
Block a user