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:
@@ -52,9 +52,15 @@ Job `778297bc-e7ce-439d-91b5-8a027060d17f`, chapter `7c944dd4-e972-42c7-ba60-9f6
|
||||
|
||||
## 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:
|
||||
|
||||
```bash
|
||||
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'"
|
||||
```
|
||||
|
||||
|
||||
@@ -97,3 +97,7 @@ two-character panels attribute both speakers to the wrong person, always swapped
|
||||
character, which is the Phase 1 headline metric at 30%, and the sample says that 30% is not
|
||||
trustworthy. 26 of 113 detected people got an identity, and 25 of those 26 went to one character that
|
||||
turns out to cover two different women.
|
||||
|
||||
The run then reached `scene` 116/116 and failed in `script` at 87/116, not on OOM: 28 beats were
|
||||
rejected by the script verifier as `unsupported-proper-noun: ['Choi', 'Haeseon']`
|
||||
(`caveats/speaker-attribution.md#multiword-name-verifier`). No two-word cast name can pass that check.
|
||||
|
||||
@@ -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 |
|
||||
|
||||
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user