The invisible-until-a-second-tenant part is what makes this class of bug so nasty, single-tenant tests pass all day. A build-time lint like ragmoat is the right layer for the structural case of a missing filter, and I pair that with a retrieval eval in CI that fails on cross-tenant recall, so a bad filter shows up as a red test instead of a prod incident. I wrote up that CI setup here if useful: dev.to/kartik-nvjk/how-i-set-up-rag-evals-in-cicd…