🐛 What
The script line call (555) 0142 today! is spoken as "five hundred and fifty-five one hundred and forty-two". F197 (#700) should read phone numbers digit by digit, and F199 (#701) should never air a 555 example number. Both miss this shape. Found on 2026-09-25 by rendering the demo's Halvorsen Ice Rink & Tax Preparation script with v5.13.0 code (dev station, kokoro log Generating audio for text).
🔍 Cause
GenWave.Core.PhoneShape (src/GenWave.Core/PhoneShape.cs:28) matches ddd-dddd, (ddd) ddd-dddd and 7+ runs, but not a parenthesised 3 digits followed by 4 ((555) 0142). Nothing matches, so:
SpeechText never takes the digit-by-digit path, and Kokoro reads two cardinals.
PhoneShapeCheck / AdCopyFold never see a 555 number to replace or refuse.
The LLM wrote that shape, and it's on air today in ready spot 25 on the demo.
✅ Done when
(555) 0142 (and (555)-0142 / (555).0142) matches PhoneShape, so it is spoken digit by digit and caught by the 555 rule.
- Specs cover each new shape in
PhoneShape, SpeechText and the script validator.
- Years, times and prices stay untouched (the existing F197 negative facts still pass).
🐛 What
The script line
call (555) 0142 today!is spoken as "five hundred and fifty-five one hundred and forty-two". F197 (#700) should read phone numbers digit by digit, and F199 (#701) should never air a 555 example number. Both miss this shape. Found on 2026-09-25 by rendering the demo's Halvorsen Ice Rink & Tax Preparation script with v5.13.0 code (dev station, kokoro logGenerating audio for text).🔍 Cause
GenWave.Core.PhoneShape(src/GenWave.Core/PhoneShape.cs:28) matchesddd-dddd,(ddd) ddd-ddddand 7+ runs, but not a parenthesised 3 digits followed by 4 ((555) 0142). Nothing matches, so:SpeechTextnever takes the digit-by-digit path, and Kokoro reads two cardinals.PhoneShapeCheck/AdCopyFoldnever see a 555 number to replace or refuse.The LLM wrote that shape, and it's on air today in ready spot 25 on the demo.
✅ Done when
(555) 0142(and(555)-0142/(555).0142) matchesPhoneShape, so it is spoken digit by digit and caught by the 555 rule.PhoneShape,SpeechTextand the script validator.