addrbookFor publishers
← The evidence ledger

Evidence row 304716

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint 8c678751-5b51-405e-b8f9-171527fea795
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
1f28be1eb6e73c2d4ecd0ace5fe5ac4d7b2eb05f83b9142062c5399c9db8cf55
Leaf
0xb7214de5c0b1d105379bc53a3549db9d6689f1ab31dbb6442d9b82581dcf7fcd

What was observed

{
  "count": 25,
  "tools": [
    {
      "description": "Persisted Asha Blindspots / coverage gaps from posture analysis. Use only when status=available; do not infer gaps from empty or unavailable responses.",
      "inputSchema": {
        "properties": {
          "limit": {
            "description": "Max flagged clusters (default 10).",
            "maximum": 50,
            "minimum": 1,
            "type": "integer"
          },
          "min_mci": {
            "description": "Minimum persisted Manufactured Consensus Index.",
            "maximum": 1,
            "minimum": 0,
            "type": "number"
          },
          "posture": {
            "description": "Require this posture key in posture_distribution.by_posture.",
            "type": "string"
          },
          "topic": {
            "description": "Optional topic/title/summary substring, e.g. palestine.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "asha_blindspot"
    },
    {
      "description": "Breaking news: active alerts plus breaking-flagged articles with age and expiry. Poll every 60s with since={last generated_at} for deltas; notify your user on new items.",
      "inputSchema": {
        "properties": {
          "limit": {
            "maximum": 50,
            "minimum": 1,
            "type": "integer"
          },
          "since": {
            "description": "ISO timestamp; only items published after this are returned.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "asha_breaking"
    },
    {
      "description": "Search story clusters by topic. Returns grouped multi-source coverage.",
      "inputSchema": {
        "properties": {
          "limit": {
            "maximum": 50,
            "minimum": 1,
            "type": "integer"
          },
          "q": {
            "type": "string"
          }
        },
        "required": [
          "q"
        ],
        "type": "object"
      },
      "name": "asha_clusters_search"
    },
    {
      "description": "Server-rendered daily brief: categorized sections with publish time + age per item, Palestine desk leading. format=markdown for chat relay, html for a styled self-contained page, json for structured data. Relay as-is.",
      "inputSchema": {
        "properties": {
          "format": {
            "description": "Default markdown.",
            "enum": [
              "markdown",
              "html",
              "json"
            ],
            "type": "string"
          },
          "per_section": {
            "maximum": 10,
            "minimum": 1,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "name": "asha_daily_brief"
    },
    {
      "description": "Clustered public news digest. format=markdown returns prose; otherwise JSON clusters.",
      "inputSchema": {
        "properties": {
          "format": {
            "description": "Default markdown.",
            "enum": [
              "markdown",
              "json"
            ],
            "type": "string"
          },
          "limit": {
            "maximum": 50,
            "minimum": 1,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "name": "asha_digest"
    },
    {
      "description": "Asha News editorial voice contract: evidence-first, openly pro-Palestine, citations preserved. Read before generating derived briefs, titles, or social posts.",
      "inputSchema": {
        "properties": {},
        "type": "object"
      },
      "name": "asha_editorial_guidelines"
    },
    {
      "description": "Latest source-backed news from the Asha News archive. Returns items with publish time, source, and citation links.",
      "inputSchema": {
        "properties": {
          "category": {
            "description": "Canonical category filter: world, politics, markets, tech, ai, science, health, sport, or entertainment.",
            "type": "string"
          },
          "limit": {
            "description": "Max items (default 10).",
            "maximum": 100,
            "minimum": 1,
            "type": "integer"
          },
          "q": {
            "description": "Keyword to search within recent coverage.",
            "type": "string"
          },
          "timeframe": {
            "description": "e.g. 24h, 72h. Default 24h.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "asha_feed"
    },
    {
      "description": "Public market price context for supported instruments. Returns quote source, timestamp, and instrument rows.",
      "inputSchema": {
        "properties": {
          "symbols": {
            "description": "Comma-separated symbols or string array, e.g. BTCUSD,ETHUSD,XAUUSD,OIL. Defaults to supported core instruments.",
            "oneOf": [
              {
                "type": "string"
              },
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              }
            ]
          }
        },
        "type": "object"
      },
      "name": "asha_market_context"
    },
    {
      "description": "Mint the stable asha.news/s/<code> short link for an article, generated brief, story cluster, or allowlisted route. Idempotent — the same target always returns the same code. Use this instead of pasting long URLs; the short link carries social preview metadata.",
      "inputSchema": {
        "properties": {
          "target_id": {
            "description": "Article/brief/cluster id, or an allowlisted site path for target_type=route.",
            "type": "string"
          },
          "target_type": {
            "description": "What is being shared.",
            "enum": [
              "article",
              "generated",
              "cluster",
              "route"
            ],
            "type": "string"
          }
        },
        "required": [
          "target_type",
          "target_id"
        ],
        "type": "object"
      },
      "name": "asha_mint_share_link"
    },
    {
      "description": "Palestine desk timeline (evidence-classed events) with a freshness indicator, plus the desk section map (Now / The Record / Israel Exposed wings with canonical page URLs).",
      "inputSchema": {
        "properties": {
          "limit": {
            "maximum": 50,
            "minimum": 1,
            "type": "integer"
          },
          "status": {
            "enum": [
              "verified",
              "cross_verified",
              "pending",
              "leak"
            ],
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "asha_palestine"
    },
    {
      "description": "Unified search across Asha News articles, active story clusters, and published generated briefs. Use this before choosing a narrower endpoint.",
      "inputSchema": {
        "properties": {
          "limit": {
            "description": "Max mixed results (default 10).",
            "maximum": 25,
            "minimum": 1,
            "type": "integer"
          },
          "q": {
            "description": "Search term, e.g. \"palestine\", \"gold\", \"OpenAI\".",
            "type": "string"
          },
          "types": {
            "description": "Comma-separated result families: articles, stories, generated, or all.",
            "type": "string"
          }
        },
        "required": [
          "q"
        ],
        "type": "object"
      },
      "name": "asha_search"
    },
    {
      "description": "Keyword search across recent Asha News articles. Cite source URLs and Asha article/story URLs when present.",
      "inputSchema": {
        "properties": {
          "limit": {
            "description": "Max results (default 10).",
            "maximum": 100,
            "minimum": 1,
            "type": "integer"
          },
          "q": {
            "description": "Search term, e.g. \"palestine\", \"iran\".",
            "type": "string"
          }
        },
        "required": [
          "q"
        ],
        "type": "object"
      },
      "name": "asha_search_articles"
    },
    {
      "description": "Share-ready package for a published, cited Asha brief/story. Returns found=false when no final share pack is available.",
      "inputSchema": {
        "properties": {
          "q": {
            "description": "Search query, slug, or generated-article id. Omit for latest published pack.",
            "type": "string"
          },
          "url": {
            "description": "Exact asha.news /article/{slug}, /story/{id}, or /s/{key} URL; resolves to that content only (matched_by=url) or found=false — never a different article. Takes precedence over q.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "asha_share_pack"
    },
    {
      "description": "Ready-to-post social share payloads for an article (x, bluesky, threads, mastodon, telegram, whatsapp, facebook, linkedin): text within platform limits, hashtags, image, and intent URL. Post verbatim; keep attribution.",
      "inputSchema": {
        "properties": {
          "article_id": {
            "description": "Asha article id (from asha_feed / asha_search_articles results).",
            "type": "string"
          },
          "platform": {
            "description": "Optional single platform filter, e.g. x or telegram.",
            "type": "string"
          }
        },
        "required": [
          "article_id"
        ],
        "type": "object"
      },
      "name": "asha_share_payload"
    },
    {
      "description": "Asha News public source directory with provenance and trust metadata.",
      "inputSchema": {
        "properties": {
          "limit": {
            "maximum": 500,
            "minimum": 1,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "name": "asha_sources"
    },
    {
      "description": "Start a DOUBLE OPT-IN newsletter signup for an email address. Asha emails a confirmation link; nothing is delivered until the person clicks it. Only submit an address the person gave you in this conversation, and tell them to check their inbox — you cannot confirm on their behalf.",
      "inputSchema": {
        "properties": {
          "email": {
            "description": "The subscriber's own email address.",
            "type": "string"
          },
          "lang": {
            "description": "Issue language (default en).",
            "enum": [
              "en",
              "ar"
            ],
            "type": "string"
          },
          "options": {
            "description": "Which sends to request. Default [\"daily\"].",
            "items": {
              "enum": [
                "daily",
                "breaking",
                "sunday"
              ],
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "email"
        ],
        "type": "object"
      },
      "name": "asha_subscribe_newsletter"
    },
    {
      "description": "Geolocated Conflict Monitor events (strike, explosion, intercept, movement, statement, thermal_confirmation) with severity, verification status, and EN/AR summaries. Filter with bbox=w,s,e,n; pass since={seq} for deltas.",
      "inputSchema": {
        "properties": {
          "bbox": {
            "description": "Bounding box \"w,s,e,n\" (lon/lat degrees), e.g. 34,29,36,34.",
            "type": "string"
          },
          "limit": {
            "description": "Max events (default 50).",
            "maximum": 100,
            "minimum": 1,
            "type": "integer"
          },
          "since": {
            "description": "Envelope sequence cursor for delta polls.",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "name": "conflict_events"
    },
    {
      "description": "Live Middle East Conflict Monitor snapshot: official alerts, geolocated OSINT events, active story clusters, EN/AR theater brief, and per-tier freshness (degraded flag). Pass since={seq} for envelope deltas. Streaming clients can use SSE at https://asha.news/api/conflict/stream instead.",
      "inputSchema": {
        "properties": {
          "since": {
            "description": "Envelope sequence cursor; returns only envelopes with seq greater than this.",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "name": "conflict_state"
    },
    {
      "description": "Check one claim about Palestine against the desk's claim library and evidence archive. Returns the matched claim family, verdict, a short evidence-backed answer, and citation URLs. Rate-limited — send a single clear claim per call and relay the citations with the answer.",
      "inputSchema": {
        "properties": {
          "claim": {
            "description": "The claim to check, as one plain-language sentence.",
            "type": "string"
          }
        },
        "required": [
          "claim"
        ],
        "type": "object"
      },
      "name": "palestine_check_claim"
    },
    {
      "description": "Operational state of the Palestine evidence pipeline: which sources are collecting and when they last succeeded, how deep the review queue is, how many records are actually published, and how reachable the external media pointers were at their last check. Aggregate counts only — it never names an unreviewed record. Use it to answer \"is this archive current?\" honestly before citing it, and read degraded_reasons rather than the status alone. A source with ingest_enabled:false is configured off, not broken.",
      "inputSchema": {
        "properties": {},
        "type": "object"
      },
      "name": "palestine_evidence_health"
    },
    {
      "description": "One Palestine evidence record by its stable ref (e.g. gl-2810), with its assigned categories, editor-asserted incident links, related records, and ranked external media candidates carrying observed link health. Media candidates are third-party destinations — Asha never hosts them, and anything graphic or ungraded requires explicit consent before it loads. A ref that is not found may simply not have cleared editorial review; treat 404 as \"not published\", not as \"does not exist\".",
      "inputSchema": {
        "properties": {
          "ref": {
            "description": "Stable public ref, e.g. gl-2810.",
            "type": "string"
          }
        },
        "required": [
          "ref"
        ],
        "type": "object"
      },
      "name": "palestine_evidence_record"
    },
    {
      "description": "Search the Palestine evidence graph: reviewer-approved records with dates, places, assigned categories, and the source that documented each one. Returns facet counts (region, category, year, source, trust states) alongside results, so you can see the shape of the corpus before narrowing. Every record separates the upstream source's own wording (upstream.classification) from Asha's review (asha.finding) — quote the first with attribution, never relay it as an Asha finding. bot_can_cite is true only for editorially verified records; everything else is citable strictly as \"this source says\". Asha holds metadata and links only; media opens on the upstream record.",
      "inputSchema": {
        "properties": {
          "category": {
            "description": "Category slug from palestine_evidence_taxonomy, e.g. hospitals-health, airstrike, journalists.",
            "type": "string"
          },
          "from": {
            "description": "Earliest event date, YYYY-MM-DD.",
            "type": "string"
          },
          "page": {
            "minimum": 1,
            "type": "integer"
          },
          "page_size": {
            "maximum": 100,
            "minimum": 1,
            "type": "integer"
          },
          "q": {
            "description": "Free text over upstream titles, place names and Asha findings. Arabic and English both match.",
            "type": "string"
          },
          "region": {
            "enum": [
              "gaza",
              "west_bank",
              "jerusalem",
              "israel",
              "lebanon",
              "syria",
              "other",
              "unknown"
            ],
            "type": "string"
          },
          "source": {
            "description": "Source slug, e.g. genocide-live.",
            "type": "string"
          },
          "to": {
            "description": "Latest event date, YYYY-MM-DD.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "palestine_evidence_search"
    },
    {
      "description": "The controlled vocabulary behind the Palestine evidence graph: incident_type (what happened), theme (what was hit), affected_group (who), and legal_category (what a named body says it amounts to). Call this before filtering so you use real slugs. legal_category terms are editorial-only — they are never derived from text, and record that a named authority made that characterization.",
      "inputSchema": {
        "properties": {
          "vocabulary": {
            "enum": [
              "incident_type",
              "theme",
              "affected_group",
              "legal_category"
            ],
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "palestine_evidence_taxonomy"
    },
    {
      "description": "The full genocide-case record from the Asha News Palestine desk: what each court, UN body, rights organization, and study found — precisely characterized (provisional measures are not merits rulings; warrants are charges, not convictions) — plus attributed casualty figures, a case timeline, and an FAQ. Relay characterizations exactly and keep citation URLs.",
      "inputSchema": {
        "properties": {},
        "type": "object"
      },
      "name": "palestine_genocide_case"
    },
    {
      "description": "Search the Palestine evidence archive: 140,000+ upstream media records, the Killed in Gaza victims memorial, and the curated claim library. Results carry stable IDs and canonical URLs — cite those instead of scraping.",
      "inputSchema": {
        "properties": {
          "page": {
            "description": "Page number (default 1).",
            "minimum": 1,
            "type": "integer"
          },
          "page_size": {
            "description": "Results per family per page (default 10).",
            "maximum": 50,
            "minimum": 1,
            "type": "integer"
          },
          "q": {
            "description": "Search term — Arabic or English both match (e.g. \"Deir al-Balah\", \"مستشفى\").",
            "type": "string"
          },
          "type": {
            "description": "Result family (default all).",
            "enum": [
              "all",
              "media",
              "victims",
              "claims"
            ],
            "type": "string"
          }
        },
        "required": [
          "q"
        ],
        "type": "object"
      },
      "name": "palestine_search_archive"
    }
  ]
}

What the leaf hashes

{"body":"1f28be1eb6e73c2d4ecd0ace5fe5ac4d7b2eb05f83b9142062c5399c9db8cf55","id":304716,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793056037672948,"prev":null,"subject":"8c678751-5b51-405e-b8f9-171527fea795","subject_kind":"endpoint"}

Proof

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

  1. 0xb72102202d68882965e3d75c5bf6414413db8991b7d2ab87661728fed2c72ac6
  2. 0x3d643a36dacc97437132b660df7eb7ed3b8b8e4159f35637a24d2e1e3ea866a4
  3. 0x1e76ae383441626f467aff0f540946eff693de385564e33f5444a301149edee2
  4. 0xf8e2f7407f4172ef2df5b53265ed2295f648693e147a09661244d82b04036687
  5. 0x79a8007ac8783d0b6f23fe360e1543342ee36a19a1cfad69506dcbfe691dac1e
  6. 0x20c422a15bd2c7785d326ff242ceb006fd204bf2f373c9fd7378e024447688c2
  7. 0xd7d1f42421eeacd5bd71b81664244d25da4b72a0a01e56f4aaae506c2d27817f
  8. 0x57b14bb1e01a54c96e439ea86a7a59af982ff16cce115954be69895a0d22bbea
  9. 0x203031853a23761646df08437e349b7cd9eb223cae4d3fc2fc000cd29f45f113
  10. 0x3c953fc01471f64b47ceca06a1ce81bf4769d6cdb848dfcd2546248b8ad8a749
  11. 0x552b4fce1ed8f44d691c0a47a6af5ee62ad904edb2ebdc55a5ed71fca6e7564f
  12. 0x17930d484cab3f6850715eb0b77dd189c3c06f975cf9def12285fde3eb9b4234
  13. 0x0d86419ca1dd0b62fd8b22ea2e8c74d441312cec3116a467bea429b43e026565
  14. 0x083427e39db4dd470662401f6db5db8fadf084fc4274cf8621b368416952b78b
  15. 0x1a74ed3b3756b9cd946da49701bcec120ec88645013da99fa9eea60b39e1a570
  16. 0x123ec8bee20ddc55223eeef5a4f4d6c4b6416515adbb911c56759f5cde56e452
  17. 0xd0651cb9bc8155eb52b5247d506e74b8a935057dc190ba52091702ac25ed3a40
  18. 0x9a9024edb5069d88a324facb310a5ce8e495214bbaa968f077bede437390194f
  19. 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
Day root
0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
Chained
0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
Published
On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae

How to check it · This row as JSON