Phase −1 · Background research

Twenty-seven findings, nine waves, one schema — a research phase for a civilizational machine simulator.

Most public reasoning about the long-term future fails for the same reason: it tries to forecast events without first modelling the machinery that produces events. Prime Radiant is an attempt to build the missing capacity — a typed catalogue of the institutions civilizations run on, dense enough to predict what new institutions the current substrate is reorganising itself to produce.

This page documents the research phase that precedes the simulator. The build does not start until the substrate is in place: the schema fields that downstream code will type against come straight out of these twenty-seven findings.

Conceptual waves
9 + atlas
Accepted findings
27
Named thinkers
26
Machine-card stubs
80
Pending briefs
3 (Wave 7)

§1 · The cut

Three world-machines, each running Dawn → Day → Dusk.

Following Venkatesh Rao's framing, civilizational machinery clusters into three operational logics. The eras overlap: in 2026 you can simultaneously see Modernity machines in Dusk, Divergence machines in Day, and Liveness machines in early Dawn. The simulator's first job is to read a present-day institution and tell you which era and phase it occupies — and what it depends on across the seam.

MM

Modernity Machine

~1200 — ~2150

Dusk

Legibility, fiat progress, narrative coherence, bureaucratic states, mass institutions. The dominant logic of the last several centuries. Still operational — losing the conditions that made it work.

nation-statebroadcast mediamass-conscript armypublishing

DM

Divergence Machine

~1650 — ~2400

Day

Pluralism, push, distributed information, post-narrative coordination, network-effect capture. Fully turned on as of roughly 2015. The institutions are still mostly anonymous; their lifecycle is short.

platform corporationopen-source ecosystemidentity stackcloud

LM

Liveness Machine

~2000 — ~2300 (speculative)

Dawn

Self-organised criticality, recovered embodiment, generative cohabitation with AI, post-capture coordination forms. Barely visible, mostly extrapolated. Every LM claim in this research is inline-flagged [EXTRAP].

rewilding networksgenerative collectivesmutual aid at scale

§2 · How the topics were selected

A load-bearing question per wave; a thinker per brief.

The simulator cannot be built without answers to a small set of structural questions — what is a machine?, how does causality propagate across delay?, why do eras turn over? The research phase fans those questions out into nine conceptual waves plus an atlas. Each wave is decomposed into briefs centred on a named thinker whose published work supplies the operational handles the schema needs.

  1. One load-bearing question per wave.

    Each wave folder (00-world-machines-eras, 01-ontology, 02-causal-substrate, …) names a question the simulator cannot proceed without answering. Briefs inside the wave compete to answer it from different traditions.

  2. A thinker per brief.

    Every accepted brief is centred on one thinker (or one closely-named framework) whose work contributes typed handles — field names, ranges, predicates, enums — that downstream code can instantiate. The brief asks for operational density over historiographic completeness.

  3. Parallel dispatch in supacode worktrees.

    Each brief is handed to a sub-agent running interactive claude in its own worktree branched from main. Briefs run in parallel; long reads are delegated to sub-sub-agents; every source is written to disk as a note before the findings are composed.

  4. Six-point validation gate.

    Before merging an agent's branch the supervisor applies a six-point check: structure, operational handles, worked examples, factual spot-check, world-machines lens, no-slop. Failure means redispatch under a sharper prompt, not a patch.

  5. v2 redispatch when v1 failed.

    The earliest two briefs (Bryant, Pearl) were dispatched under a thinner methodology that allowed runnable Python in the deliverable. Both were redispatched under stricter rules — markdown schema, tabulated worked examples, no code under research/ — and the v2 findings replaced the originals on main. That correction is part of how the research got better.

  6. Reframe and reopen.

    After Wave 5 the project's spec was reframed from a Venice-1500 spike to cross-era structural prediction (MM → DM → LM). Twenty-three prior findings survived as substrate; Wave 6 added four new briefs to close gaps the reframe surfaced, including an eighty-stub Machine-Card atlas that stress-tested the schema in bulk.

§3 · The map

Nine conceptual waves plus an atlas.

Read from the anchor (Wave 00) outward. Each numbered cell is a research folder under research/ whose findings extend the schema, the validation scorecard, or the generator policy. Closed cells have all briefs accepted and merged. The right-most column shows Wave 7 — three pending briefs that extend, but do not invalidate, the closed work.

Wave map of Phase −1 research A diagram laying out the nine conceptual research waves (00 through 08), the atlas wave (09), and the three pending Wave 7 briefs. Closed waves are drawn solid; pending briefs are drawn with dashed strokes. 00 eras Anchor 01 ontology What is a machine? 6 accepted 02 causal How does causality propagate? 3 accepted 03 cyclical Why do eras turn over? 5 accepted 04 physical What conservation laws bind it? 3 accepted 05 world-systems How does space distribute eras? 2 accepted 06 network The informational layer of an era 1 accepted 07 foresight Discipline on scenario generation 4 accepted 08 agent-based Bottom-up sub-models 1 accepted 09 atlas 80 stubs · seed list for Phase 1 Wave 7 · pending cross-era scorecard phase-overlap mechanics mesa boundary v2 accepted pending atlas
Wave 00 is the anchor every later brief reads first. Waves 01–05 build the substrate the simulator types against; waves 06–08 add the informational, foresight, and bottom-up layers; Wave 09 is the atlas of 80 Machine-Card stubs that stress-tested the schema and seeds Phase 1.

§4 · Which thinkers were identified

Twenty-six thinkers, grouped by wave.

Each card names a thinker (or a closely-named framework) and the one operational thing their work contributes to the simulator's schema or methodology. Two cards near the end name synthetic briefs — composed by the supervisor from multiple traditions — rather than a single thinker; they are marked synthetic.

00

World-machines — the anchor

Defines the eras, the state-variable vocabulary, and the [CANON]/[EXTRAP] convention every later brief must use.

Venkatesh Rao — world-machines framing

Essayist; "The Modernity Machine I/II", "The Divergence Machine I/II", "Engineering Liveness" (2025–26).

Names MM/DM/LM, anchors their construction/operation/decline windows, and supplies the 23 canonical state-variable names (legibility coverage, fiat progress credibility, capture resistance index, …) the simulator's nodes are typed against.

01

Ontology — what is a machine?

The schema spine. Bryant's flat ontology supplies the base types; DeLanda, Latour, and Massey add state variables, typed operations, and a flows-first theory of place.

Levi Bryant

Philosopher (object-oriented ontology); Onto-Cartography, 2014.

Schema substrate. Machine / Place / Path / Throughput / StateVariable with thirteen exhaustive enums (machine_type, substrate, plasticity, gravitational_type, world_machine_phase, …). Venice 1500 worked through every field.

Manuel DeLanda

Philosopher; Assemblage Theory (2016), A Thousand Years of Nonlinear History (1997).

Adds the pair (territorialization, coding) ∈ [0,1]² as new state variables on every machine, plus a three-flow (genetic / linguistic / economic) annotation on Path.

Bruno Latour

Sociologist of science; Actor-Network Theory.

Adds a typed translation_event(source, target, program, mediator) op and a purification_index ∈ [0,1] per polity that hooks Wave 0's mm_byproduct_load to the active suppression of hybrid acknowledgment.

Doreen Massey

Geographer; For Space, 2005.

Flows-first Place schema: flows_in / flows_out as primary identity carriers, plus a per-place local_time_rate and a PowerGeometryPosition object that lets Venice / Tikal / Beijing all be 1500 at different rates.

Cross-era coupling typology synthetic

Wave 6 supervisor synthesis from Bryant, DeLanda, Latour, Geels, Arrighi, Beck, Bowker & Star.

Validated six-kind enum for the couplings that span the seam between eras (zombie_dependency, adapted_inheritance, substrate_provision, …) plus a substrate_jump pathway extending Geels.

Machine-substitution lineage synthetic

Wave 6 supervisor synthesis; Nozick "closest continuer" and Parfit Relation R as outside references.

A discrimination rule for when a snapshot update becomes a new card with identity_lineage_id, plus an eight-type succession_type enum and five worked lineage chains (joint-stock company, university, central bank, military, information substrate).

02

Causal substrate — how nodes propagate

Pearl gives the DAG and the edit-language; Meadows reconciles feedback by time-unrolling; the framework-native generators turn the substrate into a forward-prediction policy.

Judea Pearl

Computer scientist; Causality, 2009.

Structural Causal Models over the Wave 0 state variables; the time_unroll formalism that makes feedback loops acyclic per tick; an edit-language with identifiability conditions for the LLM's proposed edits.

Donella Meadows

Systems thinker; Thinking in Systems, 2008.

Reconciles the Pearl-DAG vs feedback-loop tension by showing the World3 IC reinforcing loop time-unrolled at 25-year ticks populates Pearl's structural equations exactly. Twelve leverage rungs grouped into four UI classes.

Framework-native generators synthetic

Wave 6 supervisor synthesis from Wave 0, Hidalgo, Geels, Castells, Latour, DeLanda.

Three signed generator functions for cross-era machine prediction — heretic-finder, bug→feature inverter, Hidalgo-space adjacency — plus a composite policy mapped to the task taxonomy and a falsifiability sketch.

03

Cyclical dynamics — why eras turn over

Five traditions in conversation: long-wave history (Braudel), transition pathways (Geels), techno-economic surges (Perez), collapse mechanics (Tainter), structural-demographic cycles (Turchin).

Fernand Braudel

Historian; Civilization and Capitalism, The Mediterranean.

Three-tier temporality (longue durée / conjoncture / event) becomes the simulator's sampling-rate mapping. The eight-hub anti-market succession (Champagne → Venice → Genoese → Antwerp → Amsterdam → London → New York → digital) is typed against the Bryant schema.

Frank Geels

Sociologist; Multi-Level Perspective on sociotechnical transitions.

Three-level geels_level: niche | regime | landscape stub filled, four transition_pathway enum values, and a landscape-pressure sub-class with five fields. US horse → car 1880s–1950 worked at six-decade resolution.

Carlota Perez

Economist; Technological Revolutions and Financial Capital, 2002.

Techno-economic paradigm classifier with tep_paradigm (TEP 1–5 canonical, plus proto-paradigms and a flagged TEP 6) and tep_phase. Polity-phase assignments 1700–2026 for five major economies.

Joseph Tainter

Anthropologist; The Collapse of Complex Societies, 1988.

Marginal-benefit-of-complexity proxy linked to Smil's EROI; Western Rome 300–500 CE and the USSR 1970–91 both backward-tested. Adds a reorganization collapse mode the schema needs for non-terminal transitions.

Peter Turchin

Cliodynamics; Secular Cycles (2009), Ages of Discord (2016).

Structural-demographic Political Stress Index Ψ = MMP · EMP · SFD over the simulator's state vars. England 1485–1640 time-unrolled DAG with full adjacency; Turchin × Perez phase-superposition pinned across six named decades.

04

Physical substrate — conservation laws

The energetic and material constraints that bind every machine; the scaling laws cities are subject to; the economic-complexity index that predicts what they can produce next.

Vaclav Smil

Energy historian; Energy and Civilization and many adjacent works.

Typed Throughput fields, a conservation_check predicate that flags non-conserved energy / matter / capital, and an EROI trajectory 1900–2026 with three scenarios for 2100. Northern Italy 1500 throughput table validates the schema.

Geoffrey West

Physicist; Scale, 2017; Santa Fe Institute.

A scaling_state block on Place with the canonical exponents (β_infra = 5/6, β_socio = 7/6). Pre-modern applicability confirmed via Ortman 2015 on the Basin of Mexico; a is_scaling_plausible predicate worked through Venice 1500's spice trade.

César Hidalgo

Complexity economist; Why Information Grows, 2015; The Atlas of Economic Complexity.

Economic Complexity Index + Product Space as state variables on Polity/Place; a can_produce_next(polity, product, year) predicate with Vietnam-semiconductors-2010 worked. Five pre-1962 ECI proxies for back-fitting to MM Day.

05

World systems — uneven spatial distribution

Core / semi-periphery / periphery as a relational structural typing; global cities as the contemporary command tier.

Wallerstein, Chase-Dunn & Arrighi

World-systems analysis; The Long Twentieth Century (1994), Adam Smith in Beijing (2007).

Canonical wallerstein_position enum, the kondratiev_phase / kondratiev_wave pair, and four hegemons traced through four phase-boundary years each. Pins the "zombie hegemony" concept the cross-era coupling typology then builds on.

Saskia Sassen

Sociologist; The Global City (1991), Expulsions (2014).

A GlobalCity sub-type of Bryant Place with six command-function fields, a composite expulsion_index traced across ten polities 2000–2026, and a flow_aggregation_level enum that lets the simulator decide whether to model at city, metro, national, or trans-national scale.

06

Network / information — the cognitive layer

Castells supplies the DM-era informational substrate; one brief is enough because the schema-side contribution (a Flow sub-class, an RVSI index) is dense.

Manuel Castells

Sociologist; The Information Age trilogy (1996–98).

A typed Flow sub-class with ten fields; identity_composition traces for ten polities at four timepoints; a Real Virtuality Saturation Index whose DM-Day fire condition (RVSI > 0.40) was crossed ~2015–18.

07

Foresight methodology — discipline on generation

Four traditions specifying the per-tick pipeline, the scenario classifier, the consistency filter, and the calibration tracker.

Gordon Brander

Designer / writer; Deep Future essays.

A seven-stage per-tick pipeline (Framing → STEEPED → Structural Analysis → Scenario Identification → Development → Signpost Monitoring → Strategic Development) that becomes the simulator's main loop. Pace-layer / Cynefin / "Thing from the Future" Calvino UI affordance.

Jim Dator

Futurist; "all images of the future cluster into four archetypes."

A classifier (Continuation / Collapse / Disciplined Society / Transformation) grounded on Wave 0 threshold tables; a verbatim ≤300-word LLM prompt template; a 16-member ensemble initialisation strategy.

Tom Ritchey & Fritz Zwicky

General Morphological Analysis; Acta Morphologica Generalis (Ritchey, 2015).

An is_consistent(proposed_state) predicate used as a pre-commit filter on the LLM's edit bundles, with hard / soft failure modes and a worked example flipping two incompatible pairs.

Philip Tetlock

Political psychologist; Superforecasting, 2015.

Brier-score formalism with Murphy decomposition; a calibration tracker with era-boundary suppression; fox / hedgehog ensemble prompts; pre-mortem pseudocode. Discipline check on the ensemble, not a substantive prior.

08

Agent-based — bottom-up sub-models

A small, bounded role: ABM is allowed only where micro-rule → macro-pattern emergence is the explanatory target. Mesa is the framework; the brief is the boundary rule.

Project Mesa (ABM framework)

Mesa: Agent-Based Modeling in Python; used as bounded sub-component, not the trunk.

Three sub-dynamics qualify for ABM (trade-network formation, idea diffusion, Geels-niche emergence). A boundary rule names update_state_variable as the only permitted edit operation from inside ABM; any structural edit raises ABMBoundaryViolation.

09

Atlas — the 80-stub stress test

Not a thinker brief. A bulk-research deliverable: eighty Machine-Card stubs that stress-test the schema in batch and seed Phase 1's card generation.

DM & MM-industrial stubs atlas

Wave 6 bulk research; ten sub-sub-agents, one per cluster.

Forty MM-industrial stubs 1750–1970 (British Empire, German Industrial, US Industrial, Soviet + New Deal, MM Financial, MM Logistics, MM Info / Non-Western) plus forty DM stubs 1980–2026 (Platforms, Cloud + Financial, Knowledge + Governance). Schema-stress report flags twenty-two field, enum, and granularity issues for the schema to absorb before Phase 1.

§5 · What the research produced

A pinned schema, a closure verdict on five PRD gaps, and an eighty-stub seed list.

Twenty-seven accepted findings.

One findings.md per brief, each composed by reading per-source notes/ files written to disk first. Every accepted file passed the supervisor's six-point gate. Total dispatched sub-agents: twenty-five (including two v1 → v2 redispatches).

  • 1 Wave 00 anchor
  • 6 Wave 01 ontology
  • 3 Wave 02 causal substrate
  • 5 Wave 03 cyclical dynamics
  • 3 Wave 04 physical substrate
  • 2 Wave 05 world systems
  • 1 Wave 06 network / information
  • 4 Wave 07 foresight methodology
  • 1 Wave 08 agent-based
  • 1 Wave 09 atlas (80 stubs)

A pinned schema, in markdown until Phase 0.

The schema lives in markdown — typed fields with allowed values, ranges, and source thinkers — until Phase 0 migrates it to Pydantic. The sample below shows the canonical core of Machine with each field's research source. The full pinned schema is in research/SYNTHESIS.md §2.

Machine — core fields (sample)
FieldTypeSource
machine_typeenum corporeal | incorporealBryant p. 6
substrateenum inanimate | animate | cognitive | social | semioticBryant p. 38
plasticityenum rigid | plasticBryant p. 50
gravitational_typeenum bright | dim | dark | rogue | satellite | black_holeBryant Ch. 7
world_machine_phaseenum dawn | day | duskWave 0 / Rao
pace_layerenum nature … fashionBrand / Wave 0
regimeenum clear | complicated | complex | chaotic (Cynefin)Wave 0 / Brander
machine_lifespanint (yr) [100, 100 000]Wave 0
wallerstein_positionenum core | semi_periphery | peripheryCDWA · Braudel
kondratiev_phaseenum K_A | K_BCDWA
tep_paradigmenum (TEP 1–5 + 3 proto + TEP 6 [EXTRAP])Perez
tep_phaseenum (irruption → maturity)Perez
geels_levelenum niche | regime | landscapeGeels
secular_cycle_phaseenum integrative | disintegrativeTurchin
delanda_territorializationfloat [0.0, 1.0]DeLanda
delanda_codingfloat [0.0, 1.0]DeLanda
flow_aggregation_levelenum city | metro | national | trans_nationalSassen
purification_indexfloat [0.0, 1.0]Latour
scaling_stateobject (β_infra, β_socio, β_innovation, …)West
ecifloat — Economic Complexity IndexHidalgo
inputs / outputslist[Throughput]Smil / Bryant
state_variableslist[StateVariable] — Wave 0 canonical namesWave 0

The full pinned schema also fixes a Place sub-type with Massey's flows-first identity, Sassen's GlobalCity command-function fields, a Path sub-type with DeLanda's three-flow annotation, an EditOp enum of nine LLM-proposable operations, and a LandscapePressure sub-class. See research/SYNTHESIS.md §2 for the rest.

Five PRD gaps — closed, partial, or carried forward.

The product brief named five load-bearing gaps the research had to close before the simulator could be built. The research closed three outright and reduced the other two to concrete artefacts the first build cycle will force into existence.

#GapVerdictClosed by
1 Machine schema undefined closed Bryant · DeLanda · Massey · Smil · Castells · West · Sassen · Hidalgo · Perez · Geels · CDWA
2 DAG-edit loop has no data contract partial Bryant EditOp · Pearl identifiability · Ritchey is_consistent · Mesa boundary rule · Brander loop. First inner-loop transcript closes this.
3 Pearl-DAG vs Meadows-feedback contradiction closed Pearl time_unroll + Meadows World3 IC R-loop time-unrolled at 25-yr ticks — same machinery, two pens.
4 Validation strategy aspirational closed Tetlock Brier · Turchin England 1485–1640 · Tainter Rome & USSR · Perez turning points · Smil EROI · West Ortman 2015 · Hidalgo 24 polities · CDWA hegemonic ordering. Ten-item scorecard pinned.
5 Calvino story-layer constraint pipeline partial Brander "Thing from the Future" card-shuffle UI affordance; LLM prompt template embeds graph facts as constraints. First generated story closes this.

Eighty Machine-Card stubs — the Phase 1 seed list.

The atlas is the bulk-research deliverable that did three things at once: it stress-tested the schema in batch, surfaced twenty-two field / enum / granularity issues for Phase 0 to absorb, and produced the seed list Phase 1's card-generation pass will start from.

40 MM-industrial stubs · 1750–1970

  • British Empire 3
  • German / European Industrial 5
  • US Industrial · Standard Oil → Bell System 4
  • Soviet + New Deal 3
  • MM Financial · Gold Standard → Bretton Woods 6
  • MM Logistics & Infrastructure 9
  • MM Info + Non-Western 10

40 DM stubs · 1980–2026

  • DM Platforms · Amazon, Google, Apple, Meta, … 10
  • DM Cloud + Financial · AWS, TSMC, BlackRock, … 13
  • DM Knowledge + Governance · Wikipedia, ICANN, IPCC, OpenAI, … 17

Forty-nine MM → DM cross-era couplings across the eighty stubs; an average of 1.2 cross-era dependencies per DM stub. The schema-stress report flags five field failures, three enum gaps, three coupling-typology gaps, and seven class-vs-instance disagreements — all carried into Phase 0.

§6 · What is still pending

Wave 7 and the synthesis rewrite.

Phase −1 is not closed. Three Wave 7 briefs are drafted-but-not-dispatched; the supervisor will launch them after Phase 0's schema commits in implementation form, so the new briefs see the pinned types. The current SYNTHESIS.md is under the prior Venice-spike spec and will be rewritten once Wave 7 lands.

  • cross-era-validation-scorecard

    Replaces the Venice-1500-pinned items 1–5 of the current scorecard with five MM → DM hindcast items (e.g. given MM Bell System 1980 state, probability an AWS-class platform emerges by 2010?) plus five DM → LM hold-out items. Each with a calibration rubric using the three generators from framework-native-generators.

  • phase-overlap-mechanics

    Wave 0 frames the three-machine simultaneity but does not operationalise how Dusk machines influence Dawn machines in different eras. This brief enumerates the canonical interaction mechanisms for each pair (MM-Dusk × DM-Day, MM-Dusk × LM-Dawn, DM-Day × LM-Dawn) using cards from the atlas as worked examples.

  • mesa-boundary-renegotiation

    Extends the existing Mesa brief. The current rule allows ABM only to emit update_state_variable, which blocks the cross-era stub-generation task. The new brief either relaxes the boundary (with explicit rollback) or pins all structural edits to the LLM-edit-agent and demotes Mesa to timing-only.

  • SYNTHESIS v2

    Rewrite of research/SYNTHESIS.md under the cross-era prediction spec. Eleven sections; biased toward the schema and the validation scorecard. Closes Phase −1 when it commits — at which point the directory phase-minus-1-TODO-research/ renames to phase-minus-1-DONE-research/.