# Sinusoidal History

> Ten historical cycle theories overlaid on one shared time axis (1600–2050), nine of them paired with a real long-run empirical data series. A comparison tool — not prophecy.

The site is at https://sinusoidalhistory.com. Source code is at https://github.com/u00dxk2/sinusoidal-history. Built by David Kooi at Skylark Creations, April 2026, after a phone-call conversation with Mark R about whether you could plot Khaldun, Kondratiev, Huntington, Perez, Turchin, Dalio, and Strauss-Howe as actual sine waves on one axis and see where they net out. Schlesinger Jr.'s ~30-year liberal/conservative cycle was added in a second pass, also at Mark's suggestion.

The ten cycles, by ascending period: Schlesinger Jr. (30y), Turchin fathers-and-sons (50y), Kondratiev (54y), Perez (55y), Huntington (60y), Dalio (75y), Strauss-Howe (84y), Modelski (110y), Khaldun (120y), Turchin secular (150y). Nine of ten are paired with a real long-run data series; Turchin's fathers-and-sons cycle has no paired data this round. Modelski and Turchin fathers-and-sons were added August 2026 after a two-engine research census; /cycles also carries a published "considered and excluded" list (Goldstein, Arrighi, Sornette, Toynbee/Spengler, Namenwirth/Weber, Forrester, Berry) with the reasons.

Headline editorial point: most of the cycles peak near the present, but that is a *selection effect*, not convergence — theorists writing today anchor their forecasts to the world they live in, and we read them precisely because their climaxes land in our era. The site says this on the home page, on /about, and on /colophon.

## Pages

- [Home](https://sinusoidalhistory.com/): The interactive overlay chart with ten cycle facets, a calibration drawer, and a time-range brush. Hero: "Ten cycles, one axis."
- [Cycles index](https://sinusoidalhistory.com/cycles): All ten cycles by ascending period, each linking to its own page, plus the published "considered and excluded" list with reasons and citations.
- [Methods](https://sinusoidalhistory.com/methods): Data provenance, transformations, normalization choices, why Pearson r is a diagnostic and not a test statistic, and the pre-registered spectral-testing protocol (harmonic regression at the exact stated period vs an AR(1)/AR(2) red-noise null, 3.0-period eligibility gate, four verdict states). Per-series source citations and license terms.
- [About](https://sinusoidalhistory.com/about): The argument. Why this exists, why every cycle peaks near now, the ten cycles in this version, the intellectual-honesty disclaimer.
- [Colophon](https://sinusoidalhistory.com/colophon): A note from the maker. How the site was built, what was AI, what was human, the AI-collaboration framing, the convergence problem.
- [State of the Cycles 2026](https://sinusoidalhistory.com/state/2026): The annual reading — a deterministic headline verdict (peaking count + above-midline count), where each construction sits in 2026 (cos value + phase label), and the next peak/trough each one implies, all derived from period + reference peak. A dated permalink with a suggested-citation block and a frozen edition CSV ([/data/state-2026.csv](https://sinusoidalhistory.com/data/state-2026.csv), never recomputed); later years appear at /state/<year> as the clock advances.
- [Poster](https://sinusoidalhistory.com/poster): A dedicated print-style broadside meant for screenshotting and sharing. Includes a PNG download.
- [Embed docs](https://sinusoidalhistory.com/embed/docs): How to iframe specific cycle facets in a Substack or other host page.

## Per-cycle pages

One static page per cycle. Each carries the theory's period, reference peak year, the full `reference_peak_rationale` (why that peak year was chosen and what it concedes), the confidence classification, the caveat where one exists, the peak/trough years the sinusoid actually plots across 1600–2050, the paired data series with source/license/provenance links, and the source citation. Since August 2026 each paired cycle also carries its spectral verdict: a pre-registered statistical test of whether the paired series contains significant power at the stated period (all nine pairings currently read INSUFFICIENT_DATA — every record is shorter than the 3.0-full-periods eligibility gate), with a figure and machine-readable JSON. These are the canonical per-theory pages; the same prose is in `cycles.json`.

- [/cycles/schlesinger-jr](https://sinusoidalhistory.com/cycles/schlesinger-jr) — Schlesinger Jr., liberal/conservative cycle. Period 30y, reference peak 1970. Narrative. Paired data: Stimson Policy Mood.
- [/cycles/kondratiev](https://sinusoidalhistory.com/cycles/kondratiev) — Kondratiev wave. Period 54y, reference peak 1973. Empirical · contested. Paired data: US TFP growth (5-yr rolling).
- [/cycles/perez](https://sinusoidalhistory.com/cycles/perez) — Carlota Perez, techno-economic paradigm. Period 55y, reference peak 2000 (her financial-frenzy peak / end of Installation). Empirical · contested. Paired data: site-derived US technology-diffusion composite from HATCH (experimental).
- [/cycles/huntington](https://sinusoidalhistory.com/cycles/huntington) — Huntington, creedal passion. Period 60y, reference peak 1968. Narrative. Paired data: DW-NOMINATE House polarization.
- [/cycles/dalio](https://sinusoidalhistory.com/cycles/dalio) — Ray Dalio, Big Cycle. Period 75y, reference peak 1950. Narrative. Paired data: US share of world GDP.
- [/cycles/strauss-howe](https://sinusoidalhistory.com/cycles/strauss-howe) — Strauss-Howe, saeculum. Period 84y, reference peak 1955. Narrative, carries a caveat. Paired data: V-Dem liberal-democracy index.
- [/cycles/khaldun](https://sinusoidalhistory.com/cycles/khaldun) — Ibn Khaldun, dynastic cycle. Period 120y, reference peak 1789. Narrative. Paired data: deaths in conventional wars (Project Mars, log).
- [/cycles/turchin](https://sinusoidalhistory.com/cycles/turchin) — Peter Turchin, secular cycles. Period 150y, reference peak 2020. Quantitative. Paired data: US top-1% wealth share.
- [/cycles/modelski](https://sinusoidalhistory.com/cycles/modelski) — George Modelski, long cycle of world leadership. Period 110y (plotted midpoint of his stated 100–120), reference peak 1945. Empirical · contested, carries a caveat. Paired data: leading economy's share of world GDP.
- [/cycles/turchin-fathers-sons](https://sinusoidalhistory.com/cycles/turchin-fathers-sons) — Peter Turchin, fathers-and-sons (bi-generation) cycle. Period 50y, reference peak 1970. Quantitative, carries a caveat. No paired data series this round.

## Plain-markdown content (LLM-friendly)

These are the prose pages above, served as raw markdown with permissive CORS so agents and notebooks can fetch them directly.

- [/about.md](https://sinusoidalhistory.com/about.md): The argument and disclaimer, in markdown.
- [/methods.md](https://sinusoidalhistory.com/methods.md): Provenance and methodology, in markdown.
- [/colophon.md](https://sinusoidalhistory.com/colophon.md): Note from the maker, in markdown.

## Data files

Each cycle and data series is fully described in the canonical JSON files. CSV data is fetchable cross-origin (CORS `*`). Per-file provenance is in companion `.source.md` files.

- [cycles.json](https://github.com/u00dxk2/sinusoidal-history/blob/main/src/data/cycles.json) (in repo): All ten cycles with period, peak year, source citation, peak rationale, and confidence-level classification. Also served live at [/api/v1/cycles](https://sinusoidalhistory.com/api/v1/cycles).
- [series.json](https://github.com/u00dxk2/sinusoidal-history/blob/main/src/data/series.json) (in repo): All nine data series with source, URL, license, coverage, and association notes. Also served live at [/api/v1/series](https://sinusoidalhistory.com/api/v1/series).

## API (JSON, CORS-open)

Three GET endpoints, no auth, `Access-Control-Allow-Origin: *`:

- [/api/v1/cycles](https://sinusoidalhistory.com/api/v1/cycles) — the canonical cycle definitions (same content as cycles.json).
- [/api/v1/series](https://sinusoidalhistory.com/api/v1/series) — the canonical data-series definitions (same content as series.json); CSVs they reference are under /data/.
- [/api/v1/state?year=2026](https://sinusoidalhistory.com/api/v1/state?year=2026) — the computed reading: for every cycle at the given year (default: current year), the cos value, phase label (peaking / rising / falling / troughing / crossing), and next implied peak and trough years, from cos(2π · (year − reference_peak_year) / period_years). This is the machine-readable form of the /state/<year> pages. (The API computes any year 1–9999; the human /state pages exist from 2026 through the current year.)

CSV data files (CORS-enabled, served from the live site):

- [/data/dw_nominate.csv](https://sinusoidalhistory.com/data/dw_nominate.csv) — US House polarization (Voteview, 1879–2023). Provenance: [/data/dw_nominate.source.md](https://sinusoidalhistory.com/data/dw_nominate.source.md).
- [/data/us_tfp_growth.csv](https://sinusoidalhistory.com/data/us_tfp_growth.csv) — US TFP growth, 5-yr centered rolling, derived from Fernald's `dtfp_util` column (FRBSF, 1948–2025). Companion [/data/us_tfp_growth_annual.csv](https://sinusoidalhistory.com/data/us_tfp_growth_annual.csv) is the unsmoothed annual series (the spectral-verdict inference input; the rolled file is display-only). Provenance: [/data/us_tfp_growth.source.md](https://sinusoidalhistory.com/data/us_tfp_growth.source.md).
- [/data/wid_top1_wealth.csv](https://sinusoidalhistory.com/data/wid_top1_wealth.csv) — US top-1% wealth share (WID/Saez–Zucman, modern series 1913+, with five pre-1913 spliced points). Provenance: [/data/wid_top1_wealth.source.md](https://sinusoidalhistory.com/data/wid_top1_wealth.source.md).
- [/data/us_world_gdp_share.csv](https://sinusoidalhistory.com/data/us_world_gdp_share.csv) — US share of world GDP (Maddison Project Database 2023, 1870–2022, rebuilt with regional-aggregate filter and per-country forward-fill). Provenance: [/data/us_world_gdp_share.source.md](https://sinusoidalhistory.com/data/us_world_gdp_share.source.md).
- [/data/vdem_libdem.csv](https://sinusoidalhistory.com/data/vdem_libdem.csv) — V-Dem liberal-democracy index for the US (V-Dem Institute v16, 1789–2025). Provenance: [/data/vdem_libdem.source.md](https://sinusoidalhistory.com/data/vdem_libdem.source.md).
- [/data/conflict_deaths.csv](https://sinusoidalhistory.com/data/conflict_deaths.csv) — Deaths in conventional wars per 100k (OWID/Project Mars Lyall 2020, 1800–2011; log1p transform applied at load time). Provenance: [/data/conflict_deaths.source.md](https://sinusoidalhistory.com/data/conflict_deaths.source.md).
- [/data/stimson_policy_mood.csv](https://sinusoidalhistory.com/data/stimson_policy_mood.csv) — US Policy Mood (Stimson, UNC, 1952–2024 annual; higher = more liberal public preference for domestic policy). Provenance: [/data/stimson_policy_mood.source.md](https://sinusoidalhistory.com/data/stimson_policy_mood.source.md).
- [/data/leading_power_gdp_share.csv](https://sinusoidalhistory.com/data/leading_power_gdp_share.csv) — the largest single economy's share of world GDP, with the leader named per year (Maddison 2023, 1870–2022; CC BY 4.0). Provenance: [/data/leading_power_gdp_share.source.md](https://sinusoidalhistory.com/data/leading_power_gdp_share.source.md).
- [/data/perez_tech_diffusion.csv](https://sinusoidalhistory.com/data/perez_tech_diffusion.csv) — US technology-diffusion intensity composite from HATCH 2.0 (median z-scored 5-yr log-changes across ~105 technologies, 1865–2023, with per-year technology counts; CC BY 4.0). Provenance: [/data/perez_tech_diffusion.source.md](https://sinusoidalhistory.com/data/perez_tech_diffusion.source.md).
- [/data/spectral/verdicts.json](https://sinusoidalhistory.com/data/spectral/verdicts.json) — the pre-registered spectral verdict for every pairing: eligibility gate (span / period ≥ 3.0), verdict state, p-values where a test ran, Holm family, and a two-sentence lay verdict per pairing, plus a 19-cell cross-grid panel of re-pairings. Headline: 0 of 9 pairings are testable — every record is too short. Per-cycle figures at /data/spectral/<cycle_id>.svg; provenance and protocol at [/data/spectral/spectral.source.md](https://sinusoidalhistory.com/data/spectral/spectral.source.md).

## Build and audit history

- [docs/how-this-was-made.md](https://github.com/u00dxk2/sinusoidal-history/blob/main/docs/how-this-was-made.md) — long-form build journal, written for sharing with the maker's friend.
- [docs/fact-check-prompt.md](https://github.com/u00dxk2/sinusoidal-history/blob/main/docs/fact-check-prompt.md) — round-1 fact-check prompt.
- [docs/fact-check-2026-04-25.md](https://github.com/u00dxk2/sinusoidal-history/blob/main/docs/fact-check-2026-04-25.md) — round-1 fact-check report.
- [docs/fact-check-prompt-round-2.md](https://github.com/u00dxk2/sinusoidal-history/blob/main/docs/fact-check-prompt-round-2.md) — round-2 prompt.
- [docs/fact-check-2026-04-25-round-2.md](https://github.com/u00dxk2/sinusoidal-history/blob/main/docs/fact-check-2026-04-25-round-2.md) — round-2 report.
- [docs/fact-check-prompt-round-3-self-contained.md](https://github.com/u00dxk2/sinusoidal-history/blob/main/docs/fact-check-prompt-round-3-self-contained.md) — round-3 prompt with all content inlined.

## Notes for crawlers and agents

- Robots: `*` allowed everywhere, no per-bot restrictions. LLM crawlers (GPTBot, ClaudeBot, PerplexityBot, Google-Extended, etc.) are welcome.
- License: site prose is unannotated; data licenses vary per series — see /methods or each `.source.md` file. Cycle-theorist source citations link to the underlying books.
- Stability: the site is post-fact-check Phase 11 (round-4 verdicts folded). Notable round-4 corrections: Strauss-Howe "2020 = trough" prose was mathematically false (period 84 + peak 1955 ⇒ trough 1997, next peak 2039, 2020 on rising arm at cos ≈ +0.15) and has been rewritten; Pearson "linearity" bullet replaced with phase-sensitivity (r = cos Δφ for same-period sinusoids); TFP display range corrected to 1948–present (was incorrectly stated as ~1950); Maddison forward-fill pre-1950 bias surfaced; Dalio anchor-from-different-cycle mismatch acknowledged; WID pre-1913 splice provenance disentangled from Saez–Zucman 2016; Project Mars 2010 = 0 explained as definitional artifact. Schlesinger Jr. cycle + Stimson Policy Mood pairing added in Phase 10. Treat any older snapshot as superseded.
- Contact: build journal lists the maker; bugs and corrections welcome through GitHub issues.
