‹ -ish

The toolbox

Everything about the room's instruments — roll 掷骰 · spinner 转盘 · deal 发牌 · vote 投票 · deposit 密存 · clock 计时 · board 白板 · pad 记事 — in one place. Twenty-two cards in five rows, ordered by what you are about to do rather than by when they were written — the dated records wear a historical badge, and a retired row holds the six the track outgrew. Start with whichever row matches what you are about to do.

If you read only one. Asking what「finished」means → the definition of done. New to the track → the architecture. About to build → the build plan. Wondering whether any of it works → the exam. Designing a screen → the setting sheet. Chasing a defect a live game just produced → the ledger first, then its deep write-ups(lifecycle · game-integrity).

1 · The rules it all obeys

Read these before changing anything. The rulings are numbered and referred to by number everywhere else.

The definition of doneThe scoreboard. Thirteen criteria(the owner's five + eight from review), the glossary — one name per thing — and the eight contracts, falsification-tested. Statuses move in the same commit as each ship. The orthogonal toolboxThe architecture. Twelve rulings, the presence properties(§9), and the completeness argument for why these instruments and no others — now eight, since the pad(§13)showed the basis had a private axis missing. Rulings ①–⑫ live here. The tool lifecycleopen · close · reveal — the three phases every instrument rides, the four-rung visibility ladder(明 · 暗 · 盲), and the pill-is-a-tray-icon rule. Rulings ⑬–⑭; tasks L·A·B·C·D, all shipped. The lifecycle auditEvery tool × every verb, asked「which door does this actually have?」— from two live rooms, 2026-07-29. away reached the five cards with a handle and none of the three singletons; the same-turn note was a prediction, not a record. Eight classes; six fixed, C4 part, C8 counted not cured. The ledger indexes it now. The game-integrity auditThe live room test the lifecycle audit closed without — three games on v656, 2026-07-30. The headline was a contradiction inside one prompt: the table forbade reasoning from an unrevealed deposit while the binding said rule by it. Seven defects, five causes — closed by G1–G9, pinned by the exam's seal_traced · count_drift · card_fidelity checks. The ledger indexes it now. Tool defects — the ledgerEvery defect in a persona using the instruments, one row from live-room symptom to the commit that closed it — newest first, kept current in the same change as each fix. The index a session checks before blaming a persona. Backfilled to the v656 deploy; the two audits above are its deep write-ups. The kits-era sweepThe owner's 2026-08-07 report — 「the system is not as stable as before the kits era」 — twelve symptoms, and the five more the sweep turned up chasing them. Every case carries a reproduction, a root cause and a fix; seventeen closed. The shared shape: state that outlives a turn, and the room's ordinary machinery disagreeing with it about who owns what. Read §A/§B before touching a mount or a dismount, §C before anything that raises the thinking egg, and §K before adding an event type.

2 · The build

The ship planThe owner's 2026-07-29 ordering, executed: the mechanical closes, the UI sweep, the dials and the thorough test all landed, and the split shipped ON. Kept as the record of the ordering; current state lives in the table below and the definition of done. The build planT1–T11 step contracts, each written so a cold session can ship it alone. T1–T4 · T8–T11 shipped; T5 · T6 · T7 queued. The findings log lives here too.

3 · The interface a person touches

The setting sheetOne skeleton, five tools — 转盘 · 掷骰 · 投票 · 密存 · 发牌 — where the three sections ARE the lifecycle and only 设计 differs. Live, generated from one config. The top barWho gets the width when pinned cards, a clock, a board, obligations and notices all want the same strip. 待办 > 状态 > 通知 — and how a pill says「yours」, in ten treatments of the one mark the strip has to make. One tool's card, in depthThe poll is the reference tool, rebuilt from an owner brief — the reveal gate, where nobody sees the standings until they have voted, starts here. A tool's picture and its colourA tool is an SVG; a state is a house glyph — the standing rule from the icon sweep — plus the palette: eight tools, eight accents, and the two pairs a person cannot tell apart(记事 and 计时器 are ΔE 6.6).

The deeper studies behind those four — read one when you are changing the thing it studies, not before:

How a pill says「yours」 — ten treatments for the strip's one mark The tool palette — eight accents, and the two pairs that collide The timer card — the one tool with no card gets one, at the ring

4 · The interface the AI touches

The half that kept breaking. A tool a persona cannot reach is a tool nobody uses.

The game deviceThe two sim cycles' verdict, designed:「the GM holds a party app and hosts THROUGH it」— a kit gains a flow block the SERVER runs(deals, ballots over the living, END checks, reveals — process never sampled)while the persona keeps every moment that needs a mind: rulings, recaps, the reveal speech. D1–D4 LIVE — four cartridges on the shelf. The dice specimenThe toolbox's instruments under a running game, recorded whole: the roll card as sealed cups, the board's third row-mode(the ladder), the MOVE button, and the NEW pieces the game grew — the strip(a composer that fills, clamped by the server's legal envelope), the 👍 tick-as-confirmation, the flash voice wearing the persona's capsule. The three-engine split(code · flash · pro)and thirteen paid-for laws — read before the next game. The turn splitact, then speak. The persona had to be a careful form-filler and a natural conversationalist in one breath, and conversation won every time — so the turn became two calls. ON by default since 2026-07-30; a console dial governs it, and production's only path runs through it. The deliberate-first turnThink, explain, then set the table — the owner's turn shape: on a SETUP moment the speech publishes FIRST and the act call runs behind the bubble, reading that speech as THE SPEC. The secret does not exist while the host is talking. Measured same-hour: s43 arm 1/2→4/4 · s44 leak gone · s47 4/4. The robustness trackThe levers toward the 90% table — the house's draw(server entropy: hard leaks 8→1), the second attempt, the silence door + the coda, and the verify tail(the loop's look-back). All four levers shipped; the sim loop carries the push now. The world-event roomwake→do — the owner's revelations dissolve the five-beat pipeline into ONE loop: every world change(a human's post, a persona's own act, physics)wakes the minds through a cursor'd, coalescing, budgeted wake door. The study of proven designs(roguelike schedulers · Sims smart objects · event sourcing · AOI · the actor model)+ the migration plan. Phases 0–C shipped 2026-08-01 — the wake door, the call fuse, the firewall and the gatekeeper are live. The play kitsA game's rulebook in one tap(玩法卡): six researched kits, the shelf on the tool sheet — and the experiment: a kit made an UNTRAINED persona host 卧底 by the book. Kits now auto-load on a clear play-ask(prop-gated; the pill consults the same verdict), and the sim loop rewrites each kit as its game closes. The interrogationThe first kit on the shelf that is not a game: you put an idea on the table and every seat presses it from its own life until satisfied — or you say「我答不上」, which since 2026-08-07 costs nothing. The chair guesses your claim back rather than interviewing you; a thread that cannot be settled by talking becomes 待查 instead of being asked a third time. Designed 2026-08-06, BUILT 2026-08-07 — the engine(lib/interrogate.py), the kit, the bench and the room half; grounded in one real 7-seat run read end to end. The floor producerThe staging layer that decides who speaks and how. It was also, for a long time, why tools silently failed to fire. Megaprompt anatomyWhat the model actually reads on a turn, dissected from one real payload — including where the tool manual sits and what it costs.

5 · What was measured

The examThe battery as ONE COMMAND with a score — 50 scenarios now, split-only(the un-split path retired), checks over the event ledger and never the transcript. The founding measurement stands: the split buys reach and spends restraint. exam/run.py --quick is the gate after any manual, brief or kit change. The sim loopsim → improve → sim, one game at a time: authoritative rules → the kit rewritten for its GM reader → the troupe(4 sim users through the REAL app)plays → two-lens analysis → fix at the right layer → loop until two consecutive clean runs at two seat counts. 20Q PLAYABLE — cycle 1 closed 2026-08-01; the per-cycle symptom → cause → fix tables live here. The gauntletThe battery built to lose — after three live games failed under a green exam. Scores the GAME, not the tool: playability contracts, the correction loop, the terse user, the speech/tool seam, and the persona attribution pair. s43–s50 folded into the exam battery; kept as the founding study.

6 · Where the track stands

PieceStateNote
T1–T4 · T8–T11shippedclock · tally · deal · touch drawer · presence properties · dice remake · bid box · reveal trigger
The lifecycle arc(L·A·B·C·D)shippedone lifecycle, one ladder, one timer across every instrument
The turn splitON by defaultthe code default flipped 2026-07-30 and production carries no stored value, so it governs there — rollback is a console 0, no restart. A console dial now, not MAD_TURN_SPLIT(which still pins it for the exam and the smoketest)
The setting sheets · the top barshippedthe sheets are generated from one config; the top bar landed v635. The pages stay as the spec each was built against
T5 · cardsqueued — the hingesize L; gates T6 and T7. Its contract predates the turn split and wants a re-read first.
T6 · the floor · T7 · the outcome bridgequeuedT7's acceptance is the werewolf game, which composes all seven steps
The pad(T12)shippedv636 — the eighth tool: a private per-owner scratchpad that rides a persona's every turn. Storage-shaped so a leak is structurally impossible(never an event, no broadcast, every read keyed by owner); the leak test was written first. §13
Personas as participantsdeferredneed holds user ids only; a human cannot yet require a persona to answer

7 · Retired — kept for the argument, not the status

Each of these was superseded by something in the sections above. They are still linked because the reasoning in them is still good and because a page nobody links is a page nobody can find — retiring is a demotion, never a deletion. Read one only when you want to know why the current shape is the shape.

Host moves — the original product story, six tools; the architecture replaced it internally Host-moves plan — the plan the ship plan superseded; kept for its findings-backlog convention First mockups — where the visual language started, before the setting sheet Furniture — the 原点: why a described die is not one The UI field study — how other chat-based TTRPG apps solved tool UI, gathered before ours existed The scenario battery — the founding hand-played study the exam replaced with a score
The toolbox · contents page, 2026-07-27 · pad 2026-07-28 · definition of done 2026-07-28 · curated 2026-07-30: twenty-three cards became fifteen, two pairs folded into the page each was a study for, and six moved to §7 · folded 2026-08-01: a card-title CSS bug that welded bold phrases into second titles fixed; the executed ship plan, the two dated audits and the gauntlet now wear the historical badge; every card's status line caught up to the shipped state(split ON · G1–G9 closed · world-events phases live · kits auto-load · exam at 50, split-only · 20Q playable). Ordered by what you are about to do rather than by when it was written. Nothing was dropped — every page the track ever had is still one click from here, which is what makes retiring safe. Everything here is reachable from the landing map.