Files
manga-recap-pipeline/HANDOFF.md
T
kami 36c7cc946f Record the script verifier failure on two-word names
The baseline run died in `script` at 87/116. Every lost beat cites
`unsupported-proper-noun: ['Choi', 'Haeseon']`, because verify_script puts the
full name in the allowed set and then tests single capitalized tokens against
it. No fix applied.

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

3.3 KiB

HANDOFF, 2026-08-11 session

Live state lives in NEXT.md. This file is only what this session did.

Asked

  1. Add the buckets to rustfs.
  2. Fix the bucket saving on the orchestrator side.
  3. Run the title recap.

Mid-session: check manga.kvmx.ru, and cross-check whether the run got dialogue and identities right.

Changed

Workers, /home/kami/Programs/n8n-worker, branch restore-runtime:

  • worker_crop.py panels -> s3://panels/
  • worker_tts.py wavs -> s3://audio/
  • worker_layers.py layers -> s3://layers/
  • worker_render.py clips and chapter.mp4 -> s3://video/
  • decisions/storage-layout.md, caveats/speaker-attribution.md, indexes, JOURNAL.md, NEXT.md

Orchestrator, /mnt/server/home/kami/docker-apps/manga-infra/orchestrator:

  • minio_layout.py per-artifact bucket constants, BUCKETS, parse_key accepts any of them
  • service.py _s3_delete_prefix takes <bucket>/<prefix>, _stage_s3_prefixes no longer slices, new _ensure_buckets in the lifespan
  • test_minio_layout.py updated, one test added

Infrastructure, homesrv:

  • six buckets created on rfs (rustfs, 127.0.0.1:9010)
  • manga-fetch started, exited 2 weeks, /job/create fails without it
  • manga-web started, exited 2 weeks, manga.kvmx.ru -> nginx -> localhost:8083
  • orchestrator rebuilt and restarted
  • mc aliases mio and rfs now exist on homesrv

Measured

Job 778297bc-e7ce-439d-91b5-8a027060d17f, chapter 7c944dd4-e972-42c7-ba60-9f6939548e80, "Teto X Egen", 116 panels.

  • 109 orchestrator tests pass. worker_crop.py, worker_tts.py, worker_render.py self-checks pass. worker_layers.py self-check fails on the missing legacy/qwen_layered_workflow.json, which predates this session.
  • buckets after the run: raw 64MiB/79, panels 101MiB/116, manga 366MiB/491, audio layers video still empty because the run had not reached those stages.
  • stage times: crop 85s, vision ~4min, identity ~1min, reconcile ~7min, dialogue ~8min.
  • 24 of 81 speech lines resolve to a named character, 30%.
  • 26 of 113 detected people got an identity, 23%, and 25 of the 26 went to one character.
  • 3 of 3 sampled two-character panels attribute both speakers to the wrong person.

Open

  • The script stage failed at 87/116 with unsupported-proper-noun: ['Choi', 'Haeseon'] on 28 beats. Not OOM, the worker stayed healthy. One-line fix named in caveats/speaker-attribution.md#multiword-name-verifier. Not applied.

  • The run stopped in direct at 113/116. scene script tts layers render assemble never ran. Resume:

    Since then it reached scene 116/116 and failed in script. Fix the verifier, then:

    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'"
    
  • Speaker attribution is wrong in multi-character panels and the fix is not written (caveats/speaker-attribution.md). No code was changed for it.

  • Objects from the 2026-07-17 run still sit under manga/<manga_id>/<chapter_id>/{pages,panels,audio, layers,clips}. Nothing reads them. They are the rollback, not live data.

  • rustfs holds empty buckets. No mirror, no cutover.