Files
manga-recap-pipeline/NEXT.md
T
kami 54c456801a Split artifacts across per-class buckets, record the baseline run
Panels, wavs, layers, clips, and the chapter mp4 leave the `manga` bucket for
`panels`, `audio`, `layers`, and `video`. The key under the bucket is unchanged,
so every reader that derives the bucket from the first path segment keeps
working. The orchestrator half moves in the same commit, per invariant 7.

The 2026-08-11 chapter run proves the split for `raw` and `panels` and produced
the first quality read on speaker attribution, which is wrong in every sampled
multi-character panel.

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

75 lines
3.8 KiB
Markdown

# 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
1. Fix speaker attribution. The baseline run has been made and the metric it produced cannot be
trusted (`caveats/speaker-attribution.md#tail-is-not-geometry`). Three of three sampled
two-character panels swap the speakers, and the `tail` provenance label is stamped on guesses at
confidence 1.0. Smallest honest first step: stop labelling a guess `tail`, and return `unknown`
when two or more characters are present.
2. Rerun the chapter and re-read the named-speaker share. Only then is the Phase 1 headline number
real.
3. Start Phase 2 from `ROADMAP.md`. Set SQLite `busy_timeout` before 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 was still in `direct` at 113/116 when the session ended, with `scene script tts layers
render assemble` unrun. Resume it, or read where it got to:
```bash
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/job/resume?job_id=778297bc-e7ce-439d-91b5-8a027060d17f'"
```
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.