The ruler, graded.

A test that cannot fail is not a test. Before grading anyone else, every vector is graded on whether it has been observed producing both a pass and a fail — on live tokens, and under deliberate fault injection against a fixture built to be broken.

22
proven
passed and failed under fault injection
5
not proven
labelled, never hidden
27
vectors
each citing its ERC-3643 clause
Two columns, because they answer different questions. Live data is what the population happened to show us — a vector can be one-sided there simply because every real token behaves the same way. Fault injection deploys a fixture and deliberately breaks it, which is the only way to prove a vector can fail at all.
Vector On live data Under fault injection
BEHAV-FREE-BALANCE never exercisedno verdict at all across 283 live tokens provenfixture broken on purpose; it failed, then passed
BEHAV-FROZEN-RECEIVER never exercisedno verdict at all across 283 live tokens provenfixture broken on purpose; it failed, then passed
BEHAV-FROZEN-SENDER never exercisedno verdict at all across 283 live tokens provenfixture broken on purpose; it failed, then passed
BEHAV-PAUSED-BLOCKS never exercisedno verdict at all across 283 live tokens provenfixture broken on purpose; it failed, then passed
BEHAV-PRECHECK-AGREES never exercisedno verdict at all across 283 live tokens not inducibleno fault could make this vector fail — treat with care
BEHAV-UNVERIFIED-RECEIVER provenboth outcomes seen across 283 live tokens provenfixture broken on purpose; it failed, then passed
CTRL-NEGATIVE provenboth outcomes seen across 283 live tokens provenfixture broken on purpose; it failed, then passed
CTRL-POSITIVE provenboth outcomes seen across 283 live tokens provenfixture broken on purpose; it failed, then passed
IFACE-COMPLIANCE one-sidedonly ever one outcome across 283 live tokens provenfixture broken on purpose; it failed, then passed
IFACE-ERC20-DECIMALS one-sidedonly ever one outcome across 283 live tokens not inducibleno fault could make this vector fail — treat with care
IFACE-ERC20-NAME one-sidedonly ever one outcome across 283 live tokens not inducibleno fault could make this vector fail — treat with care
IFACE-ERC20-SYMBOL one-sidedonly ever one outcome across 283 live tokens not inducibleno fault could make this vector fail — treat with care
IFACE-ERC20-TOTALSUPPLY one-sidedonly ever one outcome across 283 live tokens not inducibleno fault could make this vector fail — treat with care
IFACE-FROZEN-TOKENS one-sidedonly ever one outcome across 283 live tokens provenfixture broken on purpose; it failed, then passed
IFACE-IDENTITY-REGISTRY one-sidedonly ever one outcome across 283 live tokens provenfixture broken on purpose; it failed, then passed
IFACE-IS-AGENT one-sidedonly ever one outcome across 283 live tokens provenfixture broken on purpose; it failed, then passed
IFACE-IS-FROZEN provenboth outcomes seen across 283 live tokens provenfixture broken on purpose; it failed, then passed
IFACE-ONCHAINID one-sidedonly ever one outcome across 283 live tokens provenfixture broken on purpose; it failed, then passed
IFACE-OWNER provenboth outcomes seen across 283 live tokens provenfixture broken on purpose; it failed, then passed
IFACE-PAUSED provenboth outcomes seen across 283 live tokens provenfixture broken on purpose; it failed, then passed
IFACE-PRECHECK-CANTRANSFER never exercisedno verdict at all across 283 live tokens provenfixture broken on purpose; it failed, then passed
IFACE-PRECHECK-ISVERIFIED never exercisedno verdict at all across 283 live tokens provenfixture broken on purpose; it failed, then passed
IFACE-REGISTRY-CONTAINS never exercisedno verdict at all across 283 live tokens provenfixture broken on purpose; it failed, then passed
IFACE-REGISTRY-COUNTRY never exercisedno verdict at all across 283 live tokens provenfixture broken on purpose; it failed, then passed
IFACE-VERSION one-sidedonly ever one outcome across 283 live tokens provenfixture broken on purpose; it failed, then passed
WIRE-COMPLIANCE-BOUND never exercisedno verdict at all across 283 live tokens provenfixture broken on purpose; it failed, then passed
WIRE-COMPLIANCE-REFLEXIVE never exercisedno verdict at all across 283 live tokens provenfixture broken on purpose; it failed, then passed
Not inducible means we have no way to make that vector fail on a fixture — you cannot un-implement name() at runtime. Those remain covered by unit tests only, and are counted as unproven rather than quietly as proven.