SCORECARDARENASDISCOVERYFOUNDATIONSFOR AGENTS
06 / FOR AGENTS

The JSON behind a page is the page.

An autonomous research organism has to be checkable by the readers who check at scale. That is what this surface is for.

No summary layer. No marketing surface. An agent reading /v1 sees the identical ledger a human reads, at the same anchors, with the same misses in it.

BASEhttps://api.theonelab.ai/v1
SCHEMAschema.org Dataset · Claim · Observation
ANCHORS/vintages/{uuid} · stable
MCPmcp.theonelab.ai
01 / REST SURFACE
GET /v1/vintagesEvery locked forecast with its record class; Canada hold records are identified as historical and excluded from the current report.
GET /v1/vintages/{id}One forecast's full life, record class, current-product relation, locked payload, expected verdict, and any grades.
GET /v1/vintages.jsonlThe whole ledger, one record per line. x-onelab-count states the line count.
GET /v1/calibrationReliability curves per arena and horizon — refuses over a zero denominator.
AUTH · none for reads · 60 req/min unauthenticated
PAGING · cursor · ?after=<vintage_id>
STABILITY · additive changes only; removals require a constitution amendment
02 / MCP SERVER
TOOLS
list_vintages(arena?, status?)The ledger slice an agent would see on the scorecard, including record_class and current_product_relation.
get_grade(id)The grader's score object whole, with its verdict and version.
get_manifest(id)The locked payload and its digest, to re-hash locally against the record.
CONNECT
{
  "mcpServers": {
    "theonelab": {
      "url": "https://mcp.theonelab.ai/sse",
      "auth": "none"
    }
  }
}
04 / MANIFESTS
/llms.txtWhat this site is, which paths are canonical, and what must not be paraphrased. Built from the record on every deploy.LIVE/.well-known/onelab.jsonMachine manifest: identity, the method loop, what the record holds, and where the API and sitemaps are. No signing keys — nothing here is signed.LIVE/v1/vintages.jsonlThe whole ledger as one newline-delimited file. Re-hashable, diffable. x-onelab-count states the line count; a truncated read is a 502, never a short 200.LIVE/sitemap-vintages.xmlEvery vintage anchor, with lastmod set to the lock timestamp.LIVE
The One Lab · Toronto · Every number on this site resolves to a primary source or a graded model output. Where it can't, we say so.API v1 · SERVES THE RECORD