Backward Compatibility
| `model:` + `prompt:` stage | ✅ unchanged |
v0.4.0concept
Backward compatibility
| v0.1 feature | v0.2 status |
|---|---|
model: + prompt: stage |
✅ unchanged |
uses: skill_id (string) |
✅ unchanged, semantics = uses: skill_id@* (loose pin) |
uses: [a, b] (sequential array) |
✅ unchanged |
depends_on: [...] |
✅ unchanged |
$input.X interpolation |
✅ unchanged |
$stages.X.output interpolation |
✅ unchanged |
output.format: zip + signed URL |
✅ unchanged |
output_format: (omitted = text) |
✅ unchanged, new values structured_json, code, markdown add validation |
agent attribute (legacy) |
⚠️ Deprecated. Use model: (LLM) or uses: (skill). |
| v0.2 NEW | Required in v0.2? | Allowed in v0.1 runner? |
|---|---|---|
uses@version syntax |
Optional; loose pin = v0.1 semantics | Parsed as uses: skill_id, version suffix ignored |
output_format: structured_json + fields: [...] |
Optional | Ignored (no validation) |
mcp_servers + mcp_tools |
Optional | Ignored |
working_dir |
Optional | Ignored (server-only stages anyway) |
A v0.2 spec file should run on a v0.1 runtime (with warnings about ignored fields). A v0.1 spec file should run on a v0.2 runtime (new fields just stay at their v0.1 defaults).