O OpenMontage

Schemas and Artifacts#

OpenMontage defines all structured data exchanged across pipeline stages using JSON schemas. These contracts live under schemas/ and cover checkpoints, pipeline manifests, style playbooks, and 11+ canonical artifacts. Every artifact is validated with jsonschema before a checkpoint is written. Invalid data blocks progression.

Canonical Stage-to-Artifact Mapping#

The system maps each stage to exactly one primary artifact. A checkpoint with status completed or awaiting_human must include the canonical artifact for its stage.

Stage Artifact
research research_brief
proposal proposal_packet
idea brief
script script
scene_plan scene_plan
assets asset_manifest
edit edit_decisions
compose render_report
publish publish_log

Supplementary artifacts (source_media_review, final_review, video_analysis_brief, review, cost_log) may appear alongside the canonical ones when required by governance rules.

See Checkpoint System for how these artifacts are persisted and Pipeline System for stage ordering.

Artifact Schemas#

All artifacts are versioned JSON objects. Key required fields include:

  • script: version, title, total_duration_seconds, sections[] (each with id, text, start_seconds, end_seconds). Optional per-section fields cover speaker_directions, enhancement_cues, and pronunciation_guides.
  • scene_plan: version, scenes[] (each with id, type, description, start_seconds, end_seconds). Scenes declare framing, movement, transition_in/out, and required_assets.
  • edit_decisions: version, cuts[] (each with id, source, in_seconds, out_seconds), render_runtime (locked value: remotion, hyperframes, or ffmpeg).
  • proposal_packet: version, concept_options[] (at least three), selected_concept, production_plan (includes render_runtime, delivery_promise, provider_rankings), cost_estimate, approval.
  • asset_manifest: version, assets[] (each with id, type, path, source_tool, scene_id).
  • research_brief, render_report, and publish_log follow the same pattern with stage-specific top-level keys.

See Provider Selection for how delivery_promise and provider_rankings are populated inside proposal_packet.

Checkpoint Schema#

Checkpoints wrap artifacts and state:

{
  "version": "1.0",
  "project_id": "my-video",
  "pipeline_type": "cinematic",
  "stage": "script",
  "status": "completed",
  "timestamp": "2026-03-28T10:00:00Z",
  "artifacts": { "script": { ... } },
  "checkpoint_policy": "guided",
  "human_approval_required": false,
  "cost_snapshot": { ... },
  "review": { ... }
}

Status values are pending, in_progress, awaiting_human, completed, or failed. Checkpoints are written to the project pipeline/ directory.

Pipeline Manifests#

Pipeline definitions are YAML files validated against the pipeline manifest schema. A minimal manifest declares:

name: cinematic
version: "2.0"
category: cinematic
default_checkpoint_policy: guided
orchestration:
  mode: executive-producer
  budget_default_usd: 2.00
stages:
  - name: research
    skill: pipelines/cinematic/research-director
    produces: [research_brief]
    tools_available: []
    checkpoint_required: true
    human_approval_default: false

See Available Pipelines for the full list and Running Pipelines for manifest usage.

Style Playbooks#

Playbooks are YAML files validated against the style schema. They define identity, visual_language, typography, motion, audio, and asset_generation rules. Pipelines declare compatible_playbooks in their manifest. The chosen playbook is locked in proposal_packet.production_plan.playbook and carried forward.

See Style Playbooks for built-in options and custom playbook rules.

Validation Rules#

  • Schemas are enforced at checkpoint write time.
  • render_runtime and delivery_promise values locked at proposal must match in later artifacts.
  • Missing a canonical artifact for a completed stage fails validation.
  • All artifacts under projects/<kebab-name>/artifacts/ and inside checkpoints must conform.

See Cost Tracking and Governance Issues for how validation interacts with budget and delivery rules.