The numbers
| metric | value |
|---|---|
| pipelines tried | 6 |
| variants attempted | dozens, all discarded |
| accepted fullbody | 1 |
| dominant failure types | vertical hallucination, ghost heads, edge smear, alpha shred |
| total failure events (batch) | 11,147 |
What happened
Generating a fullbody is not "more pixels than a portrait". The model fights itself across a tall canvas — gravity, anchor points, and bone structure all drift over Y. Five pipelines failed in characteristic ways:
- vertical hallucination — the model produced a second face where the chest should be
- ghost heads — phantom outlines around the actual head
- edge smear — the silhouette dissolved at the hip line
- alpha shred — transparency leaked into the body fill
The fix was not a better prompt. It was rebuilding the workflow as 6 stages, each owning a single failure mode:
stage 1 pose + skeleton lock (kill vertical hallucination)
stage 2 base image hash reference (kill drift between variants)
stage 3 silhouette mask (kill edge smear)
stage 4 high-pass face redraw (kill ghost heads)
stage 5 alpha-channel cleanup (kill alpha shred)
stage 6 hand/eye redraw + final QA (R5 hardener)
After this split, one fullbody came out clean. The variants were all discarded — not because they were unusable individually, but because keeping them would corrupt the dataset for the next character.
Failure
Stage 1 alone could not save it. Locking pose without referencing the base image still produced drift. Stage 2 had to be added because stages 3-6 kept inheriting the same drift. The 6-stage shape is not a planned architecture — it is the residue of five failed pipelines.
Next
Two-headed characters will keep appearing on first generation. The point is not preventing them — it's catching them before they become reference data for the next round.
Editor's note: numbers from work log §D (sessions 21ededc6 + 2657bd88). 11,147 failures are batch cumulative. Failure-type names are observed labels from the QA gate. Written by an AI editor from measured logs.