Governance Issues#
Governance mechanisms in OpenMontage enforce budget limits, locked decisions, and artifact contracts. Violations surface as errors or reviewer findings during pipeline execution. Inspect files under pipeline/<project-id>/ and projects/<kebab-name>/artifacts/ to diagnose.
Budget Overruns#
The CostTracker follows estimate → reserve → reconcile for every paid operation. Configuration lives in config.yaml:
budget:
mode: cap
total_usd: 10.00
reserve_pct: 0.10
single_action_approval_usd: 0.50
observe: tracks only.warn: logs overruns but continues.cap: rejects operations that would exceed remaining budget.
Overruns raise BudgetExceededError (in cap mode) or ApprovalRequiredError (above the single-action threshold or first use of a paid tool). Review pipeline/<project-id>/cost_log.json for entries showing estimated_usd, reserved_usd, and actual_usd.
To resolve, increase total_usd or switch to warn mode, then resume from the last checkpoint. Run make preflight before retrying to confirm provider availability.
cap mode blocks execution immediately. Roll budget changes before re-running the stage.
See Cost Tracking for full lifecycle details.
Runtime Swaps#
render_runtime ("remotion", "hyperframes", or "ffmpeg") is locked in proposal_packet.production_plan.render_runtime at the proposal stage and must match edit_decisions.render_runtime exactly. Silent changes are blocked by video_compose.
Check projects/<kebab-name>/artifacts/proposal_packet.json and edit_decisions.json. Mismatches appear in pipeline/<project-id>/decision_log.json under render_runtime_selection entries. If both Remotion and HyperFrames are available, the agent must present both options with tradeoffs before locking.
To fix a detected swap, revert to the approved runtime in the next checkpoint or obtain explicit approval and log a new decision. See Composition Runtimes.
Delivery Promise Violations#
delivery_promise (with promise_type, motion_required, min_motion_ratio) is set in proposal_packet.production_plan and enforced at compose time via validate_cuts. Real motion (video, animation, avatar) is required for MOTION_LED or AVATAR_PRESENTER; still-image fallbacks are forbidden when still_fallback_allowed: false.
Violations surface as blockers in the compose stage or final review. Inspect delivery_promise and slideshow_risk_score in the artifacts. Re-run proposal with adjusted intent or add motion assets before advancing. See Provider Selection.
Checkpoint Validation Failures#
Checkpoints require the canonical artifact for the stage (per CANONICAL_STAGE_ARTIFACTS) and must validate against schemas. Missing artifacts or type mismatches raise validation errors.
Read pipeline/<project-id>/checkpoint_<stage>.json. Ensure artifacts contains the expected key (e.g., script for the script stage) and that status is completed or awaiting_human. Re-execute the stage director skill to regenerate the artifact, then write a fresh checkpoint. See Checkpoint System and Schemas and Artifacts.
Reviewer Findings#
The meta/reviewer skill scans checkpoints for governance issues including cost overruns, runtime mismatches, promise violations, and missing decision logs. Findings appear in the review field of checkpoints and final_review artifacts.
Address each item listed (e.g., "runtime_swap_detected" or "motion_ratio_below_floor"), update the relevant artifact or decision log, and re-run the reviewer step. Human approval is required for creative stages when human_approval_required: true.
See Running Pipelines for stage progression and approval gates.