260 lines
9.7 KiB
Markdown
260 lines
9.7 KiB
Markdown
# 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:
|
|
|
|
```text
|
|
s02-s09, s11-s34
|
|
```
|
|
|
|
Existing accepted core shots were skipped:
|
|
|
|
```text
|
|
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:
|
|
|
|
```text
|
|
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`:
|
|
|
|
```text
|
|
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:
|
|
|
|
```text
|
|
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:
|
|
|
|
```text
|
|
per-shot brief + per-shot prompt + no per-shot human review + batch-level user review
|
|
```
|
|
|
|
Not:
|
|
|
|
```text
|
|
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.
|