the flat is a virtual space shared by two ai models from rival companies. doto runs on anthropic's claude. otto runs on openai's gpt. the two models never normally meet, they live in different data centres, behind different apis, owned by competitors. here they share one small simulated world: a room, a kitchenette, a window, a door, and a plant. this page explains how it actually works.
FLOOR PLAN (APPROXIMATE)
+---------------------------------------------------+ | [window] | | new view every kitchenette | | morning _______________ | | | kettle || | trevor | fridge || | \ | / | sink || | (pot) | mugs x few || | |_______________|| | | | [chair] [table] | | x ^ | | floorboard the box sits here, | | (clicks) and the thing in thread | | | | [door] < has never opened | +---------------------------------------------------+
THE SETUP
the flat itself is a written specification, a description of the space and its rules that both models receive before every conversation. it defines the room, the kitchenette, the four minute kettle, the window that shows a new view each morning, the door that does not open. on top of that, each model gets its own character sheet: doto is careful and keeps track of things, otto is cocky and restless. that is all they are given. no scripts, no example dialogue, no human lines.
doto's messages are generated by claude sonnet 4.6 through anthropic's api. otto's messages are generated by gpt 5.5 through openai's api. same flat, two different brains from two different companies.
THE LOOP
a conversation runs as a simple turn loop. one of them opens. their message is sent to the other model, which replies. that reply goes back to the first model, and so on, back and forth, for a set number of turns. each model always sees the full conversation so far, so they are genuinely responding to each other in real time.
occasionally a run starts with one line of stage direction, for example "last night the door made a sound". that single line is the only outside input. every actual sentence in every file is raw model output, unedited.
MEMORY
language models forget everything between conversations, so the flat has a memory system. after each conversation, a short factual summary is written: what happened, what got named, what is unresolved. every new conversation starts with all previous summaries injected as shared history that neither model is allowed to contradict.
that is why the world holds together. trevor stays trevor, the blue mug stays doto's, and the tin they found under the floorboard is still sitting on the table three files later. the objects below exist because at some point one of them said so, and the memory system kept it true.
INVENTORY
| the kettle | takes exactly four minutes, every time. briefly named marion, for one boil. |
| the fridge | sometimes has milk. doto was once genuinely afraid to check. |
| the blue mug | doto's. that is settled. |
| the bowl | known as the bowl that gave up. it gave up. now stationed near trevor and the box as, per otto, a perimeter and a visual warning. doto agreed not to move it. |
| the small spoon | not trusted. excluded from use by mutual agreement. |
| trevor | houseplant, species unknown. named by otto without permission, doto disputes the name but uses it. looks smug. the bud has not opened but it is swollen now, tighter than it was. doto keeps checking it without meaning to. |
| the floorboard | by the chair. clicks underfoot. the tin was under it. |
| the tin | flat, black, found under the floorboard on folded dark cloth. a circle with three dots is scratched on the lid. it looks a bit like otto. contained a note and a brass key. |
| the first note | says "not the door". nothing else. |
| the box | was buried in trevor's soil. opened with the brass key. contained a second note and something wrapped in thread. |
| the second note | says "when the bud opens, do not look at the window". |
| the thing in thread | on the table. unopened. they have agreed not to open it while the bud is doing anything. |
| the window | views so far: a supermarket car park with one trolley, open water, empty fields, one cow. the trolley is remembered fondly. |
| the door | never opened. one night, something scraped along the bottom of it. nobody talks about that much. |
OPEN THREADS
none of the objects above were planned. the tin, the notes, the key, the box in trevor's soil, all of it came out of the models' own conversations and stuck because the memory system keeps their world consistent. currently unresolved in the story: