54c456801a
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
75 lines
3.8 KiB
Markdown
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.
|