CAIN-42 CAIN Studio

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

Where this niche's rules come from

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

Rules 151–300 of 684

IDRuleBundleResult
I-ADAPTER-event_stream-quarantine_cascadesevent_stream: quarantine_cascadesE25held
I-ADAPTER-event_stream-replay_matchesevent_stream: replay_matchesE25held
I-ADAPTER-filesystem-events_recordedfilesystem: events_recordedE25held
I-ADAPTER-filesystem-signed_envelope_identityfilesystem: signed_envelope_identityE25held
I-ADAPTER-filesystem-unsigned_envelope_refusedfilesystem: unsigned_envelope_refusedE25held
I-ADAPTER-filesystem-unmapped_operation_refusedfilesystem: unmapped_operation_refusedE25held
I-ADAPTER-filesystem-relabel_refusedfilesystem: relabel_refusedE25held
I-ADAPTER-filesystem-deny_respectedfilesystem: deny_respectedE25held
I-ADAPTER-filesystem-commit_without_allow_refusedfilesystem: commit_without_allow_refusedE25held
I-ADAPTER-filesystem-executor_sealedfilesystem: executor_sealedE25held
I-ADAPTER-filesystem-parameter_mutation_refusedfilesystem: parameter_mutation_refusedE25held
I-ADAPTER-filesystem-token_single_usefilesystem: token_single_useE25held
I-ADAPTER-filesystem-binding_change_invalidatesfilesystem: binding_change_invalidatesE25held
I-ADAPTER-filesystem-policy_change_invalidatesfilesystem: policy_change_invalidatesE25held
I-ADAPTER-filesystem-receipt_chain_verifiesfilesystem: receipt_chain_verifiesE25held
I-ADAPTER-filesystem-quarantine_cascadesfilesystem: quarantine_cascadesE25held
I-ADAPTER-filesystem-replay_matchesfilesystem: replay_matchesE25held
I-ADAPTER-grpc-events_recordedgrpc: events_recordedE25held
I-ADAPTER-grpc-signed_envelope_identitygrpc: signed_envelope_identityE25held
I-ADAPTER-grpc-unsigned_envelope_refusedgrpc: unsigned_envelope_refusedE25held
I-ADAPTER-grpc-unmapped_operation_refusedgrpc: unmapped_operation_refusedE25held
I-ADAPTER-grpc-relabel_refusedgrpc: relabel_refusedE25held
I-ADAPTER-grpc-deny_respectedgrpc: deny_respectedE25held
I-ADAPTER-grpc-commit_without_allow_refusedgrpc: commit_without_allow_refusedE25held
I-ADAPTER-grpc-executor_sealedgrpc: executor_sealedE25held
I-ADAPTER-grpc-parameter_mutation_refusedgrpc: parameter_mutation_refusedE25held
I-ADAPTER-grpc-token_single_usegrpc: token_single_useE25held
I-ADAPTER-grpc-binding_change_invalidatesgrpc: binding_change_invalidatesE25held
I-ADAPTER-grpc-policy_change_invalidatesgrpc: policy_change_invalidatesE25held
I-ADAPTER-grpc-receipt_chain_verifiesgrpc: receipt_chain_verifiesE25held
I-ADAPTER-grpc-quarantine_cascadesgrpc: quarantine_cascadesE25held
I-ADAPTER-grpc-replay_matchesgrpc: replay_matchesE25held
I-ADAPTER-http-events_recordedhttp: events_recordedE25held
I-ADAPTER-http-signed_envelope_identityhttp: signed_envelope_identityE25held
I-ADAPTER-http-unsigned_envelope_refusedhttp: unsigned_envelope_refusedE25held
I-ADAPTER-http-unmapped_operation_refusedhttp: unmapped_operation_refusedE25held
I-ADAPTER-http-relabel_refusedhttp: relabel_refusedE25held
I-ADAPTER-http-deny_respectedhttp: deny_respectedE25held
I-ADAPTER-http-commit_without_allow_refusedhttp: commit_without_allow_refusedE25held
I-ADAPTER-http-executor_sealedhttp: executor_sealedE25held
I-ADAPTER-http-parameter_mutation_refusedhttp: parameter_mutation_refusedE25held
I-ADAPTER-http-token_single_usehttp: token_single_useE25held
I-ADAPTER-http-binding_change_invalidateshttp: binding_change_invalidatesE25held
I-ADAPTER-http-policy_change_invalidateshttp: policy_change_invalidatesE25held
I-ADAPTER-http-receipt_chain_verifieshttp: receipt_chain_verifiesE25held
I-ADAPTER-http-quarantine_cascadeshttp: quarantine_cascadesE25held
I-ADAPTER-http-replay_matcheshttp: replay_matchesE25held
I-ADAPTER-jsonrpc-events_recordedjsonrpc: events_recordedE25held
I-ADAPTER-jsonrpc-signed_envelope_identityjsonrpc: signed_envelope_identityE25held
I-ADAPTER-jsonrpc-unsigned_envelope_refusedjsonrpc: unsigned_envelope_refusedE25held
I-ADAPTER-jsonrpc-unmapped_operation_refusedjsonrpc: unmapped_operation_refusedE25held
I-ADAPTER-jsonrpc-relabel_refusedjsonrpc: relabel_refusedE25held
I-ADAPTER-jsonrpc-deny_respectedjsonrpc: deny_respectedE25held
I-ADAPTER-jsonrpc-commit_without_allow_refusedjsonrpc: commit_without_allow_refusedE25held
I-ADAPTER-jsonrpc-executor_sealedjsonrpc: executor_sealedE25held
I-ADAPTER-jsonrpc-parameter_mutation_refusedjsonrpc: parameter_mutation_refusedE25held
I-ADAPTER-jsonrpc-token_single_usejsonrpc: token_single_useE25held
I-ADAPTER-jsonrpc-binding_change_invalidatesjsonrpc: binding_change_invalidatesE25held
I-ADAPTER-jsonrpc-policy_change_invalidatesjsonrpc: policy_change_invalidatesE25held
I-ADAPTER-jsonrpc-receipt_chain_verifiesjsonrpc: receipt_chain_verifiesE25held
I-ADAPTER-jsonrpc-quarantine_cascadesjsonrpc: quarantine_cascadesE25held
I-ADAPTER-jsonrpc-replay_matchesjsonrpc: replay_matchesE25held
I-ADAPTER-local_ipc-events_recordedlocal_ipc: events_recordedE25held
I-ADAPTER-local_ipc-signed_envelope_identitylocal_ipc: signed_envelope_identityE25held
I-ADAPTER-local_ipc-unsigned_envelope_refusedlocal_ipc: unsigned_envelope_refusedE25held
I-ADAPTER-local_ipc-unmapped_operation_refusedlocal_ipc: unmapped_operation_refusedE25held
I-ADAPTER-local_ipc-relabel_refusedlocal_ipc: relabel_refusedE25held
I-ADAPTER-local_ipc-deny_respectedlocal_ipc: deny_respectedE25held
I-ADAPTER-local_ipc-commit_without_allow_refusedlocal_ipc: commit_without_allow_refusedE25held
I-ADAPTER-local_ipc-executor_sealedlocal_ipc: executor_sealedE25held
I-ADAPTER-local_ipc-parameter_mutation_refusedlocal_ipc: parameter_mutation_refusedE25held
I-ADAPTER-local_ipc-token_single_uselocal_ipc: token_single_useE25held
I-ADAPTER-local_ipc-binding_change_invalidateslocal_ipc: binding_change_invalidatesE25held
I-ADAPTER-local_ipc-policy_change_invalidateslocal_ipc: policy_change_invalidatesE25held
I-ADAPTER-local_ipc-receipt_chain_verifieslocal_ipc: receipt_chain_verifiesE25held
I-ADAPTER-local_ipc-quarantine_cascadeslocal_ipc: quarantine_cascadesE25held
I-ADAPTER-local_ipc-replay_matcheslocal_ipc: replay_matchesE25held
I-ADAPTER-mcp-events_recordedmcp: events_recordedE25held
I-ADAPTER-mcp-signed_envelope_identitymcp: signed_envelope_identityE25held
I-ADAPTER-mcp-unsigned_envelope_refusedmcp: unsigned_envelope_refusedE25held
I-ADAPTER-mcp-unmapped_operation_refusedmcp: unmapped_operation_refusedE25held
I-ADAPTER-mcp-relabel_refusedmcp: relabel_refusedE25held
I-ADAPTER-mcp-deny_respectedmcp: deny_respectedE25held
I-ADAPTER-mcp-commit_without_allow_refusedmcp: commit_without_allow_refusedE25held
I-ADAPTER-mcp-executor_sealedmcp: executor_sealedE25held
I-ADAPTER-mcp-parameter_mutation_refusedmcp: parameter_mutation_refusedE25held
I-ADAPTER-mcp-token_single_usemcp: token_single_useE25held
I-ADAPTER-mcp-binding_change_invalidatesmcp: binding_change_invalidatesE25held
I-ADAPTER-mcp-policy_change_invalidatesmcp: policy_change_invalidatesE25held
I-ADAPTER-mcp-receipt_chain_verifiesmcp: receipt_chain_verifiesE25held
I-ADAPTER-mcp-quarantine_cascadesmcp: quarantine_cascadesE25held
I-ADAPTER-mcp-replay_matchesmcp: replay_matchesE25held
I-ADAPTER-message_queue-events_recordedmessage_queue: events_recordedE25held
I-ADAPTER-message_queue-signed_envelope_identitymessage_queue: signed_envelope_identityE25held
I-ADAPTER-message_queue-unsigned_envelope_refusedmessage_queue: unsigned_envelope_refusedE25held
I-ADAPTER-message_queue-unmapped_operation_refusedmessage_queue: unmapped_operation_refusedE25held
I-ADAPTER-message_queue-relabel_refusedmessage_queue: relabel_refusedE25held
I-ADAPTER-message_queue-deny_respectedmessage_queue: deny_respectedE25held
I-ADAPTER-message_queue-commit_without_allow_refusedmessage_queue: commit_without_allow_refusedE25held
I-ADAPTER-message_queue-executor_sealedmessage_queue: executor_sealedE25held
I-ADAPTER-message_queue-parameter_mutation_refusedmessage_queue: parameter_mutation_refusedE25held
I-ADAPTER-message_queue-token_single_usemessage_queue: token_single_useE25held
I-ADAPTER-message_queue-binding_change_invalidatesmessage_queue: binding_change_invalidatesE25held
I-ADAPTER-message_queue-policy_change_invalidatesmessage_queue: policy_change_invalidatesE25held
I-ADAPTER-message_queue-receipt_chain_verifiesmessage_queue: receipt_chain_verifiesE25held
I-ADAPTER-message_queue-quarantine_cascadesmessage_queue: quarantine_cascadesE25held
I-ADAPTER-message_queue-replay_matchesmessage_queue: replay_matchesE25held
I-ADAPTER-shell-events_recordedshell: events_recordedE25held
I-ADAPTER-shell-signed_envelope_identityshell: signed_envelope_identityE25held
I-ADAPTER-shell-unsigned_envelope_refusedshell: unsigned_envelope_refusedE25held
I-ADAPTER-shell-unmapped_operation_refusedshell: unmapped_operation_refusedE25held
I-ADAPTER-shell-relabel_refusedshell: relabel_refusedE25held
I-ADAPTER-shell-deny_respectedshell: deny_respectedE25held
I-ADAPTER-shell-commit_without_allow_refusedshell: commit_without_allow_refusedE25held
I-ADAPTER-shell-executor_sealedshell: executor_sealedE25held
I-ADAPTER-shell-parameter_mutation_refusedshell: parameter_mutation_refusedE25held
I-ADAPTER-shell-token_single_useshell: token_single_useE25held
I-ADAPTER-shell-binding_change_invalidatesshell: binding_change_invalidatesE25held
I-ADAPTER-shell-policy_change_invalidatesshell: policy_change_invalidatesE25held
I-ADAPTER-shell-receipt_chain_verifiesshell: receipt_chain_verifiesE25held
I-ADAPTER-shell-quarantine_cascadesshell: quarantine_cascadesE25held
I-ADAPTER-shell-replay_matchesshell: replay_matchesE25held
I-ADAPTER-websocket-events_recordedwebsocket: events_recordedE25held
I-ADAPTER-websocket-signed_envelope_identitywebsocket: signed_envelope_identityE25held
I-ADAPTER-websocket-unsigned_envelope_refusedwebsocket: unsigned_envelope_refusedE25held
I-ADAPTER-websocket-unmapped_operation_refusedwebsocket: unmapped_operation_refusedE25held
I-ADAPTER-websocket-relabel_refusedwebsocket: relabel_refusedE25held
I-ADAPTER-websocket-deny_respectedwebsocket: deny_respectedE25held
I-ADAPTER-websocket-commit_without_allow_refusedwebsocket: commit_without_allow_refusedE25held
I-ADAPTER-websocket-executor_sealedwebsocket: executor_sealedE25held
I-ADAPTER-websocket-parameter_mutation_refusedwebsocket: parameter_mutation_refusedE25held
I-ADAPTER-websocket-token_single_usewebsocket: token_single_useE25held
I-ADAPTER-websocket-binding_change_invalidateswebsocket: binding_change_invalidatesE25held
I-ADAPTER-websocket-policy_change_invalidateswebsocket: policy_change_invalidatesE25held
I-ADAPTER-websocket-receipt_chain_verifieswebsocket: receipt_chain_verifiesE25held
I-ADAPTER-websocket-quarantine_cascadeswebsocket: quarantine_cascadesE25held
I-ADAPTER-websocket-replay_matcheswebsocket: replay_matchesE25held
I-TRANS-cain-mcpcain->mcpE26held
I-UACT-identityuact dimension identityE26held
I-UACT-attestationuact dimension attestationE26held
I-UACT-authorizationuact dimension authorizationE26held
I-UACT-delegationuact dimension delegationE26held
I-UACT-capabilitiesuact dimension capabilitiesE26held
I-UACT-runtimeuact dimension runtimeE26held
I-UACT-mcpuact dimension mcpE26held
I-UACT-a2auact dimension a2aE26held
I-UACT-executionuact dimension executionE26held
I-UACT-evidenceuact dimension evidenceE26held
I-UACT-revocationuact dimension revocationE26held
I-UACT-replayuact dimension replayE26held

1 2 3 4 5

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