Generating DRTML
This page is for external agents / IDE tools. The Framework does not embed an LLM. DRTML and Framework primitives are designed to be machine-generatable and machine-composable; production NL→DRTML agents live outside this package.
Recommended agent loop
Section titled “Recommended agent loop”- Discover —
inspect --format jsonorbuild_catalog(). - Select primitives — filter by kind; read contracts for params/I/O.
- Check composition —
can_compose/compatible_consumers. - Draft DRTML — emit YAML using only known ids and namespaces.
- Validate —
validate_manifest_path(..., compile=True). - Repair — apply structured
errors[].code/path/available/fixes. - Execute —
run_from_manifest(or Airflow/local runner) when valid.
Worked example (no LLM)
Section titled “Worked example (no LLM)”See examples/agent-pipeline-loop
in the Framework repo: a script simulates “NL intent → discovery → bad draft →
structured repair → compile” using only Framework APIs.
Constraints
Section titled “Constraints”- Param namespaces must be in the allowlist (
runtime,domain,compute, …) — Namespaces. - Dataset backends must be registered (
parquet,postgres, …). - Patterns / run types must exist in the catalog.
- PostgreSQL datasets use inline
datasets.*.postgresonly (no top-levelpostgres.tables). - Do not invent proprietary Ontobuilder step ids inside Framework core docs.