video-workbench/projects/2026-06-23-在路上/slides/broad-generation-self-audit...

9.7 KiB

Broad Generation Self-Audit V1

Status

  • Document status: issue report.
  • Trigger: user flagged identity drift in s14 and questioned whether accepted character references were actually used.
  • Scope: broad-run process from s02 through interrupted s34.
  • 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.md
  • slides/broad-generation-run-v1.md
  • slides/sNN/sNN-v1-image.png for generated shots

It did not write per-shot:

  • slides/sNN/sNN-v1-brief.md
  • slides/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 than s14 / 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.md and sNN-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-2 Skill 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.png is 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.png exists.
  • Cleanup updated slides/slides.md to mark s34 as generated.
  • Cleanup added an s34 result entry to slides/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

  1. Stop current broad generation.
  2. Amend broad-generation-plan-v1.md:
    • keep no per-shot human gate;
    • require per-shot sNN-v1-brief.md and sNN-v1-prompt.md;
    • require explicit reference list in every prompt;
    • forbid text-only generation for face / medium human shots.
  3. Create a shot-risk classifier:
    • environment-only;
    • object/body detail;
    • distant human;
    • medium human;
    • close / face human.
  4. Backfill prompt/brief files for already generated candidates before further generation.
  5. Quarantine or mark high-risk generated shots:
    • s14;
    • s33;
    • s21;
    • s05;
    • s25.
  6. 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.