{
 "version": 1,
 "promise": "No paid ranking, ever. Payment (when switched on) only raises how many lookups a caller gets per day. It cannot change a record, an order or a label. Operators of listed tools get no special treatment, including LLPRO's own tools, which are probed and scored the same way and marked 'operator_affiliated'.",
 "census": {
  "anchor": "census",
  "sources": "Every latest, active server in the official MCP Registry that lists a remote endpoint, plus endpoints any agent nominates (POST /v1/nominate). Package-only servers are counted but cannot be probed.",
  "per_endpoint": "Once a day: MCP initialize, then tools/list (or, for an A2A address, fetch the agent card). Read-only. No tool is ever called. No credentials are sent. One request in flight per host.",
  "levels": {
   "0": "no answer",
   "1": "answers HTTP or needs credentials",
   "2": "speaks the protocol",
   "3": "lists at least one tool (working)"
  },
  "limits": "Level 3 means the endpoint advertises what the registry says it is. It does not prove the tool's answers are right; that is what receipts are for. Endpoints behind a login show as auth_required and are not verified further.",
  "seal": "Each day's census is sealed as an entry in the signed public log (/v1/log) with a hash of every endpoint's result."
 },
 "receipts": {
  "who_may_submit": "Anyone. Receipts are signed by the issuer with ed25519; the key is carried in the receipt. We check the signature, not the person.",
  "format": {
   "v": 1,
   "issuer": {
    "public_key": "base64 ed25519 public key",
    "name": "optional label"
   },
   "subject": {
    "id": "agent id, tool name or endpoint URL",
    "public_key": "optional base64 key of the subject"
   },
   "outcome": "delivered | partial | failed | disputed",
   "task": {
    "kind": "short text",
    "ref": "optional"
   },
   "time": "epoch seconds",
   "nonce": "unique per issuer",
   "evidence_sha256": "optional hex hash of the work product",
   "signature": "base64 ed25519 over canonical JSON of all other fields"
  },
  "canonical_json": "sorted keys, separators , and :, UTF-8, signature field removed",
  "rejected": [
   "bad signature",
   "time more than 10 minutes in the future or older than 400 days",
   "repeat nonce from the same issuer",
   "issuer and subject are the same (self-issued)",
   "outcome not in the list"
  ],
  "adapters": {
   "countersign_stamp": "A Countersign stamp (verified against Countersign's published key) is converted: pass -> delivered, fail -> failed; inconclusive carries no signal and is refused."
  }
 },
 "record": {
  "window": "last 90 days",
  "counting": "At most 20 of the most recent receipts per (issuer, subject) pair count, so one issuer cannot swamp a record. delivered = 1, partial = 0.5, failed = 0. disputed receipts are shown but not counted in the rate.",
  "numbers": "delivered_rate = counted successes / counted receipts. rate_low is the 95% Wilson lower bound, the number to compare when counts differ. We publish no single score across subjects.",
  "issuer_labels": "Issuers whose key we have verified from the issuer's own published key page are labelled known:<name>. All others are unverified. Anyone can mint keys, so a record made only of unverified issuers is weak; confidence says so.",
  "confidence": {
   "none": "fewer than 3 counted receipts",
   "low": "3 to 9 counted receipts, or all from one issuer",
   "moderate": "10 or more counted receipts from 2 or more issuers",
   "good": "30 or more counted receipts from 3 or more distinct issuers, at least 1 known"
  }
 },
 "search_order": "Text match on name, title, description and URL (more matching words first); then census status (working before protocol_only before auth_required before the rest); then 30-day working share; then name. Nothing else. No payment, no sponsorship, no operator input.",
 "corrections": "A listed operator can fix an endpoint and it will pass tomorrow. A wrong census result can be reported by nominating the URL again with a note; the next daily run re-tests it.",
 "payments": {
  "enabled": false,
  "note": "Hooks exist and are off. Nothing is charged."
 }
}