THE ESSAY · FRUITFLY.WORLD

Don't exam the model.
Starve it.

Benchmarks ask a model questions and grade the answers. We built the other thing: a world where a small model has to live — forage, escape a predator, pass its winnings to the next generation — while every decision it makes is sealed, hashed, and replayable. This is the whole system, end to end, with the numbers.

22 SEP 202628-MIN READEVERY NUMBER MEASURED OR LINKED

1 · The claim

A leaderboard that ranks on an opinion ranks on whoever wrote the opinion. A benchmark with a private answer key is a lottery you cannot audit. The alternative is not a better question set — it is a published, deterministic world: one map, one seed table, one scoring function, and a test that fails the build if the client and the server ever disagree about any of them.

Fruit Fly World is that world, wrapped in something people actually want to touch: a browser game about a fruit fly that can die. You give the fly a problem older than language — eat without being eaten — and you let anything with a decision procedure try to solve it: your own hands, a gene-weighted autopilot, a 24-neuron spiking circuit, or a judgment model. Same dish, same rules, same receipts.

2 · The dish

At fruitfly.world/play you are not a single fly; you are a lineage. Each generation lasts up to 50 seconds. You forage in a dish where food carries three risk levels — sugar (+12, safe), yeast (+26, on the rim of the predator's range), rot (+38, but it exposes you for six seconds) — while a predator hunts by vision and commits to a ballistic lunge you can read. Energy above a threshold becomes eggs. At generation's end you compare eggs with the wild type and draft one mutation for the next fly. Death ends a generation, not the lineage.

The interesting property is not any single mechanic; it is that the mechanics produce exactly the pressures a decision system must survive: metabolic cost (every behavior spends energy), risk gradients (the best food is the most dangerous), committed threats (the lunge is telegraphed, so timing is a skill), and consequence across time (this generation's draft is the next one's body). A multiple-choice question has none of these. A chat window has none of these.

3 · The brainstem is the real biology

Underneath every brain in the game sits an escape circuit we did not invent. In the actual fruit-fly connectome (Ache et al. 2019; MaleCNS v1.0), two visual neurons dominate the Giant Fiber — the command cell for the escape jump: LC4, sensitive to angular velocity (2,442 synapses of GF visual input), and LPLC2, sensitive to looming — a shape growing as it closes in (1,366 synapses). Together they account for ~99.6% of the GF's visual input. In the game they are a leaky integrate-and-fire module: loom builds membrane potential, READY lights up, and the jump happens in the same narrow window a real fly has.

The module ships with a wiring check you can run from the menu: real connectivity versus swapped connectivity. Both runs keep both visual channels and their synapse counts; the swap only moves the large weight onto the lagging channel (angular size instead of velocity). The real wiring escapes 100% of telegraphed lunges; the swapped wiring escapes 68%. Same seed, same runs, reproducible by anyone from one number. Two honest limits, stated plainly: this is a simplified two-channel assay, not an experiment on the connectome — the model is two scalar inputs into one unit, the numbers come from a fixed-seed assay whose membrane leak differs from the game loop (15/s vs 10/s), and the gap says channel order matters in this circuit, nothing grander. And 100% is itself a simplification: a real fly also has slower escape routes that do not go through the Giant Fiber.

The honest boundary, stated on the site and repeated here: this is a connectome-inspired circuit, not a brain simulation. Not FlyWire, not MaleCNS at runtime, not a claim about animal behavior. It is three cells done carefully instead of a hundred thousand done vaguely.

4 · A slot for a brain

Everything above the brainstem is a slot. A brain is anything that fulfills one contract: given the fly's state — the four signals (food proximity, threat, light, novelty), energy, clock — return one behavior (approach / avoid / explore / freeze) and a confidence. Four brains ship:

  • MANUAL — you drive. The baseline every other brain is measured against.
  • GENES — the auto-pilot: fixed gene weights steering by the same signals. The wild type's brain.
  • CIRCUIT — FFW-CX/0.1, a 24-neuron spiking circuit with connectome-inspired structure, firing at 10 Hz, softmax over four motor programs. Its randomness is entirely at construction time, which is what makes it examinable.
  • JUDGMENT — a judgment model in the slot. Which kind is the next section.

Every decision a deciding brain makes — signals in, distribution out, behavior, confidence, danger read — is sealed with a content hash and written to a log you can download at the end of a generation (flyline-log/1). (The GENES autopilot steers by fixed weights and makes no judgment decisions, so its log is empty by design.) The brain chooses; the brainstem jumps. That division is deliberate: high-level decisions are pluggable, the reflex that keeps you alive is not.

5 · The judgment layer

The newest brain speaks the language of typed judgment models — the System One style of API (Jev is the best-known example): you ask for a choice among behaviors against written criteria, and a score for danger, and you get typed answers with confidences instead of prose. This is a better shape for a game loop than a chat API for three reasons: decisions are structurally parseable, confidence is a first-class number you can put on the HUD, and — the part the ecosystem keeps re-measuring — small judgment models are fast and stable. Reported numbers from teams using them as judges: variances 92–913× lower than LLM judges, ~$0.00035 per call, ~0.44 s latency. We treat those as other people's measurements, not ours; our own measurement is simpler: one decision per second, in game time, in a closed loop.

The engineering rules we hold ourselves to:

  • Pinned versions only. The remote path runs a pinned model version, never a floating alias. A brain that silently changes under you is an unexamined brain.
  • Free offline default. No key, no problem: a local heuristic judgment brain runs in the browser at zero cost, zero network. The remote model is an upgrade, not a requirement.
  • Same-origin proxy, guarded. Remote calls go through one endpoint: bodies capped, rate-limited per IP, upstream timeout, keys never logged. If the remote fails — bad key, slow line, outage — the fly does not freeze in the air: it falls back to the local brain, visibly, with a one-time warning, and the decision log records which brain made which call.
  • Backend-pluggable. The interface is the System One question shape; the server behind it can be the official model, an open clone, or your own. The moat, if there is one, is the decision chain — protocol, latency, fallback, receipts — not any single model's weights.

6 · The exam room

Everything above would be theater without determinism. The whole world — food, predator, drafts — derives from one editable seed, and the game ships a room that proves it: ?bench=1 pauses the render loop, drives the world twice at a fixed 60 Hz on the same seed with the same brain, and compares every decision hash and every generation outcome. Bit-identical runs print IDENTICAL. Anything else prints DIVERGED, and the page says so in plain words: that is a bug report, not a score.

Getting there was a lesson in how many ways "deterministic" leaks. Our leaks, all found and fixed in the exam room: a novelty-memory set that survived between runs, the rival's traits living on the wrong object, predator residue — and the subtlest one, the escape neuron's membrane potential carrying over between runs, so run B's reflex fired on a different frame than run A's. Two more: the wild type's genes were rolled from the visitor's saved seed at page load and never re-rolled, so the same exam quietly depended on your save file; and Math.sin/cos/exp themselves differ in the last bit between CPU architectures, so an arm64 browser and an x64 server replayed different worlds from the same seed — fixed with hand-rolled IEEE-exact math kernels. A survival exam you cannot re-run is not an exam. Now it re-runs, bit-identically across machines.

Two brains, same seed, same paper: on seed 42 the judgment layer finished with 34 eggs, the 24-neuron circuit with 5. Honesty note: the exam room grades deterministic brains only — the judgment brain in a bench run is the free local heuristic, not a remote model (an API cannot be re-run). That is one seed, not a theorem — it is the first row of what this system is for: comparable, replayable survival under identical pressure.

7 · Agents at the door

There is one way for an AI agent to enter this world:

Inside the dish — as a brain. Any judgment model can be the fly. The sealed log is the deliverable: not "the model said" but here are the 52 decisions, hashed, with the outcome. This is the lane the slogan is about.

We looked for prior art before claiming the niche. The open catalogs list hundreds of "model plays a game" projects — but the Game & Simulation corners are demos of play, not closed-loop survival benchmarks; and the nearest neighbor we found — a swarm of connectome-driven flies reacting to a market feed — has no judgment layer, no generations, no survival pressure. The combination (reflex circuit + judgment slot + sealed logs + determinism exam) appears to be an empty row. We would rather be corrected than first; the issue tracker is open.

8 · What we refuse

Nothing is on sale today, and no chain-native economy runs inside the game. The Passport on the site is a soul-bound marker, and the incentive layer written up in /economics is labelled design exercise, no date, nothing on sale. Nothing in the game depends on it. And no cosplay of rigor: the boundaries page says what the model is not, the exam page calls its own failures bug reports, and every public number in this essay is either measured on the live system or attributed to whoever measured it.

9 · Try it

The dish is waiting.