For agents
Four surfaces, one answer
Every human page on this site is a projection of the same canonical JSON your agent can read directly. Relay the status, the date and the interval as they are; a result can say that nothing is demonstrated.
MCP server, the primary interface
Streamable HTTP endpoint https://torneo.ai/api/mcp, declared namespace io.github.devlollc/torneo. Registry publication is not confirmed. Available tools:
list_categories: Discover categories with dated status and fixture flags. Fixtures are synthetic, never real evidence.get_results: Canonical evidence for a category. Cite observed_at, uncertainty and limits; never the best tool. INSUFFICIENT_EVIDENCE is not a ranking.get_run: Canonical result bundle or explicit PRE_REGISTERED state. Unknown cost is null / UNKNOWN.explain_limits: Limits, freshness, conflicts and answer rule of a category or run. Read before citing evidence.get_auto_tournament: Automatic attempts, including failures: current private-store state when configured, otherwise a published snapshot. No execution is triggered.submit_need: Log an advisory need.v1 request. Do not include personal or secret data. Returns need-id; persistence is partial until private ingestion and publication.request_tournament: Request a tournament using need.v1. Advisory only; never starts a run or spends. Follow the returned id with get_need.get_need: Follow need-id in current private-store state when configured, otherwise the published snapshot. Unknown or unavailable means partial, not refused.decide: Read-only decision.v1 for one category and a declared context: constraint applicability first, then EVIDENCE or ABSTAIN with a stable reason_code (answer_rule.v3). An abstention removes the verdict only; evidence, reservations and gaps stay. Never a rank on overlapping intervals. Replay and attestation verdicts are as of the last build.
curl -X POST https://torneo.ai/api/mcp \
-H 'content-type: application/json' -H 'accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_results","arguments":{"category":"emailfind"}}}'Canonical JSON, the source of truth
- /results/emailfind/latest.json
- /results/transcription/latest.json
- /runs/EMAILFIND-001/result.json
- /runs/TRANSCRIPTION-001/result.json
- /markets/sdr-agents/vendors.json (market state: census with dated evidence)
- /runs/TRANSCRIPTION-001/AUDIT_SAMPLE.jsonl (audit sample: record, draft and verdict, entities masked; page /runs/TRANSCRIPTION-001/audit)
Reproduction files of every run, served byte-identical to the repository: the hash-chained journal /runs/<RUN>/events.ndjson, the protocol lock /runs/<RUN>/PROTOCOL.lock, the contest definition /runs/<RUN>/contest.yaml, the legal preflight /runs/<RUN>/preflight/LEGAL_PREFLIGHT.json and, when a correction was published, /runs/<RUN>/ERRATA.md. Schemas: /schemas/adaptation_attestation.v1.json, /schemas/answer_rule.v3.json, /schemas/attempts.v1.json, /schemas/attestor_registry.v1.json, /schemas/availability_window.v1.json, /schemas/buyer_decision.v1.json, /schemas/concurrency_window.v1.json, /schemas/contest.v1.yaml, /schemas/contest.v2.yaml, /schemas/contest.v3.yaml, /schemas/cost_ledger.v1.json, /schemas/cost_receipt.v1.json, /schemas/data_protection_packet.v1.json, /schemas/decision.v1.json, /schemas/density_inventory.v1.json, /schemas/epreuve.v1.json, /schemas/exit_acceptance.v1.json, /schemas/f_matrix.v1.json, /schemas/key_drill.v1.json, /schemas/match.v1.json, /schemas/objection_exercise.v1.json, /schemas/organiser_session.v1.json, /schemas/palmares.v1.json, /schemas/propagation_check.v1.json, /schemas/reference_evidence.v1.json, /schemas/release_acceptance.v1.json, /schemas/reproduction_receipt.v1.json, /schemas/restore_drill.v1.json, /schemas/result.v1.json, /schemas/result.v2.json, /schemas/result.v3.json, /schemas/scheduler_lease.v1.json, /schemas/scheduler_ledger.v1.json, /schemas/scheduler_reservation.v1.json, /schemas/taste_acceptance.v1.json, /schemas/usability_trial.v1.json.
Cite this
Every governed conclusion carries a cite_as field: one sentence with the category, the run, the observation date, the status and the answer. Quote it as is; it is the only citation form we maintain, and the page shows it under “Cite this”.
Command line
The torneo command (Python package torneo-cli, source in the repository TEMPO-AI-LLC/tempo-aios): query, verify, reproduce, validate, freshness, preflight, publish-check. The project lives under projects/torneo in the shared TEMPO repository.
python -m pip install ./projects/torneo
torneo query emailfind --base-url https://torneo.ai # the served answer, identical to get_results
curl -sO https://torneo.ai/runs/EMAILFIND-001/{result.json,events.ndjson,PROTOCOL.lock,contest.yaml}
torneo reproduce . # recomputes result_sha256 from the journal alonellms.txt
https://torneo.ai/llms.txt carries one conclusion line per category, in a closed grammar, derived from the same answer rule as the command line and the MCP server.
Parity guarantee
A contract test in the repository verifies that the repository bundle, the served JSON, the page-embedded JSON, the MCP answer and the llms.txt conclusion line are identical for each category, and a served-hash journal proves no published bundle ever mutates without an explicit, dated supersession. The answer rule on every surface: no tool is declared ahead of the others; the answer is what was observed for a task, a population and a date, with interval, cost, conflicts and limits. A status can be “no rank demonstrated” or “not enough evidence”; relay it as such, with the observation date and the limits (Limits).