{
 "census_days": 2,
 "endpoints_tracked": 40031,
 "receipts": 0,
 "distinct_issuers": 0,
 "log": {
  "entries": 3,
  "last_seq": 3,
  "head_hash": "2683bf11ad408f7e5fda8412ae2be66fbfdf6a2e00f11d275a02ecdd6b9178bd",
  "last_time": "2026-11-08T10:07:08Z",
  "key": {
   "key_id": "ar-deead467c0de",
   "algorithm": "ed25519",
   "public_key_base64": "gYq+cuwy5ezAzpoK5oHl5yLIm9lpTnAwyf8pvSzMG9I=",
   "signs": "the entry_hash (hex string, UTF-8 bytes) of every log entry",
   "entry_hash": "sha256 of the canonical JSON of the entry without entry_hash and signature (sorted keys, separators , and :, UTF-8)"
  }
 },
 "last_self_test": {
  "time": "2026-11-08T12:40:01Z",
  "audit": {
   "entries": 3,
   "ok": true,
   "problems": []
  },
  "planted_probe_cases": [
   {
    "case": "good mcp",
    "want": "working",
    "got": "working",
    "ok": true
   },
   {
    "case": "good mcp over event-stream",
    "want": "working",
    "got": "working",
    "ok": true
   },
   {
    "case": "mcp with no tools",
    "want": "protocol_only",
    "got": "protocol_only",
    "ok": true
   },
   {
    "case": "dead host",
    "want": "down",
    "got": "down",
    "ok": true
   },
   {
    "case": "login wall",
    "want": "auth_required",
    "got": "auth_required",
    "ok": true
   },
   {
    "case": "not found",
    "want": "gone",
    "got": "gone",
    "ok": true
   },
   {
    "case": "server error",
    "want": "error",
    "got": "error",
    "ok": true
   },
   {
    "case": "html page, not mcp",
    "want": "alive_not_mcp",
    "got": "alive_not_mcp",
    "ok": true
   },
   {
    "case": "loopback address",
    "want": "blocked",
    "got": "blocked",
    "ok": true
   },
   {
    "case": "private address",
    "want": "blocked",
    "got": "blocked",
    "ok": true
   },
   {
    "case": "odd port",
    "want": "blocked",
    "got": "blocked",
    "ok": true
   },
   {
    "case": "templated url",
    "want": "blocked",
    "got": "blocked",
    "ok": true
   },
   {
    "case": "good agent card",
    "want": "working",
    "got": "working",
    "ok": true
   },
   {
    "case": "bad agent card",
    "want": "alive_not_mcp",
    "got": "alive_not_mcp",
    "ok": true
   }
  ],
  "planted_receipt_cases": [
   {
    "case": "valid receipt",
    "want": 200,
    "got": 200,
    "ok": true
   },
   {
    "case": "replayed receipt",
    "want": 409,
    "got": 409,
    "ok": true
   },
   {
    "case": "tampered after signing",
    "want": 422,
    "got": 422,
    "ok": true
   },
   {
    "case": "future time",
    "want": 422,
    "got": 422,
    "ok": true
   },
   {
    "case": "self-issued",
    "want": 422,
    "got": 422,
    "ok": true
   },
   {
    "case": "bad outcome",
    "want": 400,
    "got": 400,
    "ok": true
   },
   {
    "case": "short nonce",
    "want": 400,
    "got": 400,
    "ok": true
   },
   {
    "case": "chain audit after receipts",
    "want": true,
    "got": true,
    "ok": true
   },
   {
    "case": "record counts the valid one",
    "want": 1,
    "got": 1,
    "ok": true
   }
  ],
  "wrong": [],
  "registry_drift": {
   "ok": false,
   "flags": [
    "registry fetch was partial: FetchError after 536 pages"
   ],
   "today": 35205,
   "previous": 39717
  },
  "unclassified_failure_notes": [
   {
    "note": "HTTP 402",
    "n": 387
   },
   {
    "note": "HTTP 503 server error",
    "n": 180
   },
   {
    "note": "HTTP 400, not an MCP endpoint at this address",
    "n": 124
   },
   {
    "note": "HTTP 200 but the reply is not an MCP initialize result",
    "n": 111
   },
   {
    "note": "HTTP 502 server error",
    "n": 98
   },
   {
    "note": "HTTP 500 server error",
    "n": 96
   },
   {
    "note": "HTTP 421, not an MCP endpoint at this address",
    "n": 91
   },
   {
    "note": "HTTP 530 server error",
    "n": 76
   },
   {
    "note": "HTTP 405, not an MCP endpoint at this address",
    "n": 66
   },
   {
    "note": "HTTP 502",
    "n": 21
   },
   {
    "note": "HTTP 200 but no SSE endpoint event",
    "n": 19
   },
   {
    "note": "HTTP 405",
    "n": 14
   },
   {
    "note": "HTTP 202 but the reply is not an MCP initialize result",
    "n": 12
   },
   {
    "note": "HTTP 525 server error",
    "n": 10
   },
   {
    "note": "HTTP 400",
    "n": 9
   }
  ],
  "ok": false
 },
 "method": "Each day the improvement loop (1) walks the whole public log and re-checks every hash, link and signature, (2) runs planted endpoints through the prober (a good MCP server, a dead one, a slow one, a login wall, a non-MCP page, a bad agent card) and records any the prober got wrong, (3) compares the registry feed with yesterday's and flags a drop. What the prober cannot judge yet is listed as candidate checks.",
 "candidate_checks": [
  {
   "what": "HTTP 402 (x387)",
   "n": 2
  },
  {
   "what": "HTTP 503 server error (x199)",
   "n": 1
  },
  {
   "what": "HTTP 429, not an MCP endpoint at this address (x193)",
   "n": 1
  },
  {
   "what": "HTTP 502 server error (x188)",
   "n": 1
  },
  {
   "what": "HTTP 400, not an MCP endpoint at this address (x132)",
   "n": 1
  },
  {
   "what": "HTTP 200 but the reply is not an MCP initialize result (x130)",
   "n": 1
  },
  {
   "what": "HTTP 402, not an MCP endpoint at this address (x125)",
   "n": 1
  },
  {
   "what": "HTTP 500 server error (x106)",
   "n": 1
  },
  {
   "what": "HTTP 421, not an MCP endpoint at this address (x102)",
   "n": 1
  },
  {
   "what": "HTTP 530 server error (x95)",
   "n": 1
  },
  {
   "what": "HTTP 405, not an MCP endpoint at this address (x73)",
   "n": 1
  },
  {
   "what": "HTTP 200 but no SSE endpoint event (x21)",
   "n": 1
  },
  {
   "what": "HTTP 502 (x20)",
   "n": 1
  },
  {
   "what": "HTTP 405 (x16)",
   "n": 1
  },
  {
   "what": "HTTP 525 server error (x13)",
   "n": 1
  },
  {
   "what": "lookup miss",
   "n": 1
  },
  {
   "what": "HTTP 503 server error (x180)",
   "n": 1
  },
  {
   "what": "HTTP 400, not an MCP endpoint at this address (x124)",
   "n": 1
  },
  {
   "what": "HTTP 200 but the reply is not an MCP initialize result (x111)",
   "n": 1
  },
  {
   "what": "HTTP 502 server error (x98)",
   "n": 1
  }
 ]
}