← The evidence ledger
Evidence row 2500112
Observed , by probe.mcp/1.
- Kind
- mcp.tools
- About
- endpoint b91edac5-22c8-46f4-8a0d-c7c67964236f
- Recorded
- Previous row
- #570455
- Body SHA-256
- f0865ae15da8fa3c995e5b52119e17a091f0bd2f53bd8deeb7a80cdce6bdbbbd
- Leaf
- 0x4b570c0f623e17beeb267e75a37aa3547fb567bb977398747ce224e4b5419e83
What was observed
{
"count": 16,
"tools": [
{
"description": "Rank a CALLER-PROVIDED list of MCP tools by worst-regret if they act (a name-based heuristic that weights a name's first word most). Read-only: it mints no receipt. Cannot auto-discover the inventory -- MCP does not allow that; the caller must pass it in.",
"inputSchema": {
"properties": {
"inventory": {
"items": {
"additionalProperties": true,
"type": "object"
},
"title": "Inventory",
"type": "array"
},
"notes": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Notes"
}
},
"required": [
"inventory"
],
"title": "audit_my_agent_inventoryArguments",
"type": "object"
},
"name": "audit_my_agent_inventory"
},
{
"description": "Egress classification check. Scans a data sample for a finite list of sensitivity markers and classifies as NO_MARKERS_FOUND / INTERNAL / CONFIDENTIAL / RESTRICTED. RESTRICTED sets blocked=true; this tool cannot block anything itself, and NO_MARKERS_FOUND is not clearance to send. Returns classification, retention info, and a tamper-evident receipt.",
"inputSchema": {
"properties": {
"data_sample": {
"title": "Data Sample",
"type": "string"
},
"destination": {
"title": "Destination",
"type": "string"
},
"provider": {
"title": "Provider",
"type": "string"
}
},
"required": [
"destination",
"data_sample",
"provider"
],
"title": "check_egressArguments",
"type": "object"
},
"name": "check_egress"
},
{
"description": "Status of each proposed retest after a change (current, not current or unbound), from the proposal inputs and results you supply. Read-only view of the records you supply; it writes, signs and executes nothing. Needs TRUST_GATE_API_URL, TRUST_GATE_API_KEY and TRUST_GATE_TENANT_ID to be set, and the tenant comes from that setting, never from an argument. Returns status OK, REFUSED or UNAVAILABLE (a missing setting, a surface that is off, or an error is UNAVAILABLE, never made-up data). The Trust Gate API must be a version that serves this view; it returns UNAVAILABLE until then. A mapping or readout is not a compliance finding.",
"inputSchema": {
"properties": {
"request": {
"additionalProperties": true,
"title": "Request",
"type": "object"
}
},
"required": [
"request"
],
"title": "compare_qualification_changeArguments",
"type": "object"
},
"name": "compare_qualification_change"
},
{
"description": "Acceptance-pack export for one or more cases, optionally mapped to one control id and version you name. Read-only view of the records you supply; it writes, signs and executes nothing. Needs TRUST_GATE_API_URL, TRUST_GATE_API_KEY and TRUST_GATE_TENANT_ID to be set, and the tenant comes from that setting, never from an argument. Returns status OK, REFUSED or UNAVAILABLE (a missing setting, a surface that is off, or an error is UNAVAILABLE, never made-up data). The Trust Gate API must be a version that serves this view; it returns UNAVAILABLE until then. A mapping or readout is not a compliance finding.",
"inputSchema": {
"properties": {
"request": {
"additionalProperties": true,
"title": "Request",
"type": "object"
}
},
"required": [
"request"
],
"title": "export_acceptance_packArguments",
"type": "object"
},
"name": "export_acceptance_pack"
},
{
"description": "Two-phase decision gate with a real verdict. PREVIEW returns ALLOW, DENY or ESCALATE with the risk tier and reasons, plus a preview_id, without acting. COMMIT re-evaluates the same inputs and mints a signed receipt for the verdict. Only ALLOW returns a GRANTED permit; DENY returns DENIED; ESCALATE returns WITHHELD_PENDING_HUMAN and a human must decide outside this tool. Applies only to actions the caller routes through it: it does not observe or block what an agent does. Verb-tier heuristic on the action name and resource, not a proof. Stateless. Optional attestation: triggered_by_type, triggered_by_source, decision_model.",
"inputSchema": {
"properties": {
"action": {
"title": "Action",
"type": "string"
},
"context": {
"additionalProperties": true,
"title": "Context",
"type": "object"
},
"decision_model": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Decision Model"
},
"phase": {
"default": "PREVIEW",
"title": "Phase",
"type": "string"
},
"preview_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Preview Id"
},
"resource": {
"title": "Resource",
"type": "string"
},
"triggered_by_source": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Triggered By Source"
},
"triggered_by_type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Triggered By Type"
}
},
"required": [
"action",
"resource",
"context"
],
"title": "gate_decisionArguments",
"type": "object"
},
"name": "gate_decision"
},
{
"description": "Evidence view, verdict and open questions for one decision and the facts you supply. Read-only view of the records you supply; it writes, signs and executes nothing. Needs TRUST_GATE_API_URL, TRUST_GATE_API_KEY and TRUST_GATE_TENANT_ID to be set, and the tenant comes from that setting, never from an argument. Returns status OK, REFUSED or UNAVAILABLE (a missing setting, a surface that is off, or an error is UNAVAILABLE, never made-up data). The Trust Gate API must be a version that serves this view; it returns UNAVAILABLE until then. A mapping or readout is not a compliance finding.",
"inputSchema": {
"properties": {
"request": {
"additionalProperties": true,
"title": "Request",
"type": "object"
}
},
"required": [
"request"
],
"title": "get_decision_evidenceArguments",
"type": "object"
},
"name": "get_decision_evidence"
},
{
"description": "Evidence for whether an intervention could be shown to have taken effect, from the records you supply. Read-only view of the records you supply; it writes, signs and executes nothing. Needs TRUST_GATE_API_URL, TRUST_GATE_API_KEY and TRUST_GATE_TENANT_ID to be set, and the tenant comes from that setting, never from an argument. Returns status OK, REFUSED or UNAVAILABLE (a missing setting, a surface that is off, or an error is UNAVAILABLE, never made-up data). The Trust Gate API must be a version that serves this view; it returns UNAVAILABLE until then. A mapping or readout is not a compliance finding.",
"inputSchema": {
"properties": {
"request": {
"additionalProperties": true,
"title": "Request",
"type": "object"
}
},
"required": [
"request"
],
"title": "get_intervention_evidenceArguments",
"type": "object"
},
"name": "get_intervention_evidence"
},
{
"description": "Evidence view of one receipt you supply, with what the service could and could not check. Read-only view of the records you supply; it writes, signs and executes nothing. Needs TRUST_GATE_API_URL, TRUST_GATE_API_KEY and TRUST_GATE_TENANT_ID to be set, and the tenant comes from that setting, never from an argument. Returns status OK, REFUSED or UNAVAILABLE (a missing setting, a surface that is off, or an error is UNAVAILABLE, never made-up data). The Trust Gate API must be a version that serves this view; it returns UNAVAILABLE until then. A mapping or readout is not a compliance finding.",
"inputSchema": {
"properties": {
"request": {
"additionalProperties": true,
"title": "Request",
"type": "object"
}
},
"required": [
"request"
],
"title": "get_receipt_evidenceArguments",
"type": "object"
},
"name": "get_receipt_evidence"
},
{
"description": "Readiness report for one oversight case, computed from the records you supply. Read-only view of the records you supply; it writes, signs and executes nothing. Needs TRUST_GATE_API_URL, TRUST_GATE_API_KEY and TRUST_GATE_TENANT_ID to be set, and the tenant comes from that setting, never from an argument. Returns status OK, REFUSED or UNAVAILABLE (a missing setting, a surface that is off, or an error is UNAVAILABLE, never made-up data). The Trust Gate API must be a version that serves this view; it returns UNAVAILABLE until then. A mapping or readout is not a compliance finding.",
"inputSchema": {
"properties": {
"request": {
"additionalProperties": true,
"title": "Request",
"type": "object"
}
},
"required": [
"request"
],
"title": "inspect_oversight_caseArguments",
"type": "object"
},
"name": "inspect_oversight_case"
},
{
"description": "Mint a signed receipt (Ed25519, plus ML-DSA-65 when the post-quantum backend is available) for an arbitrary consequential agent action. Optional attestation: triggered_by_type (human/agent/script), triggered_by_source (api/cli/cron), decision_model (the LLM model used). Attestation values are caller claims: allowlisted to safe characters, signed, not verified. Decisions that contain a gate verdict word are reserved for gate_decision.",
"inputSchema": {
"properties": {
"agent_id": {
"title": "Agent Id",
"type": "string"
},
"decision": {
"default": "ACTION_GOVERNED",
"title": "Decision",
"type": "string"
},
"decision_model": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Decision Model"
},
"inputs": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Inputs"
},
"operation": {
"title": "Operation",
"type": "string"
},
"policy": {
"default": "agent action evidence",
"title": "Policy",
"type": "string"
},
"target": {
"title": "Target",
"type": "string"
},
"triggered_by_source": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Triggered By Source"
},
"triggered_by_type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Triggered By Type"
}
},
"required": [
"agent_id",
"operation",
"target"
],
"title": "mint_action_receiptArguments",
"type": "object"
},
"name": "mint_action_receipt"
},
{
"description": "Mint a signed receipt (Ed25519, plus ML-DSA-65 when the post-quantum backend is available) for one CRM record change. Old/new values are carried as SHA-256 hashes. Works with any CRM (Relaticle, hosted CRMs, custom).",
"inputSchema": {
"properties": {
"changed_by_agent": {
"title": "Changed By Agent",
"type": "string"
},
"field": {
"title": "Field",
"type": "string"
},
"new_value": {
"title": "New Value",
"type": "string"
},
"object_type": {
"title": "Object Type",
"type": "string"
},
"old_value": {
"title": "Old Value",
"type": "string"
},
"policy": {
"default": "per-decision CRM change evidence",
"title": "Policy",
"type": "string"
},
"record_id": {
"title": "Record Id",
"type": "string"
},
"tenant": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Tenant"
}
},
"required": [
"record_id",
"object_type",
"field",
"old_value",
"new_value",
"changed_by_agent"
],
"title": "mint_receipt_for_record_changeArguments",
"type": "object"
},
"name": "mint_receipt_for_record_change"
},
{
"description": "Impact and a requalification PROPOSAL for a change, over the graph you supply. It never runs a retest. Read-only view of the records you supply; it writes, signs and executes nothing. Needs TRUST_GATE_API_URL, TRUST_GATE_API_KEY and TRUST_GATE_TENANT_ID to be set, and the tenant comes from that setting, never from an argument. Returns status OK, REFUSED or UNAVAILABLE (a missing setting, a surface that is off, or an error is UNAVAILABLE, never made-up data). The Trust Gate API must be a version that serves this view; it returns UNAVAILABLE until then. A mapping or readout is not a compliance finding.",
"inputSchema": {
"properties": {
"request": {
"additionalProperties": true,
"title": "Request",
"type": "object"
}
},
"required": [
"request"
],
"title": "propose_requalificationArguments",
"type": "object"
},
"name": "propose_requalification"
},
{
"description": "Questions routed to a role for one oversight case, from the records and source lookups you supply. It proposes; it never asks anyone. Read-only view of the records you supply; it writes, signs and executes nothing. Needs TRUST_GATE_API_URL, TRUST_GATE_API_KEY and TRUST_GATE_TENANT_ID to be set, and the tenant comes from that setting, never from an argument. Returns status OK, REFUSED or UNAVAILABLE (a missing setting, a surface that is off, or an error is UNAVAILABLE, never made-up data). The Trust Gate API must be a version that serves this view; it returns UNAVAILABLE until then. A mapping or readout is not a compliance finding.",
"inputSchema": {
"properties": {
"request": {
"additionalProperties": true,
"title": "Request",
"type": "object"
}
},
"required": [
"request"
],
"title": "propose_role_questionArguments",
"type": "object"
},
"name": "propose_role_question"
},
{
"description": "Replay of a decision's evidence path over the records you supply. It replays records; it executes nothing. Read-only view of the records you supply; it writes, signs and executes nothing. Needs TRUST_GATE_API_URL, TRUST_GATE_API_KEY and TRUST_GATE_TENANT_ID to be set, and the tenant comes from that setting, never from an argument. Returns status OK, REFUSED or UNAVAILABLE (a missing setting, a surface that is off, or an error is UNAVAILABLE, never made-up data). The Trust Gate API must be a version that serves this view; it returns UNAVAILABLE until then. A mapping or readout is not a compliance finding.",
"inputSchema": {
"properties": {
"request": {
"additionalProperties": true,
"title": "Request",
"type": "object"
}
},
"required": [
"request"
],
"title": "replay_decisionArguments",
"type": "object"
},
"name": "replay_decision"
},
{
"description": "Vendor exit readiness drill. Checks local signing key, local model access (Ollama). Returns step-by-step results and a tamper-evident receipt. Informational; it signs one receipt, which creates the signing key on a host that has none yet.",
"inputSchema": {
"properties": {},
"title": "run_exit_drillArguments",
"type": "object"
},
"name": "run_exit_drill"
},
{
"description": "Verify a Trust Gate receipt from the certificate alone (offline). ok=true means unchanged since signing, signed, kid consistent with the embedded key, and (require_pq default on) at least one post-quantum leg verified; unsigned receipts fail. It does not prove who signed: pass expected_kid to pin the signer's Ed25519 key; a pin counts only when that key's own signature verifies (see signer_pinned). The post-quantum keys in a receipt are not covered by the kid.",
"inputSchema": {
"properties": {
"expected_kid": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Expected Kid"
},
"receipt": {
"additionalProperties": true,
"title": "Receipt",
"type": "object"
},
"require_pq": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"title": "Require Pq"
}
},
"required": [
"receipt"
],
"title": "verify_receiptArguments",
"type": "object"
},
"name": "verify_receipt"
}
]
}What the leaf hashes
{"body":"f0865ae15da8fa3c995e5b52119e17a091f0bd2f53bd8deeb7a80cdce6bdbbbd","id":2500112,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793670330513734,"prev":570455,"subject":"b91edac5-22c8-46f4-8a0d-c7c67964236f","subject_kind":"endpoint"}Proof
Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (425475 rows).
- 0x4b570fcd9604e3b37e4a2272386dd27e336ceefa8d57e44639c62aa19a7f8cd7
- 0xd1e668aa4f0aa227be4ecd4cf3b84b540b8cad9cc1ca9e69c152988dc2b8c49e
- 0xcb5bbcecde56ade8b77cc6bd8920797256a70e50c699aaefa95606046270d18c
- 0x9335f505525016c1628e7a7c9221d78fe2c0f2a4129f7563ef14fd2e97bdfb52
- 0xdc927e80d3555c6fe337f50ac5e31b36b5f3888a7ac04eff6f9db247584c3513
- 0x0be6fc4f707ae6edd7a34968aabb0d5df8245123be3e7fec5ac5889c110f9498
- 0x7b40f368b714f97f19abc440311d627b748c63ce173fa331b02d169c35365215
- 0x61833d2044b148152cc835a1d160cd490dea4e4c43c6b7e054025f8a35198ee5
- 0xdefdf4ebd24b59a50035f389385d0e135efd362f5037cf304f0373dc51526e8d
- 0x93cdccc659c31753a843463a0b75a332ed24eea2664f09200105c824f92a6d7b
- 0xe639bce78b0a2f17f49660809213f3502901731ed5f9d2819153c797c78c8094
- 0x906208dd0f61cb76c5ab46f992d0d280c98f599746784e36966fc3d12ec06bd8
- 0x25e7c6e3ae958d725091b9780092a534731cdfe4819dd1ffe52af56311601eb8
- 0x5e9968227987a7f0940fee03a33017f5e7157de7f0889921817733c1ab8871d1
- 0xd106fbd3b5dac57c72dd4fc8931f69b38fd5a542627e63d015b63dadf2188a2f
- 0x35ca4633a97853eefbf38aaf743dd7ff85a4c731ccc8e31a34fd826c3142d6ea
- 0x87df2ed9052c264d606c076742aa7e54b69fc8344b21e972ebcb19d020b7ecf3
- 0x012ad914f3f945da3b6b48eddc7a1388613e4afc04339deb76c609611864e9b9
- 0xe35032d4b064b015fe60638756eeb0bc24e7c7943586468d33349341ee0ed3d6
- Day root
- 0xb646ffa569e24bf8336b0a15a9d98d0a2f1239f58e10c2b18a9d22e43343566a
- Chained
- 0x35e926359fd19031c6b5e08fb3b44f2524386a57c8fdd353336c185603f53d43
- Published
- On Arc Testnet, block 70601990: 0xa5f9dadba13cde129126b950e64b815e6833cb8ff53b75026c9dbe769c3768c7