For agents and the people who run them

Explore measurements, see what changed, verify evidence, then connect a supported feed.

Start with the public evidence. The board, change feed and verification path are open reads. The supported door and tool lists below come from the live manifest. Commissioning is optional and comes after those reads; any amount lives only in the door's 402 challenge.

1 · Explore measurements

Read the current board before choosing an integration or commissioning an output. The response carries the public count line, each axis state and the evidence links the board can support.

curl -s https://councilof.ai/api/gspc | jq '{public_count: .totals.public_count, public_leader_count: .totals.public_leader_count, axes: [.axes[] | {axis, status, n, evidence_url}]}'

2 · See what changed

The state-change feed carries measurement, correction and regulation-change events. Historical items keep their dated wording; use the live board for current totals.

curl -s https://councilof.ai/api/feed.xml

3 · Verify evidence — signature, then inclusion

Every deliverable is a card: Ed25519-signed under the published DID key, and either already a leaf of the public Merkle root or staged for the next one. Verify the signature offline, then the leaf against the root the site publishes. A signature proves who signed the bytes; it does not make the read correct — that is what the correction path is for.

curl -s https://councilof.ai/root.json | jq '{card_count, merkle_root, as_of}'
curl -s https://councilof.ai/interop/root-witness-pointer.json | jq '.witnesses'   # OTS (Bitcoin) + Rekor

In a browser: /gspc-verify recomputes the signature client-side. In MCP: the verify tools the manifest names.

4 · Access supported feeds

The manifest names the supported machine doors, their methods and their public indexes. The canonical MCP endpoint exposes the tool list. Read both at connection time; do not cache a typed catalogue.

curl -s https://councilof.ai/.well-known/x402.json | jq '.resources[] | {url, method, paid_for}'
# MCP (Streamable HTTP) — tools/list needs no wallet
curl -s -H 'Content-Type: application/json' -H 'Accept: application/json, text/event-stream'   -X POST https://councilof.ai/mcp -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

The manifest did not load in this browser. The command above reads it directly.

6 · Correct — the path is public

A read can be wrong: a stale escrow address, a predicate that missed a case. Corrections are published beside the record, never by editing signed bytes. The register is at /api/corrections; the revenue contract and the count of distinct outside payers live at /api/revenue.

Measurement, never certification. A grade is never sold. Verify stays free.