9.7 KiB
Broad Generation Self-Audit V1
Status
- Document status: issue report.
- Trigger: user flagged identity drift in
s14and questioned whether accepted character references were actually used. - Scope: broad-run process from
s02through interrupteds34. - Generation state: paused. Do not continue broad generation until this report is reviewed and the process is repaired.
Short Conclusion
The user criticism is correct.
The broad-run process simplified too much. It preserved the general visual direction in text, but it did not preserve the project execution contract that every shot should have traceable prompt/spec artifacts and that visible character shots should actively use the accepted character anchors.
The most serious failure is character-reference handling:
- Accepted character images existed under
visual-system/characters/. - The broad-run prompts only used a textual character description.
- No per-shot prompt recorded which character reference image should be used.
- The host image-generation calls did not receive explicit character reference images.
- Result: close and medium character shots drifted away from the accepted v2 character.
What Was Actually Done
Broad-run generated project images for:
s02-s09, s11-s34
Existing accepted core shots were skipped:
s01, s10, s46, s47, s51
The broad run wrote:
slides/broad-generation-plan-v1.mdslides/broad-generation-run-v1.mdslides/sNN/sNN-v1-image.pngfor generated shots
It did not write per-shot:
slides/sNN/sNN-v1-brief.mdslides/sNN/sNN-v1-prompt.md
Confirmed Issues
P0 - Character Anchor Not Actually Used For Visible Character Shots
Expected:
- Visible character shots should reference the accepted v2 character anchor or derived slices.
- The prompt/spec should explicitly say which reference image is used and why.
- Close / medium character shots should not proceed if the active generation path cannot use the reference image.
Actual:
- The broad-run shared kernel described the traveler in words.
- It did not name per-shot character reference files.
- It did not pass reference images into the generation call.
Accepted character basis that should have been used:
visual-system/characters/character-anchor-v2-codex-posture-test.png
visual-system/characters/character-anchor-v2-front-reference-crop-tight.png
visual-system/characters/character-anchor-v2-side-reference-crop-tight.png
visual-system/characters/character-slice-front-v2-from-anchor.png
visual-system/characters/character-slice-side-v2-from-anchor.png
visual-system/characters/character-slice-back-v2-from-anchor.png
visual-system/characters/character-slice-walk-side-v2-from-anchor.png
visual-system/characters/character-slice-walk-back-v2-from-anchor.png
Observed impact:
s14: invalid candidate. The face does not match the v2 anchor, black rectangular glasses are missing, and the person reads as another man.s33: invalid candidate. The face again does not match the v2 anchor and the glasses are missing.s21: posture risk. Back/shoulder line reads more curled than the approved "upright chest / not hunched" direction.s05: medium risk. It preserves backpack / long-coat language but the body silhouette is not actually locked to the accepted slice.s25: lower risk thans14/s33, but still not reference-locked because visible hair / face edge / backpack are generated from text only.
Process conclusion:
For any shot where identity matters, text-only prompting is insufficient.
P0 - Per-Shot Prompt / Brief Trace Was Removed Too Aggressively
Expected:
- Simplify review gates, not remove traceability.
- Even without human review, each generated shot should keep enough local files to debug drift quickly.
Actual:
- 32 generated broad-run shot images lack
sNN-v1-brief.mdandsNN-v1-prompt.md:
s02, s03, s04, s05, s06, s07, s08, s09,
s11, s12, s13, s14, s15, s16, s17, s18,
s19, s20, s21, s22, s23, s24, s25, s26,
s27, s28, s29, s30, s31, s32, s33, s34
Observed impact:
- It is harder to isolate whether a bad image came from shot interpretation, character reference omission, style-anchor omission, or host generation variance.
- The broad-run log contains compact prompt fills, but not full final rendered prompts.
- This weakens the
gpt-image-2Skill trace requirement.
P1 - File Naming Is Inconsistent With Repo-Level Rule
Repo-level rule in VIDEO_WORKBENCH.md says files inside sNN/ should carry the sNN prefix and use:
sNN-vN-type.ext
Broad-run and five-shot artifacts used non-prefixed v1 names for image, brief, and prompt artifacts.
This cleanup renamed existing shot artifacts to the repo-level sNN-v1-type.ext convention.
This naming mismatch did not cause the identity drift, but it is a real workflow inconsistency.
Practical consequence:
- Inside one
sNN/directory, a non-prefixed image name is readable. - Across batch tooling and file search,
sNN-v1-image.pngis more robust and matches the repo-level convention.
P1 - Style Anchors Were Also Reduced To Text
Expected:
- The common style board and A/B/C/D anchors should be explicitly listed as references in per-shot prompt specs.
- Style reference role should be clear: composition reference, palette reference, mood reference, or avoid-drift reference.
Actual:
- The broad-run shared kernel included a general style paragraph.
- Per-shot prompt fills did not explicitly name the style board or A/B/C/D reference assets.
- Generated landscape / environment shots may still look acceptable, but the process did not preserve the reference contract.
This is less severe than character drift because environment shots tolerate more variation, but the same process weakness is present.
P1 - s34 Has Image File But Not Matching Status / Run Log Entry
Observed:
slides/s34/s34-v1-image.pngexists.- Cleanup updated
slides/slides.mdto marks34asgenerated. - Cleanup added an
s34result entry toslides/broad-generation-run-v1.md.
Cause:
- The user interruption happened after the image copy and before run-log / table update.
This execution-state inconsistency has been repaired before further generation.
P2 - The Broad-Run Queue Did Not Classify Shot Risk
Expected:
- Broad generation can be light, but not all shots have the same risk.
- Face / half-face / medium human shots require stricter reference handling than roads, puddles, fire, rust, or boot details.
Actual:
- The run treated all missing shots as one queue.
- The only difference was a short prompt fill per shot.
Better classification:
| Class | Examples | Required Handling |
|---|---|---|
| Environment-only | s04, s12, s20, s22, s26 |
Batch prompt is acceptable if style references are named. |
| Object/body detail | s03, s08, s13, s29, s34 |
Use character prop reference when visible; prompt file still required. |
| Distant human | s02, s06, s07, s09, s15, s16, s23, s24 |
Use silhouette / coat / backpack reference; less strict than close shots. |
| Medium human | s05, s21, s27 |
Must use relevant character slice as reference. |
| Close / face human | s14, s25, s33 |
Must use face / side reference image; do not generate if image-reference path is unavailable. |
Root Cause
The intended simplification was:
Remove per-shot human review gates.
The implemented simplification became:
Remove per-shot prompt artifacts and reduce anchors to text.
That crossed the safety boundary for this project.
The correct simplification should be:
- no per-shot user approval;
- no full review document unless repair is needed;
- but still one per-shot brief/prompt with explicit source and reference list;
- and stricter reference handling for visible character shots.
Current Asset Disposition
Do not mark broad-run shots as accepted.
Recommended status:
| Group | Action |
|---|---|
s14, s33 |
Mark repair-needed; regenerate with character reference or external reference-capable tool. |
s21 |
Mark needs-character-posture-check; likely regenerate if strict posture matters. |
s05, s25 |
Mark needs-character-consistency-check; may be salvageable but not reliable. |
| Environment / motif shots | Keep as broad-run candidates for batch review, but backfill prompt files. |
s34 |
Repair bookkeeping first: add run-log entry or mark as interrupted candidate; update table only after decision. |
Required Process Repair Before Continuing
- Stop current broad generation.
- Amend
broad-generation-plan-v1.md:- keep no per-shot human gate;
- require per-shot
sNN-v1-brief.mdandsNN-v1-prompt.md; - require explicit reference list in every prompt;
- forbid text-only generation for face / medium human shots.
- Create a shot-risk classifier:
- environment-only;
- object/body detail;
- distant human;
- medium human;
- close / face human.
- Backfill prompt/brief files for already generated candidates before further generation.
- Quarantine or mark high-risk generated shots:
s14;s33;s21;s05;s25.
- Decide the reference-capable generation path:
- If the active host image tool cannot explicitly use reference images, do not use it for identity-critical shots.
- Use it only for environment-only or low-identity shots, or switch identity-critical shots to a tool/workflow where the reference images can actually be supplied.
Revised Lightweight Rule
The next workflow should be:
per-shot brief + per-shot prompt + no per-shot human review + batch-level user review
Not:
batch log only + text-only anchors + no traceable per-shot prompt
This keeps the project lightweight while preserving the two things that matter here:
- identity control;
- prompt/debug traceability.