← The evidence ledger
Evidence row 1051869
Observed , by probe.mcp/1.
- Kind
- mcp.tools
- About
- endpoint 5f44df91-7a27-404f-a78b-b169c0548c4d
- Recorded
- Previous row
- #1006100
- Body SHA-256
- 5961a85fff77ea0bcdd15a58ac57e4d73d8f805478e7cf2c8637d98cb27f8b82
- Leaf
- 0xb2b1568460e173db4fd06deb2533e27cb3a044ef707cc82fe649353397aed17f
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 unpublished is true for a private unpublished paper. The stored excerpt, page, and section stay on provenance.\n status_note on a consensus claim with no stored contradiction is: No stored contradiction; not independent multi-source consensus.\n evidence_note is: Extractor confidence in the claim statement, not study quality.\n integrity_warning is set when the statement unit looks truncated relative to the excerpt, or the magnitude looks extreme relative to the excerpt. The statement and the excerpt are not rewritten.\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. The default sort is discovery.\n\n Use this when you want links between claims rather than the claims themselves.\n Pass claim_id to navigate from one claim to the flags that contain it. Each hit includes flag_type, strength, summary, the other claim ids, and those claims' primary domains. Filters are flag_type, min_strength, and cross_domain_only. The claim list is ranked by relationship strength and novelty. A path that only names the claim, a partner that repeats the claim, and a near-duplicate of a partner already returned are omitted.\n Discovery combines relationship strength, novelty, and conceptual overlap. Near-duplicate claims rank lower on the first page and remain in the list. sort strength orders by the stored relationship strength.\n Every flag includes flag_type, cross_domain, complementary, and summary. summary says why the claims are linked.\n complementary is a ranking hint when two independent sources share a measurable variable or process and discuss different aspects. It reuses relationship_basis, does not change flag_type, and does not state a hypothesis. A weak link stays weak.\n flag_type is lexical_association for shared terminology with no substantive relation, scientific_connection for a conceptual or methodological relationship, contradiction for a stored disagreement, or innovation when the claims state a mechanism that could transfer. lexical selects the same weak rows.\n cross_domain is true when the claims have different primary domains. It is not a flag_type and does not raise strength.\n Older rows may still use cross_domain or research_hypothesis.\n strength is computed for that pair. It is not claim evidence strength. A weak lexical link stays low and remains when min_strength is omitted or 0.\n Returns flag id, domain, summary, strength, flag_type, cross_domain, 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 Optional flag_type keeps one label, for example lexical.\n Optional sort is discovery or strength. discovery is the default.\n Repeated claim paths return once, keeping the strongest flag for that pair.\n Example: get_innovation_flags(domain=\"ai-ml\", min_strength=0.5, limit=10).\n Example: get_innovation_flags(domain=\"ai-ml\", sort=\"strength\", limit=10).\n Example: get_innovation_flags(claim_id=\"claim-attention\", min_strength=0.5, limit=10).\n Example: get_innovation_flags(domain=\"quantum\", min_strength=0, flag_type=\"lexical\", limit=5).\n Example: get_innovation_flags(domain=\"consciousness\", cross_domain_only=True, limit=10).\n ",
"inputSchema": {
"properties": {
"claim_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Return flags whose path contains this claim. Example: claim-attention.",
"examples": [
"claim-attention"
],
"title": "Claim Id"
},
"cross_domain_only": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"description": "When true, return only flags whose connected_domain is set. Null and the default are false.",
"examples": [
false
],
"title": "Cross Domain Only"
},
"domain": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Restrict flags to one domain. Example: ai-ml.",
"examples": [
"ai-ml"
],
"title": "Domain"
},
"flag_type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Keep one flag_type. lexical and lexical_association are the same weak class. Empty returns every type.",
"examples": [
"lexical"
],
"title": "Flag Type"
},
"limit": {
"anyOf": [
{
"maximum": 50,
"minimum": 1,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Page size. Example: 10. Null uses 20.",
"examples": [
10
],
"title": "Limit"
},
"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": {
"anyOf": [
{
"minimum": 0,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Number of hits to skip. Example: 0. Null uses 0.",
"examples": [
0
],
"title": "Offset"
},
"sort": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "discovery combines relationship strength, novelty, and conceptual overlap. strength orders by the stored relationship strength. Null and the default are discovery.",
"examples": [
"discovery"
],
"title": "Sort"
}
},
"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, doi, and paper_id when those are 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. An exact multi-token phrase matches whole\n tokens. K17, PDAC, NCC, IIT, and LLM match the full names in the alias map.\n Hits are ordered by keyword overlap, then a domain match, then evidence\n strength. That retrieval order stays ahead of the stored score.\n match_reason records that the stored score is evidence_strength.\n 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, doi, and paper_id when those are known, up to two supporting claims, and one\n contradicting claim when one is stored. Each related claim carries that same compact pointer. unpublished is true for a private unpublished paper. Full provenance stays on get_evidence.\n status_note on a consensus claim with no stored contradiction is: No stored contradiction; not independent multi-source consensus.\n evidence_note is: Extractor confidence in the claim statement, not study quality.\n integrity_warning is set when the statement unit looks truncated relative to the excerpt, or the magnitude looks extreme relative to the excerpt. The statement and the excerpt are not rewritten.\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 The central research concept and its scientific synonyms outrank incidental context words. Generic overlap that does not address the question is penalized. A keyword with no function word stays on the lexical match.\n A question tries its content phrases first. When that match is thin, extracted concepts, shorter phrases, and synonyms are combined and deduplicated before ranking. Exact keywords are not required.\n Question hits stay on strategy question. fallback is null when the content-phrase match already addressed the concept, keyword when every hit came from a literal concept or shorter phrase, and expanded when a synonym supplied a hit. Rank puts the concept above context words. Retrieval relevance stays ahead of evidence_strength, and match_reason records that the stored score is evidence_strength. A lexical phrase matches whole tokens. K17, PDAC, NCC, IIT, and LLM match the full names in the alias map.\n notice is no_matching_claims when nothing matches. notice is no_evidence when every returned hit has an empty excerpt. A hit with an empty excerpt says no evidence in match_reason.\n exploratory true keeps matches under the default relevance threshold.\n Each hit includes match_reason, source_url, doi, and paper_id when those are known, up to two supporting claims, and one contradicting claim when one is stored. Each related claim carries that same compact pointer. unpublished is true for a private unpublished paper. Full provenance stays on get_evidence.\n status_note on a consensus claim with no stored contradiction is: No stored contradiction; not independent multi-source consensus.\n evidence_note is: Extractor confidence in the claim statement, not study quality.\n integrity_warning is set when the statement unit looks truncated relative to the excerpt, or the magnitude looks extreme relative to the excerpt. The statement and the excerpt are not rewritten.\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 causes LLM hallucinations in RAG systems?\", 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"
},
"exploratory": {
"default": false,
"description": "Keep weaker matches that miss the central concept. Default false applies a light relevance threshold.",
"examples": [
false
],
"title": "Exploratory",
"type": "boolean"
},
"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":"5961a85fff77ea0bcdd15a58ac57e4d73d8f805478e7cf2c8637d98cb27f8b82","id":1051869,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793302441456041,"prev":1006100,"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).
- 0xb2b16d11c2f34d9056f5e59c8c1da5b349a835ee3192240b431440ff10fbf757
- 0x028d2850efffaf9fda8878737b84970ddc43d3e9c2858c8263e7add781dedc30
- 0xcb333718925db47b85e9f2b1cd508cbd383f865fefda9b2409f05fee51446872
- 0x39154113730d2406988fba10659ac3436a6a66bf2871efc2e028487c790aded6
- 0x30c26dcf880d7d27085acd20e7a61b7145c07e482832e5b0ca28a87bae0b4400
- 0x5b78a7cf68fd7b2dde75b44417032a03226af1bbdac976774586338605f3f8a0
- 0x1d73dbe0d5a971bd5a87fcca2ab91f45280cda3c39cbe7cc0dbab61facc0ffa1
- 0x9b39d8e93185fbd8dcf1a15b1c4468a88b86d95a9d8f59414ace16ed54f30373
- 0x1f188a531041d4454695f9f42753206a043d89356b37b70022618c174221d3a6
- 0xc67ef42aca1684d240c932e2a6d71db32f0f7bc0556323b13344091236469fb6
- 0x6f7c3a9e94dd61468caa9749fb1331726461f561c103df548393899f2564d019
- 0x720184cc4740a52a25a0165ee1523cffb429b68beda243fed8d454938fce0b49
- 0xbd648578c40e9d57b13dded5303ab0e7546d05e31678dcce5c005a0949fcc24a
- 0x585b1e0c9b8e6cc02683a3bcbd6f86329575401feac9ee51a7efd21ed87f7ed0
- 0xaa1d19094c2ce6d011a3c40533fa7efee207719d6c482ffc47018b28e5518acc
- 0xef5d5572aac8f06b61579b7167b369fcb479d9027d4037dc9cacff9e3a26ffd2
- 0xa1fa2e97e71ad6e802f325afd74bb7095901f2060529c9739182a1233f8804bc
- 0xe01539ac4c9f9cdf265a9e5c6d99c8da11e70ff0c7175fb23e402d33b9d79785
- Day root
- 0xc050555c6b023f2aefb6536efb9f0760b92c30a0d06c572b7daf63db259ea17c
- Chained
- 0x4cde8bae2042512e1bec11650628f0293556311cc4ea74d99ffddf02b671a7d6
- Published
- On Arc Testnet, block 69753317: 0x9e85c340732f416e431b111fae72f7624870125f7f379af2732eb6c2ba8cf6a1