Files
manga-recap-pipeline/caveats/CLAUDE.md
T
kami a9d64fe80a Record panel 7 against the art, and the A/V gap it hid
Somebody watched chapter.mp4 for the first time. Two failures came out of it
that no stage counter could see.

chapter.mp4 is video 436.39s over audio 363.67s, so narration finishes 72.7s
before the picture. The 49 clips are clean: all 25fps, video and audio agree
to 0.03s, summing to 363.6s. A per-round probe puts the loss in the final
round of _assemble_batched, which turns 359s of video into 100s while the
audio survives. Round 0 is correct. Round 1 differs by holding a 7th input,
the leftover clip that skips encoding, so the tree mixes concat output, xfade
output and a raw clip. Not fixed.

worker_render.py gains an FPS constant, fps normalization in the xfade branch
to match concat, _stream_dur, and a self-check that compares video against
audio instead of asserting the file is non-empty. That old check is how a 20%
sync failure shipped. The fps inconsistency is real but not proven to be the
shipped cause. Pinning -r on the output was tried and reverted: it drops
frames to force CFR, which the concat branch comment already warned about.

Panel 7 checked against the art has zero correct identity bindings out of two,
and Seonho, the one character who matters, is unbound. bbox values are
consumed as absolute pixels; on a 900x1650 panel that puts all six boxes in
the top third, two inside a speech balloon. Identity therefore embeds crops of
balloon edges and window frames, which is how confidence 0.9 lands on the
wrong person. The colleague has no name in the story and was labelled Choi
Haeseon; that row holds 25 of 26 assignments, so it is the label the pipeline
stamps on any unnamed woman.

Four caveats added. Two earlier claims are withdrawn in place: rescaling bbox
by 1000 does not make the boxes correct, and the constraint is not 16 nameless
rows needing names. Cast profiles already exist, since all 53 rows populate
ref_image_uris and embedding_uri, but they are enrolled from the wrong crops.

worker_render.py self-check passes. No pipeline ran.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-12 01:07:17 +04:00

3.3 KiB

caveats/

One entry per known breakage, deferral, or trap. An entry names what fails, who pays for it, and the concrete trigger that makes fixing it worth the time.

A caveat that gets resolved moves to decisions/ or gets deleted. A caveat with no revisit trigger is a complaint, so give it one or drop it.

Rules for this directory

  • One file per source, one ## section per limit.
  • State the limit as what fails, not as a topic. "Reconcile deletes the losing character" beats "Reconcile".
  • Delete an entry the moment its trigger fires and the work lands.

Index

caveat source
Reconcile deletes the losing character irreversibly AUDIT.md
Clearing a stage does not undo what it wrote AUDIT.md
ComfyUI uses the GPU outside the session mutex AUDIT.md
The JSON repair pass can fabricate dialogue AUDIT.md
/review/preview pins a solo clip into the final video AUDIT.md
Stored embeddings carry no model or pooling version AUDIT.md
Worker endpoints block the event loop AUDIT.md
SQLite has no busy timeout, so parallelism will surface as lock errors AUDIT.md
layers runs after tts, so pipelined solo beats lose parallax AUDIT.md
completed means something different in each stage AUDIT.md
Identity worker caches characters the orchestrator has deleted AUDIT.md
A character seen once gets no assignment at all AUDIT.md
MinIO credentials are hardcoded in committed source AUDIT.md
Assemble marks a job completed with no clips AUDIT.md
Reviewer timestamps drift against the crossfaded video AUDIT.md
Nothing attributes a speaker in a multi-character panel 2026-08-11 run
One character id covers two different women 2026-08-11 run
The character registry carries five weeks of wrong names 2026-08-11 run
One invented word still halts the chapter 2026-08-11 run
A completed job keeps the error from an earlier failure 2026-08-11 run
layers reports success on an empty bucket 2026-08-11 run
Every bbox is read in the wrong coordinate space 2026-08-12 panel 7
Identity cannot say "a person with no name" 2026-08-12 panel 7
Vision does not separate a background extra from cast 2026-08-12 panel 7
Cast reference profiles are enrolled from wrong crops 2026-08-12 panel 7