Compatibility And Caveats
Last validated: 2026-05-14
This page summarizes DSL authoring caveats between parser support, runtime behavior, and CLI/API parity.
For full service-level matrix, see 07-feature-status.md.
Parser vs Runtime Notes
| Construct | Parser | Runtime today |
|---|---|---|
do with on error | Implemented | Recovery forms parse; behavior depends on runtime/tool path |
each ... parallel | Implemented | Parallel fast path limited; complex bodies may run sequentially |
pipe ... parallel | Implemented | True parallel path limited to simple execute body patterns |
together | Implemented | Full parallelism limited; multi-step lanes may degrade to sequential |
decide | Implemented | Rules and LLM parse; some branch metadata/binding details are limited |
check ... on fail: retry | Implemented | Retry path has partial behavior in runtime matrix |
send ... via | Implemented | Channel support currently limited (slack, email) |
ask + resume | Implemented | API supports resume; CLI still lacks direct resume command |
Known Syntax/Behavior Edges
- Tool import syntax is
import tools ...(or legacytools ...). - Direct script file import syntax (
import "file.scriptum" as x) is not part of current parser. - Section markers are tokenized via
### ... ###; avoid relying on a standalonesectionkeyword. eachoptional quoted label is accepted but not preserved as a named field in AST.envdeclarations default totextwhen no explicit type is provided.- Object declarations are permissive; keep downstream tool contracts explicit.
Practical Authoring Guardrails
- Prefer deterministic
decide ... with rulesfor critical routing. - Keep parallel blocks simple (single execute-heavy lanes) when throughput matters.
- Always provide explicit bindings (
-> name) for inspectability and debuggability. - Add
checkgates after high-variance LLM/tool steps. - For large outputs, design with
yield+ stream retrieval in mind. - Keep
askprompts typed (type,options,timeout,max_retries) to reduce resume failures.
Validation Workflow
- Compile every draft before publish.
- Run representative test inputs for each major branch.
- Inspect thread/step events for branch routing and yielded shape.
- Re-check feature matrix before depending on edge behaviors in production.