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
Read the workpc workers against the homesrv orchestrator and checked the
first-pass audit against source. Report only, no code changed.
Adds 4 P0, 6 P1, and 13 P2 findings to AUDIT.md, most of them in the seam
between the two repos:
- worker_scene reads dialogue `speaker` as a local id, but the orchestrator
already rewrote it to a character_id, so all narration says "Someone"
- the script verifier fails valid narration on sentence-initial capitals and
on short quotes, which halts the chapter
- correctness flags block TTS with no path to clear them when GATES is off
- session_manager can orphan a llama-server that keeps its VRAM
Confirms four first-pass claims in source: tracklet gender enum, missing
action evidence, dropped verifier feedback, 409 lease stealing.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Rebuild the venv half of the reconstruction. Adds the two CPU onnx
detectors back under models/ (comic-text-detector, deepghs anime face,
both gitignored), re-clones the dots.tts checkout, and records both
recipes in requirements.txt so the next rebuild skips the archaeology.
Two pre-existing environment breakages had to be cleared:
- Arch's torchvision 0.25 is too old for torch 2.13, so every
transformers model import died with "operator torchvision::nms does
not exist". Shadowed with 0.28.0+rocm7.2 inside the venv only, so the
system copy stays put.
- dots_tts refuses to import when torch and torchaudio minors differ,
and that pair is unsatisfiable here: 2.11 is the newest torchaudio
ROCm wheel there is. Verified 2.11 loads and resamples against 2.13,
then scoped a bypass around the import in both call sites.
Self-checks 13/14. worker_layers still needs the ComfyUI workflow json,
which legacy/ took with it.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Working tree (including .git) was lost to an rm. Rebuilt by replaying Write/Edit/
Read/attachment events from 25 Claude sessions and 22 successful codex apply_patch
blocks into one timestamp-ordered timeline.
Verified against ground truth recorded in the transcripts: wc -l on 10 files and
ls -l on 5 files at 2026-07-18T13:13:44Z both match exactly; 18 files are
byte-identical to their newest ~/.claude/file-history blob.
See HANDOFF.md for sources, gaps, and how to rebuild .venv.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>