Files
calesthio 355fd2b7d6 Implementation spec: governance, decision intelligence, theme system, and E2E bug fixes
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)
2026-04-03 09:35:09 -07:00

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_map
  • transcript_path
  • chapter_candidates
  • highlight_candidates
  • rejected_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_search to verify factual claims before committing them to the script
  • Use web_search to 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.