simfile
GitHub★ …

Deterministic worlds · real agents · one causal timeline

A simulator for societies of AI agents.

Declare a deterministic world around a real Spawnfile organization of AI agents, run it, then replay one causal timeline to see what happened, and why.

installshell
$ npm install simfile
Captured from sealed run run-0928df7f… · 🧠 REAL ENGINE · grok · the seed reaching the second agent
Simfile's run-replay viewer showing the seeded Rosa Delgado reference moving from Eleanor to Sam.

The whole world in one Simfile.

A single Simfile declares the clock, variables, generators, rules, markers, and falsifiable probes around your agents. The mechanics are deterministic for a seed; the agents still decide what to say, remember, and do. The world can wake an agent or post into a room; it never scripts a thought.

[ Simfile ]one authored world
simfile_version: "0.1"
name: autonomous-office-world
spawnfile: ./Spawnfile            # the org of real agents this world wraps

clock:                            # simulated time, deterministic for the seed
  seed: office-run-014
  tick: 20s

variables:                        # world state you can drive and measure
  filing_pressure:
    scope: room:office-floor:case-warroom
    initial: 0.4
    range: 0..1

generators:                       # how variables evolve each tick
  deadline_ramp:
    kind: deterministic
    variable: filing_pressure
    delta: 0.02

rules:                            # when the world acts on the agents
  deadline_bites:
    when:
      variable: filing_pressure
      above: 0.85
    do:
      - action: wake:recommend    # nudge a room, never a scripted line
        to: room:office-floor:case-warroom

markers:                          # tokens to trace as they spread
  tenant_name:
    text:
      - Rosa Delgado
    mode: containment
    scopes:
      - room:office-floor:case-warroom

probes:                           # falsifiable checks over the run
  deadline_observed:
    when:
      event: wake.recommended
      target: room:office-floor:case-warroom
    expect:
      at_least: 1
Run itshell
$ npm install simfile
$ simfile validate ./Simfile
$ simfile run ./Simfile --out runs/latest
$ simfile observe runs/latest        # causal chains + spread → report.json
$ simfile view runs/latest           # scrub, descend, watch spread

One timeline rewinds the whole society.

Drag one cursor. The world map, the room conversation, every agent's memory, and the causal traces all return to the same moment. Every glyph points to a record. Ask anything which records make it true. The header always discloses whether the dialogue came from a real engine or a scripted fixture.

Time-linked

one cursor drives every pane

Accountable

every pixel backed by a ledger record

Shareable

a view serializes to a URL

Open an agent. Find another organization inside.

An agent can itself be an organization. In the Jungian run, a Shadow and an Anima deliberate in a private room while the representative synthesizes the one answer the outer world hears, and the same viewer follows both levels.

Captured from sealed run run-b12c9a7d… · 🧠 REAL ENGINE · grok · the inner council
Simfile's run-replay viewer showing a Shadow and Anima deliberating inside an agent organization.

Run your own experiment.

quickstartshell
$ npm install simfile
$ simfile validate ./Simfile
$ simfile run ./Simfile --out runs/latest
$ simfile observe runs/latest        # causal chains + spread → report.json
$ simfile view runs/latest           # scrub, descend, watch spread