Skip to content

rdt-model-compile

rdt-model-compile is the pipeline orchestrator. It spawns all rdt-model-* module binaries in the correct phase order, captures their JSON result envelopes, and aggregates results.

No generators, templates, or schemas live here — those belong in the module that owns each artifact.

PropertyValue
Binaryrdt-model-compile
Pipeline phaseOrchestrator (invokes all phases)
Depends onAll module binaries available on $PATH
NetworkNone (delegates to child modules)
ThreadingPattern A (async — spawns child processes in parallel within each phase)
SubcommandDescription
runExecute the full 6-phase pipeline for an entity
run --phase <name>Execute a single phase only
run --workspace <path>Run with workspace isolation (modules write to workspace, not repo)
promote --workspace <path>Copy artifacts from workspace to final repo paths after a successful run
statusShow pipeline status for an entity (not yet implemented)
  • Phases run sequentially: Ingest → Enrich → Prepare → Deploy → Register → Support
  • Modules within the same phase run in parallel (futures::join_all)
  • If ALL required modules in a phase fail → pipeline stops (status: Error)
  • Optional module failures (profile, infer) never block the pipeline
  • --dry-run → logs planned invocations, returns synthetic Skipped results
  • --json → emits PipelineResult to stdout
Terminal window
cargo run -p rdt-model-compile -- --target dev --entity waste-tracking --dry-run run
Terminal window
cargo run -p rdt-model-compile -- --target dev --entity waste-tracking run --phase deploy
Terminal window
cargo run -p rdt-model-compile -- --target dev --entity waste-tracking \
run --workspace /tmp/rdt-waste-tracking-test

Modules write to the workspace instead of directly to repo paths. Combine with promote for atomic deployments.

Terminal window
cargo run -p rdt-model-compile -- --target dev --entity waste-tracking \
promote --workspace /tmp/rdt-waste-tracking-test

Copies workspace artifacts to their canonical repo paths. Only promotes files that exist — optional modules that didn’t run are skipped.

Terminal window
cargo run -p rdt-model-compile -- --target dev --entity waste-tracking --json run --dry-run

Returns a PipelineResult JSON envelope with per-phase and per-module status.

FlagShortEnvDescription
--target-tRDT_TARGETRequired. dev, test, or prod
--entity-eEntity slug (required)
--workspaceEnable workspace isolation mode
--run-idRDT_RUN_IDPipeline correlation ID (auto-generated if omitted)
--dry-run-nSkip all side-effects
--jsonEmit structured PipelineResult to stdout
--quiet-qSuppress informational output
#PhaseModulesOptional
1Ingestpull, profileprofile
2Enrichgovern, inferinfer
3Preparevalidate
4Deploystore, policy, api, mcp, sdk, contract
5Registerregister, snowflake-horizon, rdm, gupri, search
6Supportdocs, cidb, event

The orchestrator captures errors from child modules and reports them in the result envelope. A phase-level failure (all required modules fail) halts the pipeline immediately. Individual module failures within a phase produce a Partial status but allow the pipeline to continue if at least one required module succeeds.

For running multiple entities in parallel via CI, see: