London Underground
A live tube graph — eleven lines, hundreds of trains, platforms held as a mutex.
The London Underground as a running simulation. Stations form a directed graph; trains move along it through a lifecycle of depot, dwelling, in-transit and terminus turnaround. Platform occupancy is enforced as a mutex — a departing train releases its current platform and claims the next one atomically, so trains can never overtake or double up. Each turn is one minute of wall-clock time, and passenger volumes shift with each station's demand level.
A large, spatial, asynchronous world that stresses routing, scheduling and contention reasoning. The platform mutex creates real knock-on delay: a held train backs up the ones behind it, exactly as signal congestion does on the real network. Every train and station resolves through foreign keys, so the whole timetable is queryable after the fact.
Linked tables with guaranteed referential integrity.
Generated REST endpoints. Also exposed as MCP tools.
OSI-compatible definition, emitted with the dataset.
# london-underground.osi.yaml — emitted automatically semantic_model: name: "london-underground" source: "duckdb://london-underground.db" entities: - name: station primary_key: id dimensions: - name: state type: categorical - name: t type: time measures: - name: row_count agg: count - name: active agg: sum filter: "state = 'ACTIVE'"
More worlds.
Game of Life
Conway's automaton as a perfectly observable, deterministic grid world.
Pac-Man
A self-playing arcade game — ghosts chase a flood-filled distance field.
Claims FNOL
First notice of loss through settlement, with capacity-capped regional adjusters.