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
This commit is contained in:
2026-08-11 23:02:06 +04:00
parent 54c456801a
commit 36c7cc946f
4 changed files with 28 additions and 0 deletions
+1
View File
@@ -35,3 +35,4 @@ a complaint, so give it one or drop it.
| [`speaker_method="tail"` never reads a tail](speaker-attribution.md#tail-is-not-geometry) | 2026-08-11 run |
| [One character id covers two different women](speaker-attribution.md#identity-over-merge) | 2026-08-11 run |
| [The character registry carries five weeks of wrong names](speaker-attribution.md#registry-pollution) | 2026-08-11 run |
| [A multi-word character name always fails the script verifier](speaker-attribution.md#multiword-name-verifier) | 2026-08-11 run |
+17
View File
@@ -53,3 +53,20 @@ inherits the whole pile.
**Revisit trigger:** before any run that is meant to produce a clean baseline. Either scope the
registry to a chapter or add a reviewed reset.
## A multi-word character name always fails the script verifier {#multiword-name-verifier}
`correctness.py:174` builds `allowed` from `cast_names` verbatim, so a two-word name enters the set as
one string, `"choi haeseon"`. `_capitalized_tokens` then yields the tokens `Choi` and `Haeseon`
separately, neither of which is in `allowed`. Every beat whose narration uses a two-word name fails
with `unsupported-proper-noun`. A one-word name such as `Seonho` passes, which is why this went unseen.
Measured on job `778297bc`: the `script` stage failed at 87/116. 28 of the 29 lost beats cite
`['Choi', 'Haeseon']`, one cites `['Blur']`, an onomatopoeia the model invented.
Fix: tokenize each cast name when building `allowed`, in `verify_script`
(`/mnt/server/home/kami/docker-apps/manga-infra/orchestrator/correctness.py:174`). One line. Existing
`test_script_verify.py` covers the function, so add the two-word case there.
**Revisit trigger:** immediately. It costs a quarter of the chapter's narration on any title whose
cast has a surname.