b68f96a9b2
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
87 lines
4.9 KiB
Markdown
87 lines
4.9 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
|
|
|
|
The named-speaker share is 9%, 9 of 95 speech lines, and that number is real. See `JOURNAL.md` for the
|
|
five defects behind the old 30%. Everything below is measured on job `778297bc`, not inferred.
|
|
|
|
**Identity is the constraint now, not attribution.** 26 of 113 detected people carry an identity. 25 of
|
|
those 26 are the single over-merged row (`caveats/speaker-attribution.md#identity-over-merge`). That caps
|
|
this chapter near 23% named even with perfect balloon binding. Work identity before geometry.
|
|
|
|
1. Split the over-merged character row and dedupe the registry. `Lim Seonho` and `Seonho` are separate
|
|
rows with overlapping aliases, so either name matches two rows and binds nothing. Needs the
|
|
reversible-merge design (`caveats/audit-open.md#destructive-reconcile`) rather than a patch.
|
|
2. Bind a balloon to a speaker by tail geometry, using the unused `det`/`seg` heads
|
|
(`caveats/speaker-attribution.md#tail-is-not-geometry`). Until then multi-character panels have no
|
|
speaker at all, which is 40 of 95 lines here.
|
|
3. Resolve a speaker answer across the whole dialogue window, not just the answering panel. The last 3
|
|
unresolved refs are a description belonging to a neighbouring panel in the same 8-panel call.
|
|
4. 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 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:
|
|
|
|
```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/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, because writing to the tracker was not asked for. They are 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.
|