Files
manga-recap-pipeline/caveats/CLAUDE.md
T
kami 0cc6302245 Audit Phase 1: correctness and scheduling safety
Implements every P0 from AUDIT.md plus four P1s, across both halves of the
pipeline. Verified by CPU-only self-checks and the orchestrator test suite.
No GPU work ran and no pipeline ran.

workpc:
- worker_scene: read speaker_ref, not the rewritten speaker field. Every line
  narrated as "Someone" before this. Emit `actions` for the verifier.
- worker_script: declare beat + verifier_feedback (pydantic dropped both, so
  the retry was blind) and render them as a repair prompt.
- worker_vision: gate face->identity pairing on containment, assign globally
  shortest-first, map an out-of-range resolver index to `unresolved` instead
  of minting a character, parse JSON with raw_decode.
- session_manager: tear down a server whose lease vanished mid-load, and spawn
  the supervisor respawn unlocked.

orchestrator (edited in place, NOT committed there):
- tracklets: canonicalize gender, add co-presence cannot-links, block
  transitive bridges across a hard constraint.
- correctness: stop failing valid narration on sentence-initial capitals and
  short quotes; read action evidence from the singular key.
- db: stop orphan flags leaking into every chapter; resolve by flag id.
- service: TTS returns instead of raising under GATES, auto-resolves under
  autonomous mode; job admission control; registry names on dialogue resume.
- session_proxy: queue on 409 instead of stealing the lease; run heartbeats.

Docs restructured per the repo-structure layout: CLAUDE.md is a pointer table,
NEXT.md replaces HANDOFF.md, plus ROADMAP.md, JOURNAL.md, decisions/ and
caveats/. AUDIT.md now points at those instead of restating them.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XD7cAy81MZrc7gCr6aZGWr
2026-08-11 10:16:24 +04:00

2.1 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