addrbookFor publishers
← The evidence ledger

Evidence row 1006100

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint 5f44df91-7a27-404f-a78b-b169c0548c4d
Recorded
Previous row
#800148
Body SHA-256
7defea7268b2c827c31a32d742aabf9ca2dc88b25ceda4ebc4a8d1bd771c0f83
Leaf
0x0ac95ef3ed880bdef248e7422c987239dd98451eaf804459fe100a162f0922b8

What was observed

{
  "count": 8,
  "tools": [
    {
      "description": "List authors linked to one claim.\n\n    Use this when you have a claim id and need the people linked to it.\n    Returns author id, name, and orcid. The list is empty when none are linked.\n    Example: get_authors(claim_id=\"claim-attention\").\n    Example: get_authors(claim_id=\"<id from query_claims>\").\n    ",
      "inputSchema": {
        "properties": {
          "claim_id": {
            "description": "Claim id returned by a search tool. Example: claim-attention.",
            "examples": [
              "claim-attention"
            ],
            "title": "Claim Id",
            "type": "string"
          }
        },
        "required": [
          "claim_id"
        ],
        "title": "get_authorsArguments",
        "type": "object"
      },
      "name": "get_authors"
    },
    {
      "description": "List claims stored as contradicting one claim.\n\n    Returns each opposing claim id, status, evidence strength, and opposition strength.\n    Example: get_contradictions(claim_id=\"<id from query_claims>\").\n    ",
      "inputSchema": {
        "properties": {
          "claim_id": {
            "description": "Claim id to inspect.",
            "title": "Claim Id",
            "type": "string"
          }
        },
        "required": [
          "claim_id"
        ],
        "title": "get_contradictionsArguments",
        "type": "object"
      },
      "name": "get_contradictions"
    },
    {
      "description": "Provenance for one claim. Excerpts are short unless full_text is true.\n\n    Use this after a search when you have a claim id and need the papers behind it.\n    Example: get_evidence(claim_id=\"claim-attention\").\n    Example: get_evidence(claim_id=\"claim-attention\", full_text=true).\n    ",
      "inputSchema": {
        "properties": {
          "claim_id": {
            "description": "Claim id returned by a search tool. Example: claim-attention.",
            "examples": [
              "claim-attention"
            ],
            "title": "Claim Id",
            "type": "string"
          },
          "full_text": {
            "default": false,
            "description": "Return stored excerpts without shortening. Example: false.",
            "examples": [
              false
            ],
            "title": "Full Text",
            "type": "boolean"
          }
        },
        "required": [
          "claim_id"
        ],
        "title": "get_evidenceArguments",
        "type": "object"
      },
      "name": "get_evidence"
    },
    {
      "description": "List innovation flags, strongest first.\n\n    Use this when you want links between claims rather than the claims themselves.\n    Every flag includes flag_type and summary. summary is the short reason to follow the pair or skip it.\n    flag_type is lexical for a shared keyword, cross_domain for evidence overlap across primary domains, contradiction for a stored disagreement, or innovation for higher-strength synergy.\n    Older rows may still use lexical_association, scientific_connection, or research_hypothesis.\n    Returns flag id, domain, summary, strength, flag_type, connected_domain, the claim ids on each path, and a claims array in that same order.\n    Each claims item has claim_id, statement, and evidence strength. Full evidence stays on get_evidence.\n    connected_domain is the primary domain of the claim that does not match the flag domain.\n    It is null when the claims share a primary domain.\n    Optional cross_domain_only, when true, returns only flags whose connected_domain is set.\n    Repeated claim paths return once, keeping the strongest flag for that pair.\n    A low evidence strength is included unless min_strength is set.\n    Example: get_innovation_flags(domain=\"ai-ml\", min_strength=0.5, limit=10).\n    Example: get_innovation_flags(domain=\"quantum\", min_strength=0.8, limit=5).\n    Example: get_innovation_flags(domain=\"consciousness\", cross_domain_only=True, limit=10).\n    ",
      "inputSchema": {
        "properties": {
          "cross_domain_only": {
            "default": false,
            "description": "When true, return only flags whose connected_domain is set. Default false.",
            "examples": [
              false
            ],
            "title": "Cross Domain Only",
            "type": "boolean"
          },
          "domain": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Restrict flags to one domain. Example: ai-ml.",
            "examples": [
              "ai-ml"
            ],
            "title": "Domain"
          },
          "limit": {
            "default": 20,
            "description": "Page size. Example: 10.",
            "examples": [
              10
            ],
            "maximum": 50,
            "minimum": 1,
            "title": "Limit",
            "type": "integer"
          },
          "min_strength": {
            "anyOf": [
              {
                "maximum": 1,
                "minimum": 0,
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Drop flags below this strength, from 0 to 1. Example: 0.5.",
            "examples": [
              0.5
            ],
            "title": "Min Strength"
          },
          "offset": {
            "default": 0,
            "description": "Number of hits to skip. Example: 0.",
            "examples": [
              0
            ],
            "minimum": 0,
            "title": "Offset",
            "type": "integer"
          }
        },
        "title": "get_innovation_flagsArguments",
        "type": "object"
      },
      "name": "get_innovation_flags"
    },
    {
      "description": "List claims whose last_updated is at or after a timestamp.\n\n    Use this to read claims that changed after a time you already checked.\n    Returns claim id, status, evidence strength, a shortened excerpt, and source_url when a paper link is known.\n    Example: get_updates(since=\"2026-01-01T00:00:00Z\", domain=\"ai-ml\", limit=20).\n    Example: get_updates(since=\"2026-10-01T00:00:00Z\", domain=\"consciousness\", offset=20).\n    ",
      "inputSchema": {
        "properties": {
          "domain": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Restrict results to one domain. Example: ai-ml.",
            "examples": [
              "ai-ml"
            ],
            "title": "Domain"
          },
          "limit": {
            "default": 20,
            "description": "Page size. Example: 20.",
            "examples": [
              20
            ],
            "maximum": 50,
            "minimum": 1,
            "title": "Limit",
            "type": "integer"
          },
          "offset": {
            "default": 0,
            "description": "Number of hits to skip. Example: 0.",
            "examples": [
              0
            ],
            "minimum": 0,
            "title": "Offset",
            "type": "integer"
          },
          "since": {
            "description": "ISO-8601 timestamp. Claims updated at or after this time. Example: 2026-01-01T00:00:00Z.",
            "examples": [
              "2026-01-01T00:00:00Z"
            ],
            "format": "date-time",
            "title": "Since",
            "type": "string"
          }
        },
        "required": [
          "since"
        ],
        "title": "get_updatesArguments",
        "type": "object"
      },
      "name": "get_updates"
    },
    {
      "description": "Search claim statements and excerpts.\n\n    A domain keeps claims whose primary domain is that value or one of its\n    aliases, such as cs.LG for ai-ml. Hits are ordered by keyword overlap,\n    then a domain match, then evidence strength. cross_domain also keeps\n    claims from other domains that carry the domain as a secondary tag.\n    When the query is one domain keyword and domain is omitted, claims in\n    that domain come first.\n\n    Use this when you have keywords or a domain and want the strongest matching claims.\n    Returns claim id, status, evidence strength, a shortened excerpt, match_reason,\n    source_url when a paper link is known, up to two supporting claims, and one\n    contradicting claim when one is stored. Full provenance stays on get_evidence.\n    Example: query_claims(query=\"transformer\", domain=\"ai-ml\", limit=5).\n    Example: query_claims(query=\"United States\", domain=\"data-protection\", limit=5).\n    ",
      "inputSchema": {
        "$defs": {
          "AssertionType": {
            "enum": [
              "asserted",
              "hedged",
              "conditional"
            ],
            "title": "AssertionType",
            "type": "string"
          },
          "ClaimFilters": {
            "description": "Optional status, strength, and assertion type for a claim search.",
            "properties": {
              "assertion_type": {
                "anyOf": [
                  {
                    "$ref": "#/$defs/AssertionType"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "Keep one assertion type: asserted, hedged, or conditional. Example: asserted.",
                "examples": [
                  "asserted"
                ]
              },
              "min_strength": {
                "anyOf": [
                  {
                    "maximum": 1,
                    "minimum": 0,
                    "type": "number"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "Drop claims below this evidence strength, from 0 to 1. Example: 0.6.",
                "examples": [
                  0.6
                ],
                "title": "Min Strength"
              },
              "status": {
                "anyOf": [
                  {
                    "$ref": "#/$defs/ClaimStatus"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "Keep one status: consensus, contested, or outdated. Example: consensus.",
                "examples": [
                  "consensus"
                ]
              }
            },
            "title": "ClaimFilters",
            "type": "object"
          },
          "ClaimStatus": {
            "enum": [
              "consensus",
              "contested",
              "outdated"
            ],
            "title": "ClaimStatus",
            "type": "string"
          }
        },
        "properties": {
          "cross_domain": {
            "default": false,
            "description": "Also return claims from other primary domains that carry this domain as a secondary tag. Default false.",
            "examples": [
              false
            ],
            "title": "Cross Domain",
            "type": "boolean"
          },
          "domain": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Primary domain or an alias of it. Example: ai-ml.",
            "examples": [
              "ai-ml"
            ],
            "title": "Domain"
          },
          "filters": {
            "anyOf": [
              {
                "$ref": "#/$defs/ClaimFilters"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Optional status, minimum evidence strength, and assertion type. Example: {\"status\": \"consensus\", \"min_strength\": 0.6}.",
            "examples": [
              {
                "min_strength": 0.6,
                "status": "consensus"
              }
            ]
          },
          "limit": {
            "default": 20,
            "description": "Page size. Example: 5.",
            "examples": [
              5
            ],
            "maximum": 50,
            "minimum": 1,
            "title": "Limit",
            "type": "integer"
          },
          "offset": {
            "default": 0,
            "description": "Number of hits to skip. Example: 0.",
            "examples": [
              0
            ],
            "minimum": 0,
            "title": "Offset",
            "type": "integer"
          },
          "query": {
            "description": "Text matched against the claim statement and its excerpt. Example: transformer.",
            "examples": [
              "transformer"
            ],
            "title": "Query",
            "type": "string"
          }
        },
        "required": [
          "query"
        ],
        "title": "query_claimsArguments",
        "type": "object"
      },
      "name": "query_claims"
    },
    {
      "description": "List law records for one jurisdiction and area of law.\n\n    Use this when you want jurisdiction-scoped records. Omitting jurisdiction returns science claims.\n    Returns record id, status, evidence strength, a shortened excerpt, jurisdiction, and area of law.\n    Example: query_law(jurisdiction=\"DE\", area_of_law=\"data-protection\", query=\"consent\", limit=5).\n    Example: query_law(query=\"transformer\", limit=5).\n    ",
      "inputSchema": {
        "properties": {
          "area_of_law": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Area of law slug. Example: data-protection.",
            "examples": [
              "data-protection"
            ],
            "title": "Area Of Law"
          },
          "jurisdiction": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Jurisdiction code. Example: DE. Omit it to search science.",
            "examples": [
              "DE"
            ],
            "title": "Jurisdiction"
          },
          "limit": {
            "default": 20,
            "description": "Page size. Example: 5.",
            "examples": [
              5
            ],
            "maximum": 50,
            "minimum": 1,
            "title": "Limit",
            "type": "integer"
          },
          "query": {
            "default": "",
            "description": "Text matched against the statement and its excerpt. Example: consent.",
            "examples": [
              "consent"
            ],
            "title": "Query",
            "type": "string"
          }
        },
        "title": "query_lawArguments",
        "type": "object"
      },
      "name": "query_law"
    },
    {
      "description": "Find claims from a natural-language question.\n\n    A question is matched on its content phrases. When that match is empty,\n    the longest content terms are searched as keywords. Those hits stay on\n    strategy question, set fallback to keyword, and use the same hybrid score\n    as query_claims: keyword overlap, then a domain match, then evidence\n    strength. A keyword stays on the lexical match. Each hit includes\n    match_reason, source_url when a paper link is known, up to two supporting\n    claims, and one contradicting claim when one is stored. Full provenance\n    stays on get_evidence.\n\n    A domain keeps claims whose primary domain is that value or one of its\n    aliases. cross_domain also keeps claims from other domains that carry\n    the domain as a secondary tag.\n\n    Use this when the input is a question instead of keywords.\n    Example: search_smart(natural_language=\"How do transformers handle long context?\", domain=\"ai-ml\", limit=5).\n    Example: search_smart(natural_language=\"What limits healthspan?\", domain=\"longevity\", limit=5).\n    ",
      "inputSchema": {
        "properties": {
          "cross_domain": {
            "default": false,
            "description": "Also return claims from other primary domains that carry this domain as a secondary tag. Default false.",
            "examples": [
              false
            ],
            "title": "Cross Domain",
            "type": "boolean"
          },
          "domain": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Primary domain or an alias of it. Example: ai-ml.",
            "examples": [
              "ai-ml"
            ],
            "title": "Domain"
          },
          "limit": {
            "default": 10,
            "description": "Page size. Example: 5.",
            "examples": [
              5
            ],
            "maximum": 50,
            "minimum": 1,
            "title": "Limit",
            "type": "integer"
          },
          "natural_language": {
            "description": "A question or description of the claims you want. Example: How do transformers handle long context?",
            "examples": [
              "How do transformers handle long context?"
            ],
            "title": "Natural Language",
            "type": "string"
          },
          "offset": {
            "default": 0,
            "description": "Number of hits to skip. Example: 0.",
            "examples": [
              0
            ],
            "minimum": 0,
            "title": "Offset",
            "type": "integer"
          }
        },
        "required": [
          "natural_language"
        ],
        "title": "search_smartArguments",
        "type": "object"
      },
      "name": "search_smart"
    }
  ]
}

What the leaf hashes

{"body":"7defea7268b2c827c31a32d742aabf9ca2dc88b25ceda4ebc4a8d1bd771c0f83","id":1006100,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793262169304695,"prev":800148,"subject":"5f44df91-7a27-404f-a78b-b169c0548c4d","subject_kind":"endpoint"}

Proof

Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (242798 rows).

  1. 0x0ac94ce8f4f031bca287eeb38bde88db5428cfd0f98829bbbd5db28547593d90
  2. 0x026ca8c313c4ee494117cf7abac533da700e5a4c194485f780d7e1507a1b69de
  3. 0x7895c78e43db68ce6470831e4ed76fde5157e2f5690fe96c7e545b96edcaa706
  4. 0x379fbc7338a373c0379d7b3e2e6be646d1780882c2476ff62f3615f5bf972413
  5. 0xe5ea95ed58e02a11d03b4490e5d2e47692ed684259e75ebd622ce6460f53393f
  6. 0x6c4112a26738a8b918c780cdbb9261cf3c4e6074426cd808accab9305a9d7153
  7. 0x8c0106d88210760d85f7c8d59e06a568e3f2abe5771024c6a89e4b65f2fe8696
  8. 0xf626e604668cef893fad1c608d32b895c36fec58f1980b04f177b29eff7b23e8
  9. 0xb04c27edc8a7523a0b37174ddb3095b91e89bd76edd8737b1319b02b27629518
  10. 0x3d1ff848020b85619b837afbd98a1c39f14fd8ad9e796e48b8a082272edd85b5
  11. 0x8c0d2b6fb4207e07f75f14ce0e79e5d40433d568335e90388ed2033993900892
  12. 0xeecdbdb99aeb9b26186ca6c495a63fabd3b9788879daf8c27493949e4580d52a
  13. 0xa58cb939c08facf8daadd7c702887e9f9ae31a324fc3668f41d9c6ce7daafcfb
  14. 0x7b3add153244183458b4331b4f226a6729ff68c345cedfa75b49586e803bf98a
  15. 0x0507b989510de89f78184f7a10d971f7670a579c54df7d291a2d72f034ae74d3
  16. 0xa0a7723889a4c15b3e0bec353fa8dbcaec6c71cf35bb6c346415ad3e664df6a6
  17. 0xd76435ead496863d8b0bfab3434f54cd11da3c49d104fc4064b9cb3381567bbd
  18. 0xd56e61af23709ed9f460471e3c08400c0142ee83e1fd9057e46350d12edf9c07
Day root
0xc050555c6b023f2aefb6536efb9f0760b92c30a0d06c572b7daf63db259ea17c
Chained
0x4cde8bae2042512e1bec11650628f0293556311cc4ea74d99ffddf02b671a7d6
Published
On Arc Testnet, block 69753317: 0x9e85c340732f416e431b111fae72f7624870125f7f379af2732eb6c2ba8cf6a1

How to check it · This row as JSON