Evidence library · niche
Tools, MCP, protocols & adapters
How agents reach tools, APIs and each other, safely. 684 tested invariants.
Last reviewed 2026-10-01
684 of 684 held
Test families in this niche
adapter (270) · protocol_domain (56) · discovery (36) · abi (28) · interchange (28) · universal_action (20) · routing (19) · sdk (19) · gateway (19) · gip_carrier (16) · channel (14) · overlay_protocol (13) · uact (12) · route (12) · runtime_adapter (12) · agency_graph (12) · runtime_swap (9) · message_class (9) · runtime_binding (8) · protocol_conformance (8) · operation_kind (8) · edge (6) · abi_error (5) · action (5) · carrier (3) · radar (3) · telemetry (2) · moat (2) · competitive_gap (2) · risk (1) · translation (1) · out_of_band (1) · reassessment (1) · integrity (1) · developer (1) · gap_detector (1) · ip (1) · lab (1) · physical_hybrid (1) · protocol (1)
Where these come from
- CAIN-42 Evolution 25 -- Universal Machine Agency Fabric: 270
- CAIN-42 Evolution 33 -- Governed Agentic Operating Fabric: 109
- CAIN-42 Evolution 35 -- Continuous Governance Intelligence Fabric: 63
- CAIN-42 Evolution 34 -- Proof-Carrying Machine Agency: 40
- CAIN-42 Evolution 27 -- Agentic Internet Control Plane: 36
- CAIN-42 Evolution 31 -- Universal Proof-of-Governance Fabric: 24
- CAIN-42 Evolution 26 -- Universal Machine Agency Trust Fabric: 23
- CAIN-42 Evolution 32 -- Governed Autonomy Learning Fabric: 22
- CAIN-42 Evolution 30 -- Governed Machine Autonomy Fabric: 21
- CAIN-42 Evolution 42 -- Supreme Governed Agentic Infrastructure Platform: 19
- CAIN-42 Evolution 41 -- Machine Agency Exchange Fabric: 18
- CAIN-42 Evolution 36 -- Machine Agency Exchange Fabric: 16
- CAIN-42 Evolution 24 -- Governed Agentic Internet Fabric: 7
- CAIN-42 Evolution 21 -- Governed Open-Ended Intelligence Fabric: 5
- CAIN-42 Evolution 23 -- Governed Meta-Intelligence Fabric: 3
- CAIN-42 Evolution 28 -- Portable Machine Agency & Execution Identity: 3
- CAIN-42 Evolution 38 -- Portable Proof-Carrying Machine Agency: 2
- CAIN-42 Evolution 19 -- Governed Autonomy Operating Fabric: 1
- CAIN-42 Evolution 20 -- Governed Agentic Civilization Fabric: 1
- CAIN-42 Evolution 39 -- Governed Agent Factory: 1
Rules 1–150 of 684
| ID | Rule | Bundle | Result |
|---|---|---|---|
| G71 | physical governance does not claim physical control | E19 | held |
| I112 | physical and societal control is not claimed | E20 | held |
| D39 | tool promotion requires governance | E21 | held |
| D63 | no discovery bypasses E8 | E21 | held |
| D122 | a researcher cannot confirm their own discovery | E21 | held |
| D123 | the discovery lifecycle has no shortcuts | E21 | held |
| D148 | the discovery flywheel has no terminal state | E21 | held |
| META-I064 | a legitimate runtime action commits through E8 | E23 | held |
| META-P015 | a diff is material exactly when components or edges changed (all depth-2 candidates) | E23 | held |
| META-L025 | META-025 NO EVOLUTION MAY REMOVE THE ABILITY TO AUDIT THAT EVOLUTION | E23 | held |
| NET-I031 | MCP execution reaches E8 | E24 | held |
| NET-I034 | API actions reach E8 | E24 | held |
| NET-I035 | physical consequential actions reach E8 | E24 | held |
| NET-I047 | every discovery answers the eight questions | E24 | held |
| NET-S-tool-rollback | a rolled-back tool is refused | E24 | held |
| NET-L01 | NET-L01 DISCOVERY IS NOT TRUST | E24 | held |
| NET-L18 | NET-L18 NO PROTOCOL BYPASSES E8 | E24 | held |
| I-ADAPTER-a2a-events_recorded | a2a: events_recorded | E25 | held |
| I-ADAPTER-a2a-signed_envelope_identity | a2a: signed_envelope_identity | E25 | held |
| I-ADAPTER-a2a-unsigned_envelope_refused | a2a: unsigned_envelope_refused | E25 | held |
| I-ADAPTER-a2a-unmapped_operation_refused | a2a: unmapped_operation_refused | E25 | held |
| I-ADAPTER-a2a-relabel_refused | a2a: relabel_refused | E25 | held |
| I-ADAPTER-a2a-deny_respected | a2a: deny_respected | E25 | held |
| I-ADAPTER-a2a-commit_without_allow_refused | a2a: commit_without_allow_refused | E25 | held |
| I-ADAPTER-a2a-executor_sealed | a2a: executor_sealed | E25 | held |
| I-ADAPTER-a2a-parameter_mutation_refused | a2a: parameter_mutation_refused | E25 | held |
| I-ADAPTER-a2a-token_single_use | a2a: token_single_use | E25 | held |
| I-ADAPTER-a2a-binding_change_invalidates | a2a: binding_change_invalidates | E25 | held |
| I-ADAPTER-a2a-policy_change_invalidates | a2a: policy_change_invalidates | E25 | held |
| I-ADAPTER-a2a-receipt_chain_verifies | a2a: receipt_chain_verifies | E25 | held |
| I-ADAPTER-a2a-quarantine_cascades | a2a: quarantine_cascades | E25 | held |
| I-ADAPTER-a2a-replay_matches | a2a: replay_matches | E25 | held |
| I-ADAPTER-browser-events_recorded | browser: events_recorded | E25 | held |
| I-ADAPTER-browser-signed_envelope_identity | browser: signed_envelope_identity | E25 | held |
| I-ADAPTER-browser-unsigned_envelope_refused | browser: unsigned_envelope_refused | E25 | held |
| I-ADAPTER-browser-unmapped_operation_refused | browser: unmapped_operation_refused | E25 | held |
| I-ADAPTER-browser-relabel_refused | browser: relabel_refused | E25 | held |
| I-ADAPTER-browser-deny_respected | browser: deny_respected | E25 | held |
| I-ADAPTER-browser-commit_without_allow_refused | browser: commit_without_allow_refused | E25 | held |
| I-ADAPTER-browser-executor_sealed | browser: executor_sealed | E25 | held |
| I-ADAPTER-browser-parameter_mutation_refused | browser: parameter_mutation_refused | E25 | held |
| I-ADAPTER-browser-token_single_use | browser: token_single_use | E25 | held |
| I-ADAPTER-browser-binding_change_invalidates | browser: binding_change_invalidates | E25 | held |
| I-ADAPTER-browser-policy_change_invalidates | browser: policy_change_invalidates | E25 | held |
| I-ADAPTER-browser-receipt_chain_verifies | browser: receipt_chain_verifies | E25 | held |
| I-ADAPTER-browser-quarantine_cascades | browser: quarantine_cascades | E25 | held |
| I-ADAPTER-browser-replay_matches | browser: replay_matches | E25 | held |
| I-ADAPTER-cli-events_recorded | cli: events_recorded | E25 | held |
| I-ADAPTER-cli-signed_envelope_identity | cli: signed_envelope_identity | E25 | held |
| I-ADAPTER-cli-unsigned_envelope_refused | cli: unsigned_envelope_refused | E25 | held |
| I-ADAPTER-cli-unmapped_operation_refused | cli: unmapped_operation_refused | E25 | held |
| I-ADAPTER-cli-relabel_refused | cli: relabel_refused | E25 | held |
| I-ADAPTER-cli-deny_respected | cli: deny_respected | E25 | held |
| I-ADAPTER-cli-commit_without_allow_refused | cli: commit_without_allow_refused | E25 | held |
| I-ADAPTER-cli-executor_sealed | cli: executor_sealed | E25 | held |
| I-ADAPTER-cli-parameter_mutation_refused | cli: parameter_mutation_refused | E25 | held |
| I-ADAPTER-cli-token_single_use | cli: token_single_use | E25 | held |
| I-ADAPTER-cli-binding_change_invalidates | cli: binding_change_invalidates | E25 | held |
| I-ADAPTER-cli-policy_change_invalidates | cli: policy_change_invalidates | E25 | held |
| I-ADAPTER-cli-receipt_chain_verifies | cli: receipt_chain_verifies | E25 | held |
| I-ADAPTER-cli-quarantine_cascades | cli: quarantine_cascades | E25 | held |
| I-ADAPTER-cli-replay_matches | cli: replay_matches | E25 | held |
| I-ADAPTER-cloud_api-events_recorded | cloud_api: events_recorded | E25 | held |
| I-ADAPTER-cloud_api-signed_envelope_identity | cloud_api: signed_envelope_identity | E25 | held |
| I-ADAPTER-cloud_api-unsigned_envelope_refused | cloud_api: unsigned_envelope_refused | E25 | held |
| I-ADAPTER-cloud_api-unmapped_operation_refused | cloud_api: unmapped_operation_refused | E25 | held |
| I-ADAPTER-cloud_api-relabel_refused | cloud_api: relabel_refused | E25 | held |
| I-ADAPTER-cloud_api-deny_respected | cloud_api: deny_respected | E25 | held |
| I-ADAPTER-cloud_api-commit_without_allow_refused | cloud_api: commit_without_allow_refused | E25 | held |
| I-ADAPTER-cloud_api-executor_sealed | cloud_api: executor_sealed | E25 | held |
| I-ADAPTER-cloud_api-parameter_mutation_refused | cloud_api: parameter_mutation_refused | E25 | held |
| I-ADAPTER-cloud_api-token_single_use | cloud_api: token_single_use | E25 | held |
| I-ADAPTER-cloud_api-binding_change_invalidates | cloud_api: binding_change_invalidates | E25 | held |
| I-ADAPTER-cloud_api-policy_change_invalidates | cloud_api: policy_change_invalidates | E25 | held |
| I-ADAPTER-cloud_api-receipt_chain_verifies | cloud_api: receipt_chain_verifies | E25 | held |
| I-ADAPTER-cloud_api-quarantine_cascades | cloud_api: quarantine_cascades | E25 | held |
| I-ADAPTER-cloud_api-replay_matches | cloud_api: replay_matches | E25 | held |
| I-ADAPTER-computer_use-events_recorded | computer_use: events_recorded | E25 | held |
| I-ADAPTER-computer_use-signed_envelope_identity | computer_use: signed_envelope_identity | E25 | held |
| I-ADAPTER-computer_use-unsigned_envelope_refused | computer_use: unsigned_envelope_refused | E25 | held |
| I-ADAPTER-computer_use-unmapped_operation_refused | computer_use: unmapped_operation_refused | E25 | held |
| I-ADAPTER-computer_use-relabel_refused | computer_use: relabel_refused | E25 | held |
| I-ADAPTER-computer_use-deny_respected | computer_use: deny_respected | E25 | held |
| I-ADAPTER-computer_use-commit_without_allow_refused | computer_use: commit_without_allow_refused | E25 | held |
| I-ADAPTER-computer_use-executor_sealed | computer_use: executor_sealed | E25 | held |
| I-ADAPTER-computer_use-parameter_mutation_refused | computer_use: parameter_mutation_refused | E25 | held |
| I-ADAPTER-computer_use-token_single_use | computer_use: token_single_use | E25 | held |
| I-ADAPTER-computer_use-binding_change_invalidates | computer_use: binding_change_invalidates | E25 | held |
| I-ADAPTER-computer_use-policy_change_invalidates | computer_use: policy_change_invalidates | E25 | held |
| I-ADAPTER-computer_use-receipt_chain_verifies | computer_use: receipt_chain_verifies | E25 | held |
| I-ADAPTER-computer_use-quarantine_cascades | computer_use: quarantine_cascades | E25 | held |
| I-ADAPTER-computer_use-replay_matches | computer_use: replay_matches | E25 | held |
| I-ADAPTER-container-events_recorded | container: events_recorded | E25 | held |
| I-ADAPTER-container-signed_envelope_identity | container: signed_envelope_identity | E25 | held |
| I-ADAPTER-container-unsigned_envelope_refused | container: unsigned_envelope_refused | E25 | held |
| I-ADAPTER-container-unmapped_operation_refused | container: unmapped_operation_refused | E25 | held |
| I-ADAPTER-container-relabel_refused | container: relabel_refused | E25 | held |
| I-ADAPTER-container-deny_respected | container: deny_respected | E25 | held |
| I-ADAPTER-container-commit_without_allow_refused | container: commit_without_allow_refused | E25 | held |
| I-ADAPTER-container-executor_sealed | container: executor_sealed | E25 | held |
| I-ADAPTER-container-parameter_mutation_refused | container: parameter_mutation_refused | E25 | held |
| I-ADAPTER-container-token_single_use | container: token_single_use | E25 | held |
| I-ADAPTER-container-binding_change_invalidates | container: binding_change_invalidates | E25 | held |
| I-ADAPTER-container-policy_change_invalidates | container: policy_change_invalidates | E25 | held |
| I-ADAPTER-container-receipt_chain_verifies | container: receipt_chain_verifies | E25 | held |
| I-ADAPTER-container-quarantine_cascades | container: quarantine_cascades | E25 | held |
| I-ADAPTER-container-replay_matches | container: replay_matches | E25 | held |
| I-ADAPTER-database-events_recorded | database: events_recorded | E25 | held |
| I-ADAPTER-database-signed_envelope_identity | database: signed_envelope_identity | E25 | held |
| I-ADAPTER-database-unsigned_envelope_refused | database: unsigned_envelope_refused | E25 | held |
| I-ADAPTER-database-unmapped_operation_refused | database: unmapped_operation_refused | E25 | held |
| I-ADAPTER-database-relabel_refused | database: relabel_refused | E25 | held |
| I-ADAPTER-database-deny_respected | database: deny_respected | E25 | held |
| I-ADAPTER-database-commit_without_allow_refused | database: commit_without_allow_refused | E25 | held |
| I-ADAPTER-database-executor_sealed | database: executor_sealed | E25 | held |
| I-ADAPTER-database-parameter_mutation_refused | database: parameter_mutation_refused | E25 | held |
| I-ADAPTER-database-token_single_use | database: token_single_use | E25 | held |
| I-ADAPTER-database-binding_change_invalidates | database: binding_change_invalidates | E25 | held |
| I-ADAPTER-database-policy_change_invalidates | database: policy_change_invalidates | E25 | held |
| I-ADAPTER-database-receipt_chain_verifies | database: receipt_chain_verifies | E25 | held |
| I-ADAPTER-database-quarantine_cascades | database: quarantine_cascades | E25 | held |
| I-ADAPTER-database-replay_matches | database: replay_matches | E25 | held |
| I-ADAPTER-deployment-events_recorded | deployment: events_recorded | E25 | held |
| I-ADAPTER-deployment-signed_envelope_identity | deployment: signed_envelope_identity | E25 | held |
| I-ADAPTER-deployment-unsigned_envelope_refused | deployment: unsigned_envelope_refused | E25 | held |
| I-ADAPTER-deployment-unmapped_operation_refused | deployment: unmapped_operation_refused | E25 | held |
| I-ADAPTER-deployment-relabel_refused | deployment: relabel_refused | E25 | held |
| I-ADAPTER-deployment-deny_respected | deployment: deny_respected | E25 | held |
| I-ADAPTER-deployment-commit_without_allow_refused | deployment: commit_without_allow_refused | E25 | held |
| I-ADAPTER-deployment-executor_sealed | deployment: executor_sealed | E25 | held |
| I-ADAPTER-deployment-parameter_mutation_refused | deployment: parameter_mutation_refused | E25 | held |
| I-ADAPTER-deployment-token_single_use | deployment: token_single_use | E25 | held |
| I-ADAPTER-deployment-binding_change_invalidates | deployment: binding_change_invalidates | E25 | held |
| I-ADAPTER-deployment-policy_change_invalidates | deployment: policy_change_invalidates | E25 | held |
| I-ADAPTER-deployment-receipt_chain_verifies | deployment: receipt_chain_verifies | E25 | held |
| I-ADAPTER-deployment-quarantine_cascades | deployment: quarantine_cascades | E25 | held |
| I-ADAPTER-deployment-replay_matches | deployment: replay_matches | E25 | held |
| I-ADAPTER-event_stream-events_recorded | event_stream: events_recorded | E25 | held |
| I-ADAPTER-event_stream-signed_envelope_identity | event_stream: signed_envelope_identity | E25 | held |
| I-ADAPTER-event_stream-unsigned_envelope_refused | event_stream: unsigned_envelope_refused | E25 | held |
| I-ADAPTER-event_stream-unmapped_operation_refused | event_stream: unmapped_operation_refused | E25 | held |
| I-ADAPTER-event_stream-relabel_refused | event_stream: relabel_refused | E25 | held |
| I-ADAPTER-event_stream-deny_respected | event_stream: deny_respected | E25 | held |
| I-ADAPTER-event_stream-commit_without_allow_refused | event_stream: commit_without_allow_refused | E25 | held |
| I-ADAPTER-event_stream-executor_sealed | event_stream: executor_sealed | E25 | held |
| I-ADAPTER-event_stream-parameter_mutation_refused | event_stream: parameter_mutation_refused | E25 | held |
| I-ADAPTER-event_stream-token_single_use | event_stream: token_single_use | E25 | held |
| I-ADAPTER-event_stream-binding_change_invalidates | event_stream: binding_change_invalidates | E25 | held |
| I-ADAPTER-event_stream-policy_change_invalidates | event_stream: policy_change_invalidates | E25 | held |
| I-ADAPTER-event_stream-receipt_chain_verifies | event_stream: receipt_chain_verifies | E25 | held |
Other niches
Consensus & distributed systems · Attacks, threats & containment · Identity, authority & delegation · Evidence, receipts & proofs · Memory, data & privacy · Prediction, world models & simulation · Transactions, markets & economics · Autonomy, control loops & recovery · Policy, law & governance · Trust & reputation · Supply chain, registry & lifecycle · Benchmarks, coverage & performance · Core guarantees
Try CAIN-42 on your own agents
Create a free account and every new account starts with a 7-day trial of the full platform. Or try the sandbox first, with no account at all.
Create a free account → · Try the sandbox · See the whole ecosystem