- Pre-compile 393 name variants into 4 regex patterns at module load
(was 7,300+ raw re.search() calls per message)
- Strict addressing detection using punctuation context:
START: name at beginning + punctuation (Miku, ... / みく!...)
END: comma + name at end (..., Miku / ...、ミク)
MIDDLE: commas on both sides - vocative (..., Miku, ...)
ALONE: name is the entire message (Miku! / ミクちゃん)
- Rejects mere mentions: 'I like Miku' / 'Miku is cool' no longer trigger
- Script-family-aware pattern generation (Latin, Cyrillic, Japanese)
eliminates nonsensical cross-script combos (e.g. o-みく)
- Word boundary enforcement prevents substring matches (mikumiku)
- Fixes regex 'unbalanced parenthesis' errors from old implementation
- Add comprehensive test suite (94 cases, all passing)