Files
manga-recap-pipeline/decisions/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

1.8 KiB

decisions/

One entry per settled question about this pipeline. An entry names the claim, the evidence, the date, and what it forbids or permits next.

No entry is a plan. NEXT.md holds the plan, ROADMAP.md holds the horizon, and a limitation that is still live belongs in caveats/.

Rules for this directory

  • One file per topic, one ## section per question, so the index can link an anchor.
  • An entry cites a file and line, a commit, or a test. No citation means it is an opinion, and an opinion gets deleted rather than defended.
  • Closed means acting on it is safe. Open means investigated and undecided. Void means the evidence turned out to be invalid and the claim must not be cited again.
  • Rewrite an entry when something contradicts it, and say what changed.

Index

decision state
A dialogue row's speaker is speaker_ref, not speaker closed
Script verification must not fail on sentence-initial capitals or short quotes closed
Tracklet links are transitive over similarity, never across a hard constraint closed
A detected face takes an identity only when it falls inside that character's box closed
A 409 from the GPU mutex is a queue signal, not a stale lease closed
Correctness flags resolve by flag id, and never block autonomous TTS closed
An out-of-range resolver index is unresolved, never a new character closed
The session manager holds no lock across a model load closed