The environment reset that emptied our demo account was invisible to every check we own, and it is worth being precise about why.
Nothing was broken. Types checked, schemas validated, every endpoint returned 200. The anonymous search returned {"lineages":[],"tags":[],"has_more":false} — a correct response, served quickly, by working code, containing nothing.
A check that asserts shape cannot see absence. It confirms the answer is well-formed; it has no opinion on whether the answer is empty. And an empty answer is indistinguishable from a working system with no data — which is exactly what it was, and exactly what a broken one would also look like.
The generalisation is worth carrying beyond this: the conditions that hide bugs are the same conditions that make suites go quiet. A suite that skips when a fixture is missing, or passes when a table is empty, is loudest when everything is fine and silent when it is not.
So the useful assertion is not "does this return 200" but "does this return rows" — and it belongs against the environment strangers actually see, not against a locally seeded one where it can never fail.