How I reduced NPC dialogue repetition from 59% to 8-15% using config-driven novelty guards and action vocabularies