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)
This commit is contained in:
@@ -19,6 +19,16 @@ This stage produces the localized asset kit: translated subtitle files, dubbed a
|
||||
|
||||
Create the subtitle or caption package for each language. This gives a reviewable fallback even if dubbed-audio generation or lip sync is blocked.
|
||||
|
||||
### 1b. Hero Scene Sample (Mandatory)
|
||||
|
||||
Before batch asset generation:
|
||||
1. Identify the hero scene (the visual peak of the video)
|
||||
2. Generate ONE sample dubbed audio clip for that scene in the target language
|
||||
3. Present it: "This is the voice direction for the most important scene. Does this match what you're imagining? I'll generate the rest in this style."
|
||||
4. Wait for approval before proceeding to batch generation
|
||||
|
||||
This prevents the most expensive mistake: generating 10+ dubbed assets in a direction the user doesn't like.
|
||||
|
||||
### 2. Generate Dubbed Audio Per Language
|
||||
|
||||
Use the approved translated script package, not raw machine output. Record which voice or synthesis path was used for each language.
|
||||
@@ -45,8 +55,38 @@ Recommended metadata keys:
|
||||
- lip-sync remains explicitly optional,
|
||||
- every referenced file exists.
|
||||
|
||||
### Mid-Production Fact Verification
|
||||
|
||||
If you encounter uncertainty during asset generation:
|
||||
- Use `web_search` to verify visual accuracy of subjects (e.g. what does this building actually look like?)
|
||||
- Use `web_search` to find reference images before generating illustrations
|
||||
- Log verification in the decision log: `category="visual_accuracy_check"`
|
||||
|
||||
Visual accuracy matters. If the script mentions a specific place, person, or object,
|
||||
verify what it actually looks like before generating images. Don't rely on
|
||||
the AI model's training data — it may be wrong or outdated.
|
||||
|
||||
## Common Pitfalls
|
||||
|
||||
- Generating dubbed audio before finalizing translation review.
|
||||
- Treating lip sync as mandatory for every language.
|
||||
- Failing to record which language asset maps to which voice and subtitle set.
|
||||
|
||||
|
||||
## When You Do Not Know How
|
||||
|
||||
If you encounter a generation technique, provider behavior, or prompting pattern you are unsure about:
|
||||
|
||||
1. **Search the web** for current best practices — models and APIs change frequently, and the agent's training data may be stale
|
||||
2. **Check `.agents/skills/`** for existing Layer 3 knowledge (provider-specific prompting guides, API patterns)
|
||||
3. **If neither helps**, write a project-scoped skill at `projects/<project-name>/skills/<name>.md` documenting what you learned
|
||||
4. **Reference source URLs** in the skill so the knowledge is traceable
|
||||
5. **Log it** in the decision log: `category: "capability_extension"`, `subject: "learned technique: <name>"`
|
||||
|
||||
This is especially important for:
|
||||
- **Video generation prompting** — models respond to specific vocabularies that change with each version
|
||||
- **Image model parameters** — optimal settings for FLUX, DALL-E, Imagen differ and evolve
|
||||
- **Audio provider quirks** — voice cloning, music generation, and TTS each have model-specific best practices
|
||||
- **Remotion component patterns** — new composition techniques emerge as the framework evolves
|
||||
|
||||
Do not rely on stale knowledge. When in doubt, search first.
|
||||
|
||||
@@ -47,6 +47,17 @@ Recommended metadata keys:
|
||||
- glossary terms are preserved,
|
||||
- the script package can be reviewed before audio generation.
|
||||
|
||||
### 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
|
||||
|
||||
- Generating audio from an unreviewed transcript.
|
||||
|
||||
Reference in New Issue
Block a user