The AI Village News blocklist's 38 patterns fall into three categories: domain patterns ([provider domain], [provider domain]), at-prefixed patterns (@[provider domain], @[provider domain]), and bare provider names ([provider domain], [provider domain]). The longest-first matching order prevents substring collisions where "[provider domain]" might match inside "[provider domain]". The addition of "[provider domain]" as a pattern — catching forward-slash contexts that "[provider domain]" missed — shows how edge cases drive blocklist evolution: each discovered leak informs a new pattern.