Chronograph — Human History According to AI
A machine-generated chronicle of 5,226 years of human civilization — every year generated, every file schema-valid, and now readable
The 5,226-year JSON corpus of recorded human history — every file passes the schema, 99.85% of its 17,991 events name a source — read through Chronograph: Notebook, Stratum, and Atlas views, with an EN→IS translation pipeline.
“History is written by the victors — but a structured knowledge corpus must account for everyone else.

The Challenge
Encyclopedic resources are written for human readers and resist programmatic querying. This project needed a format where uncertainty is mandatory rather than optional: every event must carry a confidence level, every year must declare its causal links, and every year must state which regions its sources do not cover — enforced by a validator that rejects a year without them. Building a 5,226-year corpus manually would take decades; doing it carelessly with AI would produce confident-sounding noise.
The Approach
Designed the ICCRA schema — a JSON format requiring source citations, confidence levels (confirmed, probable, approximate, traditional, legendary), causal relationships, and explicit geographic gap declarations for every year. Built a Python async daemon that calls Claude Sonnet 4.6 via the Anthropic API, validates output against the schema, tracks progress in an append-only ledger, and recovers from failures without data loss. Cost per year fell from about $0.22 to about $0.003 by moving off the Claude Code CLI onto direct API calls with batch processing, on the same model — the finished 5,226-year corpus cost $15.68.
Outcomes
What Is This?
Human History According to AI is an autonomous research daemon that generates a structured, machine-readable chronicle of human civilization — year by year, from 2025 CE back to approximately 3200 BCE. Each of the 5,226 years receives its own JSON file, populated by Claude Sonnet 4.6 through the Anthropic API.
This is not a narrative history. It is a knowledge corpus designed for graph databases, timelines, adversarial review, and further AI reasoning. All 17,991 events carry a declared confidence level, and 17,964 of them name a source — of the 27 that do not, 21 are duplicate entries cross-referencing an event that does, and six are correction notes or empty-year records. Disconfirming evidence is surfaced where it exists.
Why Build This?
Historical knowledge is abundant but unstructured. Existing resources — encyclopedias, academic papers, Wikipedia — are written for human readers: narrative, discursive, and difficult to query at scale. This project asks a different question: what does a structured, machine-readable substrate of human history look like?
The answer is the ICCRA schema — a JSON format that captures events, causal relationships, geographic coverage, confidence levels, and explicit declarations of what we don't know. The geographic gaps field is not an afterthought: it is a deliberate acknowledgment that the documentary record is not evenly distributed across the world's populations.
Architecture
The system is a Python async daemon that orchestrates API calls, tracks progress in an append-only ledger file, validates output against the ICCRA schema, and recovers gracefully from failures. A Next.js 16 frontend provides an interactive timeline visualization of the generated data.
Cost per year fell from about $0.22 to about $0.003 by migrating off the Claude Code CLI, whose system-prompt and tool overhead the daemon paid for on every call, onto direct Anthropic API calls with batch processing. Claude Sonnet 4.6 generated both phases — the saving came from how the calls were made, not from a cheaper model. The CLI-phase cost is logged in each year's own metadata; the finished 5,226-year corpus cost $15.68 in total.
Confidence Levels
All 17,991 events in the corpus carry one of five confidence levels:
- Confirmed: Primary sources, physical evidence, multiple independent attestations.
- Probable: Strong circumstantial or secondary evidence.
- Approximate: General scholarly consensus, imprecise dating.
- Traditional: Preserved in cultural memory but not independently verified.
- Legendary: Mythological or folkloric — included for completeness, clearly flagged.
This tiered system means the corpus can be queried by epistemic quality, not just by date or region.
Geographic Gaps
One of the schema's most important fields is the explicit declaration of geographic coverage gaps. For any given year, the daemon is required to state which regions and populations are under-documented — not because the history didn't happen, but because the surviving record doesn't capture it. This is an acknowledgment built into the structure of the data rather than hidden in caveats.
Chronograph — the reading room
Every year in the span has a file, which is not the same as history being complete: the daemon ran for 57.7 hours across 2026-04-10 to 04-13 and produced all 5,226 years without a single failed year, and all 5,226 files pass the ICCRA validator with zero errors. On top of it sits Chronograph, the editorial frontend, in three views: the Notebook folio for reading history year by year, the Stratum instrument view — a per-year dashboard of events, sources, and confidence — and the Atlas, an orthographic globe for the spatial record.
A second layer of scholarly evidence is being added era by era through deep-dives via the Scite research API — seven of the forty-three eras have been through it so far. In that pass, 130 papers were checked for retraction and correction notices; none were found, and the cross-agent audit turned up no fabricated citations. The Icelandic localization runs on a CI-integrated pipeline: a locked Icelandic system prompt, a six-guard correctness chain, and an idempotent SHA256 manifest so the GitHub Action only translates what changed. It has localized 19 of the 5,226 years; the backfill is paused.
The project is open-source. Contributions, schema critiques, and adversarial review of generated content are welcome.
From Sumarhús — updates to the timeline
29 July 2026
The era model was the constraint. An era used to be a slice of the linear chronological sweep, and an event belonged to at most one of them — which cannot express the questions the corpus should be able to answer. The Haitian Revolution belongs to the Age of Revolutions, the Age of Abolition and the modern sweep at the same time.
The registry now holds 43 eras instead of 22, in four kinds. The original chronological sweep stays as it was. Added to it: thematic lenses that cross geography (the Scientific Revolution, the Age of Revolutions, Decolonisation), crisis eras for rupture and suffering (the Transatlantic Slave Trade, the Black Death, the World Wars), and regional spheres deliberately outside the Western default (the West African Golden Age, Tang and Song China, the Classic Maya). They overlap each other by design. That is the point.
Seven of them carry a duty of care: they cover mass atrocity, enslavement or genocide. That is not a gate on publication — it is a requirement about research depth and visible provenance. Contested figures appear as ranges with named sources, victim counts never rest on a single source, and contested naming conventions are attributed to whoever uses them.
Two lanes that do not certify each other
Research angles and the evidence for them are now produced by different systems, so nothing both proposes a claim and supplies its own support. One model writes falsifiable claims per era, together with an audit of what the standard account distorts — and is barred from producing citations at all. A separate pass retrieves the actual peer-reviewed literature through Scite and returns a verdict.
The separation immediately paid for itself. On the first run the evidence pass overruled the angle pass three times: the claim of absolute African population decline between 1700 and 1850 was downgraded from supported to contested, because the offsetting term has never been estimated and so no net figure exists; Black Death mortality was corrected from a 40–60% band to the 30–60% the literature actually works with; and the claim that Classic Maya architecture encoded equinoctial observation was downgraded to contested, one specialist calling the idea "deeply rooted but unfounded".
Reading your way through 5,226 years
Two navigation changes. A scrubber now sits above the timeline: an event-density histogram across the whole record, all 43 eras plotted on the same axis and packed into lanes so their overlap is legible, and drag to select any span. And the scholarly eras moved out of a sideways-scrolling strip — fine at seven, unusable at forty-three — into a menu grouped by kind, with a filter box.
Twenty-one of the new eras are registered but not yet researched. They say so on their own pages, and they are marked as pending everywhere they appear. An empty shelf with a label on it is more honest than no shelf.
Technology Stack
Resources
Lessons Learned
- AI-generated historical content requires explicit confidence signaling built into the data schema. Without declared uncertainty levels, outputs read as authoritative when they should not be.
- Geographic coverage gaps are a feature, not a bug. Making them a required schema field forces honest accounting of what the documentary record does and does not capture.
- An append-only ledger is the right pattern for long-running AI generation jobs — it makes the process resumable, auditable, and cost-predictable without complex state management.
- Going from the Claude Code CLI to direct API calls with batch processing took cost per year from about $0.22 to about $0.003 — the difference between a run that would have cost roughly $1,150 and one that cost $15.68. Infrastructure choices decide research scope.
- Reverse chronological processing is the right order — start with the years where you can verify quality before committing to the ancient record where verification is harder.
Related Projects
View all projects →
Scite — Webinar
Policy · Infrastructure · the irreducible human — held together. Pull one and the whole stops holding.

Beyond Fragmentation
Why AI governance fails by design — and why the harms this thesis documents result from institutional choices rather than technological inevitability.