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.