Wire the caption merge, and write the target architecture down
merge_faceless_captions had been written and never called; both crop endpoints called the non-destructive context_fragment_links instead, with no decision recording that choice. Wiring it changes panel count and every panel index, so the chapter needs a re-crop with the panels prefix cleared first -- crop_webtoon skips an upload when the key already exists, which is right for a resume and silently wrong after a slicing change. Noted at the line. It does not cover the head-in-one-shot body-in-the-next split that prompted the question. _merge_plan only folds a fragment that has text and no face. ARCHITECTURE.md is the target shape from the user's design, with what exists against each section today. Nothing in it is built. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
+33
@@ -723,3 +723,36 @@ Checks: `worker_vision.py` self-check ok, `tracklets.py` self-check ok, orchestr
|
||||
`/characters/reset` asked for it.
|
||||
|
||||
Artefacts: `sheet_*.png`, one contact sheet per character. Session scratchpad only, not committed.
|
||||
|
||||
## 2026-08-13 — the dialogue stage names nobody, and why
|
||||
|
||||
Ran `dialogue` 116/116 in 5m57s on the fourth cycle's registry, to see whether the fixed identity lets the
|
||||
existing `name_claims` path name the female lead. It does not, and the six claims it produced name three
|
||||
separate defects.
|
||||
|
||||
```
|
||||
p040 character_2b1b12a1 "Choi Haeseon" caption 1.00 -> NOT promoted
|
||||
p010 character_b1dd5659 "Lim Seonho" caption 1.00 -> conflict flag
|
||||
p047 character_b1dd5659 "Seonho" address 0.90 -> conflict flag
|
||||
p011 character_f0d4e901 "Seonho" address 1.00 -> PROMOTED
|
||||
p026 character_f0d4e901 "Seonho" address 1.00 -> PROMOTED
|
||||
p110 character_028d4a49 "Haeseon" address 1.00 -> already named
|
||||
```
|
||||
|
||||
All three are fixed in `db.add_name_claim` and recorded in `decisions/identity-naming.md`: alias grouping,
|
||||
a confident caption as strong evidence, and one name per character. `test_name_binding.py` replays these
|
||||
six claims, 121 tests pass, and each new assert was confirmed to fail with its fix disabled.
|
||||
|
||||
Also wired `merge_faceless_captions` into both crop endpoints. It had been written and never called; both
|
||||
endpoints called the non-destructive `context_fragment_links` instead, and no decision recorded that
|
||||
choice. It does not cover the head-in-one-shot, body-in-the-next split that prompted the question, because
|
||||
a body fragment has no text and `_merge_plan` only folds a fragment that has text and no face.
|
||||
|
||||
Found while wiring it: `crop_webtoon` skips an upload when the key exists, which is right for a resume and
|
||||
silently wrong after a slicing change. Documented at the line and in `NEXT.md`.
|
||||
|
||||
Wrote `ARCHITECTURE.md` from the user's design: region graph, occurrence/identity/name, speaker as a scored
|
||||
graph edge with a typed union, narrative plane for art-in-art, and a persistent story state machine. Every
|
||||
section carries what exists against it today. Nothing in it is built.
|
||||
|
||||
Nothing ran on a GPU after the dialogue stage.
|
||||
|
||||
Reference in New Issue
Block a user