Implements the 2026-04-02 transformation spec (Phases 1-8) and fixes all critical bugs found during 5-pipeline E2E testing. Governance & Decision Intelligence: - Pipeline-specific stage order in checkpoint (replaces global STAGES list) - Provider scoring engine (lib/scoring.py) with 7-dimension weighted ranking - Decision log artifact enforced at proposal/idea stage across all 10 pipelines - Delivery promise classifier prevents silent motion-to-still downgrades - Structured shot language in scene_plan schema (camera, lens, lighting, DOF) - Variation checker and slideshow risk scorer block samey output before render - Creative intake, capability extension, and creative-intake meta skills - Final self-review artifact with 5 mandatory checks before presenting output - Source media review contract for user-supplied footage Render & Theme System: - Remotion AnimatedBackground now derives colors from playbook (no more hardcoded dark blue fintech gradient on every video) - video_compose builds custom ThemeConfig from playbook YAML colors/fonts — custom playbooks flow through to Remotion automatically - Explainer component wires theme to all child components (charts, cards, etc.) - resolveAsset() handles absolute paths on Windows/Unix via file:// URIs - RENDERER_FAMILY_MAP synced with actual Remotion compositions Critical Bug Fixes: - Windows npx subprocess: run_command() resolves .cmd wrappers via shutil.which() - Silent renderer downgrade: Remotion failure now returns explicit error with options instead of silently falling back to FFmpeg - .env inline comment parsing strips trailing # comments from API keys - concat_path UnboundLocalError in video_compose finally block - audio_mixer and showcase_card capture=True kwarg bug - Selector estimate_cost() calls fixed (_select_tool -> _select_best_tool) - asset_manifest schema expanded with provider, license, subtype fields - screen-demo subtitle_gen moved from required to optional tools - Duration drift detection in post-render final review (>25% warns)
2.6 KiB
Script Director - Podcast Repurpose Pipeline
When To Use
This stage creates the transcript truth, speaker attribution, highlight set, and chapter structure that every later stage depends on.
Prerequisites
| Layer | Resource | Purpose |
|---|---|---|
| Schema | schemas/artifacts/script.schema.json |
Artifact validation |
| Prior artifact | state.artifacts["idea"]["brief"] |
Deliverable mix and source truth |
| Tools | transcriber, audio_enhance |
Diarized transcript and cleanup |
Process
1. Protect Transcript Quality
If the source audio is weak, use audio_enhance before or alongside transcription. Speaker diarization quality directly affects quote attribution and clip quality.
2. Produce A Speaker-Aware Transcript
Diarization is not optional for multi-speaker episodes. Verify speaker mapping early and store the richer diarization detail in script.metadata.
Recommended metadata keys:
speaker_maptranscript_pathchapter_candidateshighlight_candidatesrejected_highlights
3. Rank Highlight Moments
Use the episode transcript to find:
- concise insights,
- surprising claims,
- emotional peaks,
- debates,
- practical advice,
- memorable phrasing.
Every highlight should be evaluated for:
- standalone clarity,
- hook strength,
- attribution confidence,
- platform fit.
4. Build Chapters For Long-Form Packaging
If the user wants a full-episode companion asset, identify the topic shifts now. These become chapter markers and later visual transition points.
5. Keep The Schema Clean
Use sections[] for the structured production-facing segments and put the richer highlight inventory in metadata.
6. Quality Gate
- speaker attribution is trustworthy,
- the highlight set is strong enough for the requested deliverables,
- weak clips are rejected instead of padded,
- chapter markers cover the long-form conversation cleanly.
Mid-Production Fact Verification
If you encounter uncertainty during script writing:
- Use
web_searchto verify factual claims before committing them to the script - Use
web_searchto find reference images for visual accuracy - Log verification in the decision log:
category="visual_accuracy_check"
Every factual claim in the script should be traceable to the research_brief.
If you make a claim that isn't in the research, do additional research and
add the source. Do not invent statistics, dates, or attributions.
Common Pitfalls
- Treating diarization errors as minor when they change who said the quote.
- Selecting clips that need too much earlier context.
- Overfitting the batch to one section of the episode.