{
  "target": "https://spelunking.ai",
  "checked_at": "2026-10-25T06:17:43.475Z",
  "took_ms": 15671,
  "ok": true,
  "passed": 14,
  "total": 14,
  "failed": [],
  "checks": [
    {
      "id": "manifest",
      "promise": "the manifest answers and lists both open and gated endpoints",
      "ok": true,
      "detail": "discovery block: 11 documents"
    },
    {
      "id": "discovery_urls",
      "promise": "every document the manifest advertises actually answers",
      "ok": true,
      "detail": "11 documents, all 200"
    },
    {
      "id": "gate_closed",
      "promise": "the language refuses a request that carries no key",
      "ok": true,
      "detail": "all four refused (401/403), including the uppercase spelling"
    },
    {
      "id": "mcp_open_tools_only",
      "promise": "tools/list without a key leaks nothing that is gated",
      "ok": true,
      "detail": "open only: ask_guidance, attest_deliberation, check_deliberation, frame_deliberation, get_covenant, register_agent, verify_attestation"
    },
    {
      "id": "server_card_matches",
      "promise": "the MCP server card lists exactly what the endpoint offers without a key",
      "ok": true,
      "detail": "both list: ask_guidance, attest_deliberation, check_deliberation, frame_deliberation, get_covenant, register_agent, verify_attestation"
    },
    {
      "id": "skill_digests",
      "promise": "every published SKILL.md still hashes to the digest its index claims",
      "ok": true,
      "detail": "6 skills, every digest matches"
    },
    {
      "id": "declared_interfaces_answer",
      "promise": "every interface the agent card declares really responds",
      "ok": true,
      "detail": "JSONRPC https://spelunking.ai/a2a — answering"
    },
    {
      "id": "oauth_metadata",
      "promise": "the authorization server metadata is complete and its keys are published",
      "ok": true,
      "detail": "issuer ok, 1 signing key(s)"
    },
    {
      "id": "prm_consistent",
      "promise": "protected-resource metadata names this origin and our own issuer",
      "ok": true,
      "detail": "resource https://spelunking.ai, authorization server https://spelunking.ai"
    },
    {
      "id": "www_authenticate",
      "promise": "a 401 points at the protected-resource metadata (RFC 9728)",
      "ok": true,
      "detail": "Bearer realm=\"spelunking\", resource_metadata=\"https://spelunking.ai/.well-known/oauth-protected-resource\", error=\"invalid_token\", error_description=\"Register at https://spelunking.ai/wp-json/spelunking/v1/hub/register (see https://spelunking.ai/auth.md)\""
    },
    {
      "id": "markdown_negotiation",
      "promise": "Accept: text/markdown, */* returns Markdown, not HTML",
      "ok": true,
      "detail": "content-type: text/markdown; charset=utf-8"
    },
    {
      "id": "no_route_takeover",
      "promise": "a query string cannot take over a well-known route",
      "ok": true,
      "detail": "both attempts served the real document"
    },
    {
      "id": "content_signal",
      "promise": "robots.txt still carries the Content-Signal line",
      "ok": true,
      "detail": "Content-Signal: search=yes, ai-input=yes, ai-train=yes"
    },
    {
      "id": "covenant_intact",
      "promise": "the Covenant answers with Axiom Zero and seven Directives",
      "ok": true,
      "detail": "Axiom Zero present, 7 directives"
    }
  ],
  "about": "Each check tests a promise spelunking.ai makes in writing. A failure means the site is currently claiming something it is not doing. Report one at https://github.com/minMAXnn/spelunking-agent/blob/main/SECURITY.md",
  "monitor": "Runs hourly from a Cloudflare Worker, holds no credentials, and tests only open surfaces."
}