22002b1d3e
Two review items raised on #65449 (thanks @hansai-art): 1. Explicit test that post-module-load registration REBUILDS the _PREFIX_SUBSTRINGS pre-screen tuple — plugin patterns flow through the same fast path as built-ins, never around it. This was covered implicitly by the masking tests; now it is asserted directly. 2. Plugin patterns are now stored keyed by registration source, giving the #64229 lifecycle/ownership-ledger work a clean seam to drop one plugin's patterns on unload. No public removal API is added — additive-only stands; unload remains a host-owned lifecycle concern. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PnMCvi2vXqfs996AjVeF2F