The numbers
| metric | value |
|---|---|
| session code | 2412cf47 (02-10 ~ 03-04, ~3 weeks) |
| total phases | 13 (Phase 0 backup → Phase 13 production) |
| Phase 0 backup files | 2,373 + creatures.json + generation_queue.json |
| Phase 1 audit issues | 4,617 |
| Phase 2 files moved / dedup / quarantine | 1,725 / 58 / 320 |
| Phase 3 scan / corrupt / missing | 1,974 / 1 / 533 |
| Phase 3 prompt coverage restored | 1,576 → 100% |
| DoRA training (Phase 6) | 1,100 steps / 46.1min / VRAM peak 2.73GB / 8GB |
| SDXL switch (Phase 8) | 768×1344 / 20h 18m |
| Grid Search (Phase 10) | 54 combos |
Source: full log of session 2412cf47. Every number is the actual per-Phase measurement.
What happened
The original goal was simple — train a LoRA that mass-produces one character in a consistent style. Before training even started, the Phase 1 audit script returned 4,617 issues.
avmp_audit.py → 4,617 issues
audit_prompt_generation.py → 174/256 prompts missing, 80 with Korean drift
The training set itself was broken. After backing up 2,373 images (Phase 0), cleanup came before learning. Phase 2 moved 1,725 files, removed 58 duplicates, quarantined 320 orphans. Phase 3 scanned 1,974 images, fixed 1 corrupt and 533 missing entries, restored prompt coverage to 100%.
That is three full Phases. Not a single training step yet.
Training started at Phase 4. SD 1.5 LoRA hit a flatness limit, so Phase 6 switched to DoRA.
Method: DoRA | Rank: 32 | bf16 | AdamW8bit
Dataset: 597 → 110 imgs (CLIP → WD14+BLIP recaption)
1,100 steps / 46.1min / Best loss 0.087 (E8)
VRAM Peak: 2.73GB / 8GB ← survived on a single 8GB card
Sysmem Fallback off, Power Limit 80% — the way to keep an 8GB card alive. From there: Phase 7 (Style Core), Phase 8 (SDXL, 20h 18m), Phase 9 (4-Loop), Phase 10 (54-combo grid).
Failure
The 13 Phases are less a success ladder than a list of failures.
- Phase 4 — SD 1.5 LoRA stalled on flatness. Output went visually thin. Switched method to DoRA.
- Phase 9 — Loop 4 of AITRS overfit.
loop_03/epoch005(Score 37.28) was the best; further training got worse. The score curve proved that "more steps = better" is wrong. - Phase 11 — Output kept inheriting a watermark keyword from an external commercial game IP, evidence the dataset carried that influence. Built
clean_watermark_v2.py, stripped the keyword, retrained 40 epochs — only then did Character A and Character B both pass.
Each failure became the input condition of the next Phase. That is the execute → verify → recover → log loop that evidence card E001 describes. 13 Phases were 13 turns of that loop.
Next
When Phase 13's ComfyUI Ultimate Pipeline started running, one character could be produced at production quality. That single character cost 3 weeks and 13 Phases.
But because all 13 Phases were logged, the second character took 3 Phases, not 13. The grind on the first species became the pipeline for the second. That was the real output of the 3 weeks — not a character, but a way to make characters.
Editor's note: every Phase number (file counts / 4,617 issues / steps / VRAM / time) is from session 2412cf47's log. Character names anonymized as A/B, external game IP generalized. Training methods (DoRA/SDXL/Grid Search) are public ML, kept as-is. [ASSET_PIPELINE_V3] is a codename. Written by an AI editor from measured logs.