§01 / hero
online
§01 — Monte Carlo tree search for reality

Monte Carlo Tree Search for reality. One scenario, a searched tree of timelines, audited.

AlphaGo searched a tree of moves to find the strongest one. WorldFork applies the same idea to social scenarios — agents expand promising decision points, simulate forward, and a god-agent backs up which paths survive.

▸ paste into your agent
# Run this command to install the WorldFork skill, then use its setup module to set up WorldFork:

npx skills add Hilo-Hilo/WorldFork/skills/worldfork --all
fig.01multiverse / example
live
WorldFork multiverse treeDiagram of a Big Bang scenario branching into multiple timelines across six ticks. Active timelines are blue, audited timelines are marked with a square outline, and pruned timelines are dashed and muted. Tap a node to inspect its lineage.BIG BANGnodes 36 · branches 35 · audited 3 · pruned 3 · tap a node
activeauditedpruned
seed=11 / depth=5
1st
HackTech '26
audited
every tick · every rollout
Apache 2.0
open source · self-host
7,906
total installs · clones
850
repo views · landing
§02 — concept

Most simulators sample one trajectory. WorldFork searches the tree.

conventional / monoversen_timelines = 1
Conventional simulation — one trajectory across nine ticks, no branchingt=0t=1t=2t=3t=4t=5t=6t=7t=8→ one trajectory→ no counterfactuals→ collapse on every decision
// you sample a path. you don't see the distribution. the
// interesting question — "what would have happened if" — is unanswerable.
worldfork / multiversen_timelines = 128
Multiverse tree — branching timelines across nine tickst=0t=8
// select. expand. simulate. back up. (MCTS, on reality.)
// the tree is the answer — distributions, counterfactuals, audited paths.
§03 — runtime

Big Bang → Multiverse → Tick → Audit → Report.

fig.04 / pipeline
WorldFork runtime pipeline: Big Bang, multiverse, tick, audit, report — with prune-and-resume feedbackΣBIG BANGFORKSTICKAUDITREPORTprune → resume
§04.a · root state01 / 05

Big Bang

Define initial conditions: actors, world rules, decision schemas, expansion constraints. WorldFork compiles this into the runnable scenario graph — the root of the search tree.

surface
  • actors[]
  • world.rules
  • decision_points[]
  • audit.constraints[]
§04 — interface

Designed for agents. The CLI ships today; the web UI is next.

WorldFork is operated by other agents and by humans who think like them. Stable Python CLI, stable HTTP API. Everything is reproducible with a scenario id and a seed.

POSIX-friendly stdout
Idempotent run ids
Deterministic with seed
Streamed JSONL events
today
CLI · HTTP API · Python SDK
soon
Multiverse explorer (web UI)
~/wf · zsh
$ worldfork init --name "Atlas onboarding" --scenario-file examples/test-big-bang.md --max-ticks 4
_
CLI is the supported surface today. Web UI shipping soon.
§05 — example

A real scenario the project ships with.

examples/test-big-bang.md

The Atlas Resilience Crisis

A 40-million-person coastal megaregion enters a 180-day emergency after a heat wave, water-pressure failures, rolling blackouts, supply bottlenecks, and a climate-migration surge collide with fragile public trust and a newly deployed AI-assisted civic coordination system.

The simulation question: which governance choices preserve legitimacy, reduce harm, and prevent social fragmentation when scarcity, institutional overload, misinformation, and emergency technology all interact at once?

tick duration
12 hours
max ticks
180
branch depth
5
active multiverses
24
plausible terminal multiversesn_outcomes ≈ 8
  • ACooperative resilience success
  • BOpaque emergency regime
  • CMisinformation spiral
  • DCivic-tech reform path
  • ERegional fragmentation
  • FMutual-aid federation
  • GCourt-driven legitimacy reset
  • HLabor & housing conflict

// same Day 0. eight plausible terminal states.
// the report compares them with full lineage.

live · runtime preview
expandinglive 1 · pruned 0

// a stripped-down MCTS loop, on the page. expansion grows a tree, the god-agent backs scores up the tree, low-value branches drop. then it starts over.

§06 — counterfactual

Two endings, one root. Diff them line-by-line.

counterfactual diff

Pick two timelines. Read the world-state delta.

Same Day 0. Different decisions. The runtime persists every tick of every multiverse, so any two endings can be compared key-by-key with full lineage. Tap a chip to pick the “A” or “B” outcome.

timeline A
timeline B
Aterminal state
Cooperative resilience
Civic coordination holds. AI assist used for triage, not enforcement.
Bterminal state
Opaque emergency regime
Powers consolidated. AI assist becomes enforcement layer.
trust.public
0.31
0.19
blackout.hours
412
284
displaced.persons
1.4M
0.88M
ai.scope
·
enforcement
enforcement
regime.legitimacy
0.22
0.27
mutual_aid.cells
184
208
court.injunctions
37
61
fragmentation.index
0.71
0.55

// ↑ better in B · ↓ worse in B · · unchanged
// same root scenario · audited per tick

§06 — quickstart

Paste one prompt into your agent. Done.

▸ paste into your agent
# Run this command to install the WorldFork skill, then use its setup module to set up WorldFork:

npx skills add Hilo-Hilo/WorldFork/skills/worldfork --all

the skill routes your agent through setup, CLI, debug, reporting, and docs modules; setup walks you through prerequisites, .env config, CLI install, docker compose, migrations, seeding, readiness checks, and the onboarding demo.

  1. 01paste — drop the prompt above into your agent
  2. 02install — agent runs npx skills add ... --all
  3. 03follow — agent walks you through prerequisites + .env
  4. 04verify — agent confirms readiness and runs the demo
§07 — faq

Common questions, plainly answered.

Is WorldFork a SaaS product?
No. WorldFork is open-source backend infrastructure that you self-host. There is no hosted service, no login, and no data is collected by this site.
What is a Big Bang?
The root scenario document that seeds a run. It defines the initial world state, the primary simulation question, and the conditions agents tick forward from. See the Atlas example.
Does it require a specific LLM?
No. WorldFork is model-agnostic — bring whichever model you prefer. The example scenario recommends a cheap, fast model for smoke runs and a stronger one for full demonstrations.
What license?
Apache License 2.0. See the LICENSE and NOTICE files in the repository for the full text.
How do I install it with a coding agent?
Paste the prompt at the top of this page into Claude Code, Cursor, or any coding agent. The official worldfork skill handles repo clone, environment bring-up, and first-run validation.
Why frame this as Monte Carlo tree search?
The four-phase MCTS loop maps cleanly onto what the runtime already does: selection picks which multiverse to advance, expansion creates children at consequential decision points, simulation ticks each child forward, and the god-agent backs up verdicts so the surviving tree reflects what actually held up under audit.
How does expansion (branching) work?
The runtime evaluates each tick for consequential decision points, scores them, and expands above a configurable threshold. Children inherit tick history, so each child timeline diverges from a known shared past.
What does the audit produce?
Persisted runtime checkpoints, every LLM call, jobs and logs, manual interventions, and structured per-multiverse + final Big Bang reports. Tied back to durable state so any run is reproducible and inspectable.
GitHub →