Files
manga-recap-pipeline/spec-correctness.md
T
kami ff6a512630 Reconstruct repo from Claude Code + codex transcripts
Working tree (including .git) was lost to an rm. Rebuilt by replaying Write/Edit/
Read/attachment events from 25 Claude sessions and 22 successful codex apply_patch
blocks into one timestamp-ordered timeline.

Verified against ground truth recorded in the transcripts: wc -l on 10 files and
ls -l on 5 files at 2026-07-18T13:13:44Z both match exactly; 18 files are
byte-identical to their newest ~/.claude/file-history blob.

See HANDOFF.md for sources, gaps, and how to rebuild .venv.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-11 02:42:41 +04:00

1.8 KiB

Correctness status — worker side

Audit of plan.md against the actual code (2026-07-18). Most of the plan is implemented; this file records only what's verified done and the remaining calibration work, so nobody re-does finished work. Orchestrator counterpart: /mnt/server/home/kami/docker-apps/manga-infra/orchestrator/spec-correctness.md.

#5 region-grounded dialogue — code done, calibration ongoing

Set-of-mark is now the default path (SOM_ATTRIBUTION="1", worker_vision.py:31; the "off by default" comment at :22 is stale — fix it). Residual is per-title threshold calibration on real chapters, not a code gap. Detector-failure vs zero-regions are already distinct (_set_of_mark).

Verified done (was in plan/earlier drafts as TODO — do not redo)

  • #10 cross-window direction continuity: the grouping pass emits continues_previous; the first row carries it through /direct/window, and a true edge forces new_scene=false. The self-check covers both a continuing window and the chapter-start guard.

  • Script self-check (python worker_script.py passes). #2 confidence + speaker_method reach the scene graph (worker_scene.py:80-81). H3/#3 fail-loud: /dialogue and /dialogue/window return a status envelope (_dialogue_envelope) and skip dropped panels instead of manufacturing silent-empty.

  • #4 solo assignment is a 0.7-confidence prior with speaker_method=solo_prior, not unconditional.

  • #6 typed name claims emitted (_normalize_claims), roster is hints-only.

  • #7 Tier-2 /vision/resolve sends candidate reference images (≤3 each), judges face-first, returns open-set state: known|new|unresolved.

  • #8 webtoon fragments remain independent and retain source bboxes; context_fragment_links emits contextual links instead of the crop endpoints destructively stacking them.