_annotate_speaker_methods stamped `tail`, the highest-trust provenance, on any line whose speaker matched a present local_id, at gemma's confidence of 1.0. No balloon was read. Three of three sampled two-character panels had the speakers swapped, so a multi-character guess is now dropped to unknown, and a solo-panel guess is kept as model_solo at 0.7. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
4.6 KiB
NEXT
Updated 2026-08-11. Replaces the old HANDOFF.md.
State
Audit Phase 1 is implemented and green. Nothing is half-finished.
Changed on workpc: worker_scene.py, worker_script.py, worker_vision.py, session_manager.py.
Changed on homesrv (/mnt/server/home/kami/docker-apps/manga-infra/orchestrator/): tracklets.py,
correctness.py, db.py, service.py, session_proxy.py, test_script_verify.py,
test_name_binding.py.
What landed and why: decisions/audit-phase1.md. What was left open: caveats/audit-open.md.
Verification: CPU-only self-checks and the orchestrator test suite. 108 orchestrator tests pass
(test_api.py is excluded on workpc because fastapi is not installed in this venv). No GPU work ran
and no pipeline ran, so none of this is confirmed against a real chapter.
The orchestrator half is committed as 1c60710 in /mnt/server/home/kami/docker-apps and the
container is rebuilt and serving. 94bd4d8 in the same repo repins minio to its amd64 digest, which
the rebuild exposed.
Next
Two fixes are written and checked, neither is deployed.
worker_vision.pyno longer labels a model guesstail, and drops the guess entirely when two or more characters are present (decisions/speaker-attribution.md#no-fake-tail). The workers need a restart, and only a rerun fromdialogueputs it on stored data.correctness.pytokenizes cast names for the script verifier (decisions/speaker-attribution.md#multiword-cast-names). The orchestrator container needs a rebuild.
Then, in order:
- Rerun the chapter and re-read the named-speaker share. It will fall, and the lower number is the
first honest one. Deciding whether to resume
scripton the old attributions or clear back todialogueis open. - Bind a balloon to a speaker by tail geometry, using the unused
det/segheads (caveats/speaker-attribution.md#tail-is-not-geometry). Until then multi-character panels have no speaker at all. - Start Phase 2 from
ROADMAP.md. Set SQLitebusy_timeoutbefore any concurrency work (caveats/audit-open.md#sqlite-locking).
The 2026-08-11 chapter run
Job 778297bc-e7ce-439d-91b5-8a027060d17f, chapter 7c944dd4-e972-42c7-ba60-9f6939548e80, 116
panels. It reached scene 116/116 and then failed in script at 87/116 on the verifier bug fixed
above. tts layers render assemble never ran. Read where it got to, clear the failed stage, resume:
ssh kami@192.168.1.104 "curl -s 'http://127.0.0.1:9090/job/status?job_id=778297bc-e7ce-439d-91b5-8a027060d17f'"
ssh kami@192.168.1.104 "curl -s -X POST http://127.0.0.1:9090/stage/clear -H 'Content-Type: application/json' -d '{\"job_id\":\"778297bc-e7ce-439d-91b5-8a027060d17f\",\"stage\":\"script\"}'"
ssh kami@192.168.1.104 "curl -s -X POST 'http://127.0.0.1:9090/job/resume?job_id=778297bc-e7ce-439d-91b5-8a027060d17f'"
That resume narrates the attributions the old tail label produced. Clearing back to dialogue
instead re-runs the GPU stages and produces the honest metric.
Numbers and the quality read are in JOURNAL.md and caveats/speaker-attribution.md.
Storage and viewer, tasks #116/#117
[#117] is done. stowage serves the manga buckets. It was never a MinIO problem: the container had
been dead since 2026-07-19 on an arm64 digest pin. Details in JOURNAL.md.
[#116] is closer but not cut over. Artifacts now split one bucket per class
(decisions/storage-layout.md#bucket-per-artifact), and both MinIO and rustfs hold all six buckets.
rustfs on 127.0.0.1:9010/9011 is still empty and nothing is repointed, so MinIO serves every read
and write. Remaining: mc mirror the live buckets, verify counts and sizes, then decide on cutover
(decisions/storage-layout.md#rustfs-staged).
Two containers on homesrv had been dead for two weeks and are now running. manga-fetch is the one
/job/create needs. manga-web is what manga.kvmx.ru proxies to on 8083. Nothing watches them.
Open questions
Four Phase 1 items have no Vikunja task and were not created, because writing to the tracker was not
asked for: the speaker contract fix, the verifier rules, the tracklet constraints, and the flag
resolution path. Only [#203] existed and is now closed by decisions/audit-phase1.md#unlocked-model-load.
Three audit items are deliberately not done and are recorded as caveats rather than silently dropped: honest stage clearing, ComfyUI under the session mutex, and reversible identity merges. Each needs a design decision, not a patch.
Carried over from the reconstruction: .venv needs the ROCm torch wheel reinstalled, and dots.tts/,
legacy/, RESUME_SPEC.md, pipeline-design-notes.md, spec-v2.md are unrecoverable.