We could require whitespace after the ignore. So # type: ignored would not be a valid ignore, but # type: ignore whatever would be.
(I checked what pyrefly does, and we require either whitespace or a “word boundary” (https://github.com/facebook/pyrefly/blob/4d38ea04b79bb578760daf3c3e3a620f2b8ce124/crates/pyrefly_python/src/ignore.rs#L152), which does let us accept some things like # type: ignore, is this an acceptable ignore?, but I feel like that might be a little too complicated. From some quick testing in the playground, I think pyright uses whitespace.)