Running Pipelines
OpenMontage pipelines have no central Python orchestrator. Your AI coding assistant (Claude Code, Cursor, etc.) reads the YAML manifest, follows the corresponding stage-director skill for each step, calls tools from the registry, writes checkpoints, and respects human approval gates.
Starting a Production
After setup, open the project in your coding assistant and issue a request:
Start a new production using the animated-explainer pipeline for the topic: "How neural networks learn".
The agent selects the pipeline (or defaults to one declared in the manifest), derives a kebab-case project_id (e.g. how-neural-networks-learn), creates the workspace under projects/<project-id>/, and begins the standard stage progression:
research → proposal → script → scene_plan → assets → edit → compose → publish
See the full list and categories in Available Pipelines.
Loading Manifests
The agent loads the manifest from pipeline_defs/<name>.yaml and validates it against the pipeline schema. You can inspect available pipelines and a manifest directly:
python -c "
from lib.pipeline_loader import list_pipelines, load_pipeline
print(list_pipelines())
manifest = load_pipeline('animated-explainer')
print(manifest['name'], manifest['orchestration']['budget_default_usd'])
"
Use get_stage_order(manifest) to retrieve the exact sequence the agent will follow.
Stage-Director Skills and Tool Governance
Before working on any stage the agent must read the director skill listed in the manifest (e.g. skills/pipelines/explainer/research-director.md). The skill contains the exact workflow, artifact contracts, review criteria, and quality rubrics for that stage.
Each stage declares tools_available. The agent may call only those tools (plus any preferred_tools or fallback_tools). Selectors (tts_selector, image_selector, video_selector) are the normal entry point for multi-provider capabilities. Tools outside the list for the current stage are blocked.
Sub-Stages and Conditional Work
Manifests can define sub_stages inside a stage. These appear as stage.sub_name when you request get_stage_order(manifest, include_sub_stages=True). Sub-stages activate based on context (for example, a short preview sample when a video_analysis_brief is present). They do not create separate checkpoints unless the manifest marks them as such.
Reference Input Support
Pipelines that declare reference_input.supported: true (see cinematic and documentary-montage) accept a reference video or local file. When present, the agent first runs the analysis tools listed under analysis_tools (typically video_analyzer, scene_detect, frame_sampler, transcriber) to produce a video_analysis_brief. This brief grounds later stages. See Analysis and Corpus for details.
Checkpoint Flow
After completing a stage the agent calls write_checkpoint, which:
- Validates the canonical artifact for the stage (e.g.
scriptfor the script stage) - Merges any
decision_logentries - Records
cost_snapshot,review,human_approved, and the lockedrender_runtime - Writes
pipeline/<project-id>/checkpoint_<stage>.json
Status values are pending, in_progress, awaiting_human, completed, or failed.
To resume an interrupted run, the agent calls get_latest_checkpoint and get_next_stage and continues from the last completed stage. Human approval gates are set by the manifest's human_approval_default combined with the checkpoint_policy (guided, manual_all, or auto_noncreative).
You can inspect state at any time:
ls pipeline/<project-id>/
cat pipeline/<project-id>/checkpoint_script.json
All artifacts are also materialized as standalone JSON files under projects/<project-id>/artifacts/.
Human Approval and Budget Gates
Creative stages usually default to human_approval_default: true. The agent pauses and asks for explicit approval before writing the checkpoint. Budget controls (single_action_approval_usd, cap mode) can also force a pause. See Budget Governance and Cost Tracking.
Follow the stage-director skill exactly and let the agent surface any blockers (missing runtime, budget overrun, delivery-promise violation) before proceeding.