Files
manga-recap-pipeline/caveats/CLAUDE.md
T
kami 8113bdfc8b Fix the real A/V gap: a stream copy across mixed frame rates
The rebuild after 1457556 came out byte-identical to the broken file,
which proved the xfade fix never runs for this chapter. An all-cut chapter
goes down the concat demuxer with -c copy, which writes the output in the
FIRST input's time_base and reinterprets every later packet in it. 14 of
49 clips are 30/1 at 1/15360 against 35 at 25/1 at 1/12800, so those 14
play 15360/12800 = 1.2 too long with their audio untouched. collage_cmd
hardcoded -r 30 and yesterday's FPS sweep missed it.

collage_cmd now emits -r FPS, and assemble probes r_frame_rate across the
clips and routes mixed rates through the re-encoding tree. Rebuilt
chapter.mp4 is 364.120s video against 364.122s audio at 25/1, from
436.392 over 363.675.

Also settle the bbox coordinate space, measured over all 113 detections:
47 boxes have x2 past the 900px panel width, none has y2 past 1000 on
panels up to 2307px tall, and the range is exactly [0, 1000]. It is
gemma's normalized grid, not pixels, whatever the prompt asks for.
/vision converts before returning, which fixes identity's crop, the gated
face pairing that was comparing pixel face boxes against grid boxes, the
set-of-mark boxes and the review UI at once. Checked by eye on panel 7:
five of six boxes now land on their subject, including the foreground
character who had no identity.

The registry still holds boxes and embeddings enrolled from the wrong
space. vision and identity have to re-run, which is GPU work and was not
started.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-12 12:16:22 +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 resolved, rerun pending
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