Television listings, the stations you can physically receive where you're standing, and an honest timestamp on every claim. Built for people and for the assistant sitting next to them.
Terrain between each transmitter and that exact point is computed from the USGS 10 m elevation model. The grade ranks path geometry — it is not a promise that a picture appears. First lookup for a new location takes a few seconds; after that it is cached.
Every record carries the moment it was observed and the moment it stops being claimable. Nothing is overwritten — when a schedule changes, a new record is written pointing at the one it replaced, so you can ask when something stopped being true.
19 changes recorded · collecting since 2026-09-11 04:47:50
What we don't have
| pillar | what it means | where it is, here |
|---|---|---|
| Origin | who created it and when | Every record carries its source, the moment we observed it, and the run that produced it — plus an Ed25519 signature over the claim. check one |
| Reliability | proof it hasn't been tampered with | Tampering breaks the signature. Nothing is ever overwritten: a change inserts a new record pointing at the one it replaced. |
| Ownership | who created it and owns it | The signing key is the claim. Source data here is public domain and Rootz owns none of it — but the terrain paths are our own work. |
| Access | who can use it | Not enforced. This tier is deliberately open and unmetered; access control belongs to the signed-publisher tier, not to this. |
The public key and the exact canonicalisation are published at
/.well-known/dtv-intel-signing.json,
so you can verify a record offline without calling us at all —
verify.py in the repo is an independent implementation that does
exactly that. A signature proves a record is unchanged since we signed it. It does
not prove the underlying schedule was correct: a faithfully observed wrong
schedule is still signed.
Everything above is an API call. Point any agent at it — no key, no account, discovery is never metered.
POST /mcp | MCP over JSON-RPC 2.0 — seven tools, every one accepts free text |
/.well-known/ai | machine-readable description of this service |
/llms.txt | plain-text orientation |
/api/receivable?lat=&lon= | transmitters reaching a point, terrain-graded |
/api/whats-on | programmes airing now, each with its expiry |
/api/still-true?q= | is a remembered claim still current |
/api/freshness | how stale we are, including where we're weak |
/api/verify?airing_id= | check a signature — or POST a record you cached |
/.well-known/dtv-intel-signing.json | public key + exact canonicalisation, for offline verification |
A Rootz dataset. Sources and licences at /api/sources.