Skip to content

tts/ads: '(555) 0142' is read as cardinals and slips past the 555 rule (PhoneShape misses paren + 4) #856

Description

@genwave-radio

🐛 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).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions