- raises block must be pytest.raises (func attr check) with matcher
exactly naming IntegrityError (dotted-name boundary match, so
NotIntegrityError fails)
- INSERT OR IGNORE/quoted/qualified table spellings normalized before
matching so they cannot bypass the raises-block requirement
- probe count is per-function (each of the two sanctioned functions
must hold exactly one probe), not an aggregate
- task-instances matrix test asserts same row id + rewritten due_time
+ pre-refresh None (the vacuous refreshed_same_id walrus is gone)
- compensating guard parses the two sanctioned functions' ASTs: each
must contain its raw INSERT (children NOT NULL, admin_users PK),
lexically inside a pytest.raises block, and no other raw SQL may
name these tables anywhere else in the matrix file