A plain-language guide to the three engines: how the nightly scan finds and selects signals, how the four scenarios are derived from evidence, and how the simulation turns beliefs about drivers into scenario probabilities. For the verbatim prompts and full architecture, see the transparency page.
Everything on this platform sits on one chain, and every link in it is inspectable:
Signals → review → library → scenarios → driver conditions → simulation → advice.
The scan finds candidate signals; a human decides which enter the library; scenarios are drafted from that library and cite the signals that anchor them; each scenario declares the region of driver space where it holds; the simulation samples thousands of futures and counts which region each lands in; and the decision chat answers questions by retrieving and citing the same library. Nothing in the chain publishes without a human decision — the review gate is the method, not a feature.
If you follow any number on this platform upstream, you arrive at a named source.
The library began as 705 hand-vetted signals across 33 clusters. Every night (22:00 Singapore time) the scan extends it in five steps. A candidate has to survive all of them to reach your review queue — and even then it is only pending.
Twelve themed questions go to a search model (Perplexity Sonar), each scoped to one angle of the domain — companion apps, governance, research, grief tech, the market, cultural discourse, AI clones of real people, youth and family, therapy bots, elder care, workplace and school norms, virtual-being fandom. Each asks for up to ten distinct items from the past week, preferring the last 48 hours and primary sources. The themes are editable on the Scanning page: what is asked is exactly what you see there.
Sixteen configured sources — chosen because they produced the seed corpus's signals — are scraped. Headlines alone are not trusted: up to three not-yet-known articles per source are followed and read in full, so selection judges real content rather than a teaser.
Every candidate from both legs is classified by Claude against one strict test: is the core subject AI's effect on human relationships or social structures? Generic AI news — model releases, chips, funding without an intimacy product, policy without a relationship angle — is rejected, and the rejection is counted and listed in the run record so you can audit the gate's judgment. The gate text itself is editable on the Scanning page; every run permanently records the exact text it used.
A candidate is dropped if its normalized URL is already in the library, or if its embedding sits closer than 0.90 cosine similarity to an existing signal — the same story from a second outlet should not count as two signals. The nearest existing signal and its score are shown in the review queue, so the threshold's judgment stays visible.
Survivors land as pending, with their provenance and the raw machine output preserved. In the Review queue you approve, re-classify, edit or reject each one. Only approval places a signal in the library — which means everything downstream (scenarios, simulation, chat) stands only on signals a human accepted.
Each run's record stores what it ran with — per-theme and per-source yield, the rejected list, the settings and gate text — so a quiet night and a broken night never look the same.
The four scenarios are not predictions and not brainstorms. They are structured readings of the same evidence through Jim Dator's four archetypes of the future — the four deep shapes a future can take:
| Archetype | Its logic |
|---|---|
| Continued Growth | Current trajectories extend: AI companionship scales into a normal, commercially mature layer of social life. Momentum wins over friction. |
| Collapse | The system breaks: harms compound, trust craters, a crisis or slow rot makes parasocial AI a story of social damage and retreat. |
| Discipline | Society constrains the technology: norms, regulation and design mandates channel parasocial AI into bounded, supervised roles. |
| Transformation | A structural break in what "relationship" means: categories of kinship, personhood and intimacy dissolve and re-form. |
The archetype's logic (plus any focus you give it) is embedded and matched against the approved library; the most similar signals form a pack of roughly a hundred, with long-horizon and critical-urgency evidence guaranteed a seat. The draft can only be built from signals in this pack.
Claude drafts the scenario as four layers of increasing depth — the structure you travel when reading one: Litany (the visible surface of 2040: headlines, statistics, everyday observations), Systemic causes (the economic, technological, regulatory and demographic structures producing that surface), Worldview (the shared beliefs that make this world coherent to the people in it), and Myth (the deep metaphor underneath — the hearth, the golem, the mirror). A 400–600 word narrative vignette makes the world habitable.
Most of a future is under the waterline.
The draft must name the 8–15 signals that anchored it — real IDs from the pack, inspectable on the scenario page — and declare its driver conditions: the region of driver space where this future holds (for instance, "companion adoption ≥ 25% and regulation stringency ≤ 55"). Those conditions are the scenario's handshake with the simulation.
Everything lands as a draft. Every layer, the narrative, and the conditions are edited by the human author before publishing; only publishing makes a scenario real to the rest of the platform (including the chat's retrieval). The four live scenarios were all reshaped by hand after drafting.
The simulation answers one question: given our beliefs about the key drivers, how much of the plausible future belongs to each scenario?
A driver is an uncertain quantity that shapes the outcome — companion adoption, regulation stringency, incident pressure, substitution vs complement, and so on. Each is expressed not as a single guess but as a distribution: by default a PERT (minimum, most-likely, maximum — a smoothed bell over that range), with triangular, uniform and discrete available. Every parameter is editable on the Simulation page, and each driver carries a written rationale naming the signal clusters that justify its range.
Each run draws 10,000 futures — a future being one sampled value for every driver. The random generator is seeded, so a run is exactly reproducible: same seed, same parameters, same result, and every run is stored with a full snapshot of what produced it.
A sampled future belongs to a scenario when it satisfies all of that scenario's driver conditions. The share of futures landing in each scenario's region is that scenario's probability. Futures that match no scenario are the residual — unclaimed territory. A large residual is a finding, not an error: it says the scenario set does not yet cover the space our own beliefs consider plausible.
For each driver and scenario, the run compares the scenario's probability when that driver falls in its top third against its bottom third. The difference is the tornado chart: which beliefs, if they shifted, would most redraw the map. This is where the simulation earns its keep for decisions — it points at the drivers worth watching and arguing about.
The probabilities are model-conditional plausibility, not forecasts. They answer "how much of the future-space implied by our stated beliefs falls inside each scenario's declared region" — nothing more. Change a driver's range and the numbers move; that is the point. The honest uses are comparative and diagnostic:
— Comparative: is Discipline gaining ground on Growth as evidence accumulates and ranges tighten?
— Diagnostic: which single belief, if wrong, changes the answer most? (Read the tornado.)
— Coverage: how big is the residual — how much plausible future have we not yet written a scenario for?
What the numbers are not: a claim about 2040. The platform's claim is narrower and more defensible — given this library of observed signals, these four readings of it, and these stated uncertainties, this is where the weight sits today. Tomorrow's scan may move it. That is working as intended.
Every number is an argument you can inspect, edit, and re-run.