The Watch · Structured Data
The record, as data.
Everything this site asserts is downloadable — the graph, the timeline, the corrections — in the same shape the site itself renders from. Take it, check it, build on it. If you find an error in it, the reporting line is on the About page and the fix will land here first.
The full public knowledge graph: 776 nodes and 1467 edges — every person, organization, claim, event, and document, each with its verification tier and sources. Actor nodes map to dossier pages via the routes table.
curl -s https://projectjupiter.watch/graph.json | python3 -c "import json,sys; d=json.load(sys.stdin); print(d['counts'])"
All 81 dated entries with sources, tiers, and each entry’s “why this matters” — plus the interpretive clusters, the proximity runs, the margin notes, and the full Friction Ledger.
curl -s https://projectjupiter.watch/timeline.json | python3 -c "import json,sys; [print(e['display'],'·',e['head']) for e in json.load(sys.stdin)['data']['entries'][:5]]"
The 10 public corrections, newest first, each with a stable anchor id — what the site said, what is correct, and how the error was caught.
curl -s https://projectjupiter.watch/corrections.json | python3 -m json.tool | head -40
How to read the tiers
Every claim, node, and timeline entry carries a verification tier. The ladder, canonically:
| tier | meaning |
|---|---|
| primary-source | Read off the primary document itself |
| confirmed | Two independent accounts agree |
| caveated | True with a stated limit on it |
| contested | Disputed by a named party; both positions carried |
| corrected | Was published wrong; the correction is logged at /corrections |
A tier the data will never contain: to-verify. Entries at that tier are withheld from publication entirely rather than shipped with a caveat.
Field reference
| endpoint | field | notes |
|---|---|---|
| graph.json | nodes[] | id, type, label always; verification, summary, sources, tags, role_line, date, quote, status as available. sources entries are label · url · kind. |
| graph.json | edges[] | source · target · type — node ids on both ends; type is a relationship verb. |
| timeline.json | entries[] | id doubles as the page anchor (/timeline#id). node and actors reference graph node ids. ledger marks Friction Ledger membership. |
| timeline.json | proximity_runs[] | Entries close together in time. The phrase states the closeness — deliberately nothing else. |
| corrections.json | corrections[] | id is permanent — cite /corrections#id. said, now, how: what was published, what is correct, how it was caught. |
Terms
License: Creative Commons Attribution 4.0 (CC BY 4.0). Reuse, republish, and build on this data — with attribution.
Cite as: “the Project Jupiter Watch, projectjupiter.watch”
The data reflects the record at build time and changes as the record does — corrections land here as fast as they land on the site. Anyone named holds a standing right of reply. If you republish something this record later corrects, the corrections log is how you find out.