Manifest reference
A DRTML v4 manifest is a validated YAML contract. The public loader lowers it into an internal StepManifest used by compile and runtime.
Minimal partition step
Section titled “Minimal partition step”drtml: 4step: normalize_textrun: type: partition processor: batch: acme_steps.normalize.processor:process_batchstorage: default: artifacts stores: artifacts: {backend: local, root: /tmp/drtoller-data}inputs: documents: schema: {document_id: string, text: string} run: mapping.upstream_runs feed: {batch: 64}outputs: normalized_documents: schema: {document_id: string, text: string} from: documentsparams: runtime: metrics_enabled: true document_batch_size: 64orchestration.dag_id defaults to drt_<step> when omitted.
Top-level fields
Section titled “Top-level fields”Identity and loading
Section titled “Identity and loading”drtml: must be4.step: stable step identifier. It must matchRunContext.step_id.schema: optional schema identifier.include: list of fragment paths or globs. Nomerge:target.
run.type:partition|mapping|reduce|dataset_metrics|evaluation|embed_train|custom.- Builtin types use a framework entry automatically.
run.type: customrequiresrun.entry(module:callable).- Partition fields:
processor, optionalderive,lookup_bindings,infer. - Mapping fields:
entities,registry,crosswalk,ids. - Reduce / metrics / evaluation / embed_train: type-specific job blocks (same semantics as before, under
run).
Storage and data
Section titled “Storage and data”storage.stores: named profiles (local/s3/postgres/qdrant/neo4j).storage.default: default object store for datasets without an explicitstore.inputs/outputs: dataset declarations. Role is implied by the section.- Dataset fields use
schema,run,key,group,aggregate,identity,physical,measurements.
Params and integrations
Section titled “Params and integrations”params: nested namespaces (runtime,storage,domain, …). Flattened tonamespace.keyfor runtime.orchestration: DAG identity, connections, artifacts root, env fallbacks, params hook, XCom.observability: progress, Prometheus metrics, curves, dashboard panels, grafana uid.ui: Streamlit form schema (bindpreferred over legacyparam).lookups: crosswalk indexes loaded before the processor runs.
Includes
Section titled “Includes”include: - fragments/params.drtml - fragments/ui.drtml - fragments/metrics.drtml - fragments/datasets/*.drtmlFragments are deep-merged in order. The entry manifest wins over included defaults. See Fragments and include.
Compile outputs
Section titled “Compile outputs”compile_step_manifest() converts the lowered manifest and merged params into runtime plans:
StoragePlanStepFeedPlanMappingPlanReduceMergePlanDatasetMetricsPlanEvaluationPlanComputePlan- mode-specific plans such as embed training
Compile produces plans only. It does not open datasets or perform runtime I/O.
Strictness
Section titled “Strictness”Public v4 rejects unknown root fields. Typed internal blocks generally use extra="forbid". See Extending DRTML.