The specimen — how a game earns 100% correctness and a voice

Three games are on the device. This page is not their history — it is what they left behind that a fourth can build from: where the seam between code and mind goes, what is already on the shelf, which mind to spend on which line, and what a second feels like to somebody waiting. The blow-by-blow lives in the game device; the authoring loop in building a cartridge. Every claim here was paid for by a live failure or a measurement, and says which.

The thesis, in one line. A party game becomes worth playing when the world is code and the voice is a mind — every deterministic thing (flow, math, entropy, gates, verdicts) executed by the machine, every human thing (reading a bid, performing a verdict, answering a rules gripe) spoken by a model — and the seam between them engineered so neither ever does the other's job.

1 · The boundary — what the machine does, what a mind does

Everything else on this page follows from getting this line in the right place. Two questions put it there, and they are worth asking out loud on every new mechanism:

the questionwhat it decides
「If it needs a number I chose, it is not a fact.」whether something the device computes is a FACT it may hand over, or a JUDGMENT it must ask for.「Who got the most votes」— no number, a fact.「Are these two lines near-copies」— needed a cutoff, so it is a verdict wearing a fact's clothes.
「Can the cartridge define it, or must the code carry the concept?」 FURNITURE against GENRE. A board's columns: the file names them — furniture.「Who is still in」: the code must understand what still-in MEANS — genre. Push concepts into the cartridge until they will not go; every time something the code understands becomes something a file merely names, genre becomes furniture and the next game gets it free.

The seam fails in two directions, and both were live incidents. A machine that judges: the floor producer, taught the bidding window, cheerfully declared two illegal bids 合法 — the staging layer holds no rulebook. A mind that counts: the GM tallied three 2s correctly, said 差了一颗, and took the die from the CHALLENGER — right count, inverted direction. The cure for the second is not a better prompt. When the machine holds every term (claim · cups · the applicable reading), the verdict is arithmetic — computed, never asked, and the mind is handed the answer to perform.

And the mirror law: never hardcode what a persona says. A code-authored host line was built once and reverted the same day. The device writes a NOTE — bare facts, plain names, exact numbers — and a mind speaks it. Which mind is §3. Between those two rules sits everything: the device holds the pen (on a cartridge room every mechanical write is the runner's; the persona's are walled and scrubbed, because two writers on one board is the clobber bug by construction), and a directive can shape how something is said but cannot stop it being said — when a prohibition keeps losing, build a door.

2 · The shelf — what a new game already has

The point of three games is that the fourth writes a rulebook, not a runtime. Below is everything that exists, and the sentence that tells you when to reach for it. Anything a cartridge cannot express is REFUSED and falls back to the persona hosting from memory — the vocabulary being closed is the entire guarantee.

The flow vocabulary — nineteen verbs, by what they do

familyverbswhat the family is for
Entropy & dealingdeal · roll · spin · sealanything the world must decide at random and then REMEMBER. ⚠ a fairness the players cannot SEE is broken — dice must look like dice(cups dealt as a card deck were arithmetically identical and rejected on sight).
Asking the tableballot · button · ready · dial_ask · collectevery way a thumb reaches the world. A ballot COUNTS, a button is first-past-the-post and CLOSES a window, a ready check is unanimous and OPENS a beat, a dial asks the table a rule, and a collect is a ruled window with a named validator.
Asking the hostmoment · rule · composethe three shapes of「a mind is needed here」: SPEAK this (facts + obligations, never wording) · JUDGE this (one pick off a closed list) · AUTHOR this (structured content back as data). A moment carries four dials, and they are the cheapest thing in the vocabulary to reach for: voice (which mind speaks it) · solo (this beat belongs to one mouth) · room (how much air it gets) · anchor (the one seat the floor may not empty).
The programawait · end_check · counter · revealwaiting, ending, counting, opening the pile. Every wait wears a dead man; every round has an END check; an exit needs an event of its own or the auditor cannot tell a lawful ending from a violation.
State & consequencescore · eliminate · boardwhat the world does with an answer. The board is a SCREEN, not a scoreboard being edited — a fresh game starts from a dark one.

The furniture — and the contract that makes it reusable

piecewhat it isreach for it when…
The stripa composer-row move builder(steppers, a two-state pill, a move chip). Every tap FILLS the composer; the user sends.any structured move — an auction raise, a guess, a wager.「Compose from the envelope, send by hand.」
The legal envelopethe server computes the compose-space from the SAME module that validates, and pushes it with every update. The client only clamps. you want rule-aware UI without a second rules implementation. A fence is not a judge — the server still rules every send.
The named validatora pure function beside the schema, spec'd by a flowchart, benched branch by branch; the cartridge names it and sets dials, never carries logic.the game has in-game rules the world must enforce(a bidding ladder, a word chain).
The interpreter contracta mind reads a player's natural language into a strict tag; the WORLD rules it. On flow rooms a quick call does the reading and the panel is bypassed.players type moves instead of tapping them. ⚠ the interpreter reads THIS TURN ONLY — history is already ruled.
The ready checkunanimous, OPENS a beat: a centred pill, a tally of anonymous circles, a foot naming only who is owed. Settles in place into its own record.a beat must not open over an absent table. The lapse rule is the cartridge's(everyone listed, or only the thumbs that landed)— those are two different games.
The offer & rule-choice cardsa card with a button, and the tap IS the consent — unforgeable, no yes-reading. The tap then SPEAKS as the tapper's own italic aside.anything changes what is on the table. Every consent is a tap, and every tap is a COUNTED lint — a keyword may PREVENT an action, never take one.
The tick jara legal move's confirmation is a REACTION on the move's own bubble — never a reply. ONE shared jar for every game (ACK_EMOJI: 👍 ✅ 🆗 👌 🎯 👏 ♥️), plain acknowledgment only — doubt (🤔), hush (🤫) and commentary (🔥) were cut: a referee's tick judges nothing.you need「accepted」without conversation.
The ladder boardthe pinnable board as the round's live view: whose turn, each seat's last move, the outcome in bold.any per-seat-state game.
The intrinsic highlightany settle stamps what to mark and the TOOL paints it highlighter-gold — the roll card's faces, the closed poll's correct answer.a card should carry its own reading. ⚠ stamp at the SETTLE so the live payload and the replay draw the same gold from one field.
The quick voice + capsuledevice notes voiced by a small model wearing the persona's profile head as a cached prefix; markers minted by code after. a line that is facts and nothing else(§3).
The head starta call whose inputs do not depend on the table runs INSIDE a window the table is already spending.any pre-computable step. ⚠ it needs a give-up door, or it trades a visible wait for an invisible one.
The lexiconcanonical ids are English and never localize; every word a player sees renders once through the kit's own per-language block.always. ⚠ dials compare by option ID — a label compare is a hidden-logic hole.
The cost split by stepper-room, per-kind: speech · staging · prop · act · authoring · voice · interpreter · translate · dispatch.always, and it is how §3 gets decided with evidence instead of opinion.

3 · Which mind speaks — the tiering decision

Three tiers are available: code(free, instant, cannot judge)· a small model(~1s, ~3× cheaper per token, and up to 60× cheaper on a short line because it replaces a whole cached-prefix turn)· the panel model(the room's own, several seconds, carries the conversation). The decision is not a cost exercise. It is this:

Give a line to the cheapest mind that cannot ruin it. Facts with no judgment in them → the small model, with the facts checked back by code. Anything whose QUALITY is the feature — a verdict that must explain, a lead-in that must intrigue, a ruling — stays on the panel. And whatever the tier: never hardcode the words.

What that looks like decided, with the evidence:

linetierwhy, and what was measured
a bid accepted · a round opening · a nudge · a separatorsmall pure recitation. The bidding window went from a panel turn per bid(~5–8s)to one call — median 1.0s to the tick, n>400, and roughly 50× cheaper per bid.
reading a player's phrasing into a strict movesmall transcription, not judgment — the world still rules the result.
the verdict · the opening · the endingpanelthese are the payoff. The verdict must name the answer AND pay the question off; it is 88% of what the room reads.
the question a host authorspanelthe persona's own taste IS the game. It is also off the critical path already(the head start), so downgrading buys zero seconds.
a lead-in that must not give the answer awaypanel — tried small, revertedthe instructive one. Small won every number: 41% faster(2.57s → 1.52s), zero leaks under a guard, ~60× cheaper. It lost the only thing the beat is for — four of five lines opened「Alright」and closed「card's up」, saying almost nothing about the question they introduced. Reverted on the words, not the numbers.

Two things that make the decision honest. First: every provider call goes on the room's books, and the books say which STEP — an unbilled call is a step that cannot be seen and therefore cannot be chosen against(three were free in the record for months; a 19-call game reported 14). Second, the number that reframes the argument: on a real five-question night, speech is ~88% of the spend, authoring 9%, staging and the prop under 1% each. The steps that feel expensive because they are annoying are not the steps that cost.

⚠ And the failure mode of measuring at all: a number can only compare what it measures. Latency and leak-rate both favoured the cheaper mind above; neither could see that the lines had stopped being about anything. Where the output IS the feature, read the output.

A side call has to be given the world the panel already has

The panel call carries every persona's profile. A call taken off to the side carries only what you hand it, and for three games the question-authoring call was handed a name. A name is not a description — it is a lookup key into the model's own priors, which hit a rich entry for the famous and almost nothing for everyone else. So the failure scaled inversely with fame: Musk and Jobs asked about Raptor and the Macintosh, and a Welsh venture investor, evoking little, fell through to the only other steer in the prompt — the room's language — and spent his quiz night on Tang poetry. Uneven priors are the exact condition a persona library exists to abolish; a name-only prompt hands the job straight back to them.

Keywords(role, tags)fix the direction and not the substance. The profile's fact-bearing half — at a glance · specific memories · timeline · background, voice sections deliberately left out — is a few kB that caches per persona and costs about a tenth of a cent a round. Same persona, before and after: 「哪本唐代诗集…」「1995年4月,我在斯坦福那辆拖车里给杨致远和费罗开了一张支票,我给了他们多长的考虑期限?」

Where it sits decides whether the call still works. Dropped in between the ask and the output format, 13 kB of profile prose buried the format spec, and the model answered in the register of the wall it had just read: prose. 174 authoring calls for five questions, 169 unusable — while the questions themselves read beautifully. The eyeball test passed and the meter went up 35×. Position is the dose: the format spec goes last and alone, the stable world goes in the cached prefix, and everything that changes per round sits between them. Back to 5 calls, same questions.

what the side call was givencalls$/callcache hit
a name5$0.000250%
role + tags10$0.0003118%
the world, buried mid-prompt174$0.0001496%
the world, format last5$0.0009451%

Four times the price per call, a third of a cent more per game, and authoring moves from ~9% of the night to ~29% — speech is still the thing that costs. Read the middle row twice: per-call cost went DOWN while the bill went up 20×. A per-unit number cannot see a loop.

The 0% is the sharper finding. The old prompt cached nothing — not for being small, but because Author question #3 sat in the system prompt. One integer changing at the front of the prefix made every round a fresh write for the life of the feature. That is also why the layout is a compromise: caching wants the stable text first and positional dose wants the format last, so the big stable world leads, per-round churn sits in the middle, and the ~150-token format block trails uncached — the cheap thing to give up. Warm-up is per persona, so a three-persona night warms three prefixes and lands nearer 40% than the 96% ceiling.

4 · The felt second — what a wait costs

Responsiveness is not「the API is fast」. It is whether a person alone in a room believes something is happening, and it decomposes into four disciplines and two laws that were each a live complaint first.

Any wait a PERSON waits through shows the thinking bubble. It tracks the room's experience of waiting, not the plumbing's idea of a turn — the authoring call is a real model call but not a TURN, so the one signal that raised the bubble never fired and the room sat dead. Its sibling: a clock the room can SEE is the only clock — a card that counts to 0:00 and closes 30s later has lied, and margins that were correct under an instrument(which closes itself)become dead air under furniture.

Chosen silence must be legible too: an all-structure turn is not「the panel didn't respond」, a held turn dissolves its bubble instead of breathing forever, and a wait with two owners needs ONE of them responsible for ending it — a head start that walks away silently leaves the room waiting out a five-minute dead man.

5 · The voice — personality without hallucination

What keeps a small mind honest is fidelity by construction, not by instruction: every roster name, every number(accepted in either script)and every bold span must survive into the line, checked by code; the mention markers are minted by the device on the way out, never trusted to the model; one cold retry carrying a checklist of exactly what must survive, then the full fallback. What keeps it alive is the persona capsule — the profile's head riding every call as a constant, cache-friendly prefix — warmth behind the guard, and one varying fact per repeated note so identical moments stop producing identical lines.

MrBeast: 「好,@Nora先叫。一共15颗骰子,你们三个都5颗……来吧,别怂。」
村上隆: 「开来看。全场四:零。一点五个,但斋了不算。这局是斋到底的。」

A hype-man and a superflat artist, from the same note, neither dropping a digit. ⚠ Two warnings the guard itself taught: fidelity is cultural — the English voice paraphrases harder than the Chinese one(64 dropped-fact rejections in one game), so re-measure per language. And a guard that fires on innocent prose throws away good lines: a leak check flagged「Tin」inside「Latin」and「Q」inside「question」— match on word boundaries for latin script, substrings only for CJK, where there are none.

How much air a beat gets

The producer sizes an ordinary reply by mirroring the human message it answersclamp(base + msg_len, lo, hi). That is the flatness cure, and it is measured on chat, where a guest message exists. A device beat answers no message: msg_len is zero, so for three games every moment quietly landed on that formula's low clamp (≈2–3 sentences, ≤80 字). Nobody chose that. The verdict — the beat the colour actually lives in — had the least room on the table.

So a moment declares its room: tight | normal | wide, default normal = the floor decides, byte-identical to before. wide raises the lead's ceiling(≤220 字, 4–6 sentences), promotes the short slots from a reaction to a real point, and — the part that is easy to miss — swaps the tail line. A raised ceiling plus 「these are firm ceilings, not targets to fill」in the same directive is precisely how a wide beat comes back narrow.

Room is a length knob and nothing else. Who speaks, in what order, with what recency and jitter, all stay the producer's. A beat that could silence a persona by asking for air would be a second seating rule hidden inside a formatting one.

Steve Jobs: 「正确答案是Mechazilla。……一座塔伸出两只巨大的筷子,在半空中接住一栋从天上掉下来的大楼。」
Elon Musk: 「那个名字是团队自己起的,不是我。IFT-5那天,助推器离QD臂只有一米半的余量——筷子合上的时候,控制室里没人敢呼吸。」

The second voice used to be one tight line of agreement. Given a real slot, it brought a memory instead. Measured across two live games, same cast, same language: median 84 → 90 字, longest 160 → 198, ~151 → ~192 字 per round.

And a wide beat must actually contain a wide slot. The producer deals leaderless shapes on purpose — an anti-metronome move for chat — but that is exactly the deal where a raised lead ceiling applies to nobody, so 「wide」 silently bought nothing on 2 rounds in 5. Both gates were green throughout; the live log found it. A declared size now guarantees one voice with room, and the deck keeps everything else.

The seat the floor may not empty

Who speaks is decided by recency — least-recently-heard first. That is the right default and it has one blind spot: it will cheerfully mute the persona who authored the round. When it does, the answer still gets read out and the account of where it came from goes missing — which is the whole reason a quiz asks personas for questions instead of dealing them from a list.

So a moment may declare an anchor: one seat the floor may not empty. It is symbolic in the cartridgeasker)because the seat is not known until the round is played, and it resolves to the slug stamped on the card at compose time — the same one the byline shows. The lowest-priority slot yields, never the lead: the anchor is owed a seat, not the floor. Live three-persona night: present in 5 of 5 verdicts, forced to lead none of them — which is the good pattern, one voice stating the answer and its author supplying the story behind it.

6 · The laws, by family

Each row was a live incident or a measurement first. This is the section to read twice.

Directives — what you can and cannot ask a mind to do

A directive shapes HOW something is said; it cannot stop it being said. Three prohibitions lost in a row. When a prohibition keeps losing, build a door.
Position is the dose. The same clause first-vs-last measured 3/8 against 7/8. The line that decides whether a turn reaches the table goes LAST, nothing after it.
Facts and obligations, never wording — and no example speech: one anchoring example converges a whole cast. Two personas on one cartridge must read differently or the design has failed.
The not-yet answer is named, or it is never written. A closed list must cover the turn the host is actually having.
One call carries a choice; it cannot reliably carry authorship. A RULING rode one call 9/9; the same shape lost the tag 3-of-9 then 5-of-9 for a COMPOSE. Measure per shape.
A permission and its own denial cancel out. A raised ceiling with「these are firm ceilings, not targets to fill」still attached is how a wide beat comes back narrow. Whatever you loosen, find the sentence that was holding it.
A fact with no value is worse than no fact.「the sealed word, now public:」 with nothing after the colon is a fact-shaped hole, and a mind told to state it fills it from the round. Ship the value or drop the fact — never the frame alone.
A directive that asks a mind to READ something must run after the thing exists. 二十问's seal was staged behind the opening speech, so the host was asked for the secret's category「read off your own card once it lands」— off a card that had not landed. It invented one, and twenty rulings then answered the word it had imagined, right up to a reveal that matched the memory and not the card. The pace dial points either way; pointed wrong it makes a mind improvise the one fact the world was holding for it.
A name is a lookup key into the model's priors, not a description. Rich entry for the famous, nothing for everyone else — so a name-only prompt fails inversely with fame, which is precisely the unevenness a persona library exists to abolish. The panel call carries every profile; a call taken off to the side carries only what you hand it.

The world — what the machine owes the table

The verdict is arithmetic, and one number in view, ever — handed both readings side by side, a host said 一颗都没有 over a wild count of 2.
Every wait wears a dead man — and a dead man must never invent the thing it waited for. Nudge, then fold. A ritual wait(entropy)may be completed by the house; a judgment wait may not, ever.
An exit needs an event of its own. A world that does not record what it did cannot be checked.
A law stated for one instrument is owed by EVERY instrument. Every exit publishes the pile; the cups learned it the hard way at room 2a5d; the sealed ENVELOPE had never learned it, so a folded 二十问 ended with the world holding the answer, saying nothing, and the host announcing whatever it had carried for twenty turns. The instrument missing the law is the hardest one to notice, because nothing it does is visible — and the auditor downstream had nothing to compare against and reported success.
Gate on the CARTRIDGE, not the running game. A gate keyed to「a game is in progress」lapses the moment it ends and hands the room back to improvisation.
The idle fold measures the TABLE's pulse, never the host's. A round that asked TWICE — a ready card, then a ballot — and heard nothing either time is an empty room; ending it there saves the next round's call. ⚠ THIRD SIGHTING, and the third is the lesson. Caught at the compose door, written into the ready card's own comment (「the idle fold reads THIS, never the host's own authorship」)— and still open at the RULING door, where a dead man asks the host to rule and the ruling marked progress. Ten rounds to an empty room with the counter stuck at 0. A law enforced door by door is forgotten at the next door. Make the pulse a thing only a human door can set, not a rule each writer is trusted to remember.
A brake that lives only in RAM is not a brake. The call fuse — the hard ceiling written precisely to make runaway impossible「including runaways from bugs not yet written」— was never persisted. So it never counted from the last HUMAN; it counted from the last HYDRATION, and both a restart and an LRU eviction re-hydrate. A room beating once every sixteen minutes never reached 4 of its 12 before the next reload zeroed it, and spent three days under a ceiling it never touched. Any invariant that spans time has to outlive the process, or it is only a within-session convention.
Nothing in the room asked whether anyone was there. Every self-starting producer — dead men, a clock's ring, an instrument's deadline, the wake door, the coda — asked only whether work was queued. Merely LOADING a room re-armed its dead man, so a glance at a chat started a countdown to a paid turn. The gate needed no taxonomy of producers: anything a human's own action caused rides through by construction, because that action stamped the clock a moment earlier — what is left over is exactly the set with nobody waiting on it. And judge it on the fact a person can predict (「cold for a day」), not on one they cannot(「…unless somebody is looking right now」).
Everything that mounts needs a way off, and「deliberate」is not an expiry. A kit's only exit was its own cartridge's game ending — so a CLASSIC kit, a cartridge that DECLINED the table, and one kept between games(deliberately: 「a table that just finished usually wants another」)had no exit at all. 285 inert mounts, 253 over a day old. The retention was right; the absence of a clock on it was not.
Work attributed to nobody is invisible to every meter you own. A turn no human asked for has no contributor, so it is billed to no user, counts against no spend cap and appears in no usage view — which is how a room ran for three days without surfacing anywhere. The spend a system makes on its own initiative is exactly the spend most worth watching, and it is the spend a per-user ledger cannot see.
Never call a public door from inside a locked block — the room lock is not reentrant and the deadlock is instant.

The surface — where a correct world still reads wrong

Reuse the SHELL that matches the meaning, not the machinery that happens to fit. The ready check was built on the ballot because every part fitted — and shipped the poll's whole face: a status band, option rows with vote counts, a slot in the instrument cap, for a thing that asks no question. The tell: a CTA costing an instrument slot.
When a thing changes STATE, change it WHERE IT IS. Re-creating it elsewhere makes its position a function of timing, and timing is the one thing a stream cannot promise.
Nothing may append to the stream before the pass that clears it, and a card must never overtake the bubble that announced it. Both looked「intermittent」because any later broadcast repaired them.
A board written is not a board seen; publish the projection as you write it, on the channel the client listens on.
Colour is the affordance grammar — coral is a control you may press, grey is a statement; an indicator is one glyph, never a disabled-looking choice.
A whitelist in a REPORT is a way to be confidently wrong. The console's cost table read a fixed list of six kinds and silently dropped every kind added since.
When the SYSTEM makes a move, say so — and name no actor. A kit the room cleared by itself first reused the hand-unmount line, which reads to the table AND to the host as a move somebody made and everyone missed. It got its own sentence(and carries the reason: 「cleared itself — the table had been quiet for 94 hours」), on all three surfaces a returning reader can meet it on — the live capsule, the replay row, and the host's own context. The tell is a 「· by」 with nobody to put in it: an actorless change that borrows an actor's phrasing is a small lie the next turn will build on.

Testing & measurement

A check that cannot tell nothing from something is not a check, and a law that cannot fail is a law nobody is checking — every new rule gets a negative control.
When a subject's ABSENCE is itself a possible defect, absence must FAIL. An un-reached seam and a game that never opened its box are the same empty list in the report — so「nothing was opened this run」passed on exactly the runs that were broken. A check whose subject can go missing needs to know whether missing is allowed.
Measure the beat you NAME. A harness that tapped the ready card instantly was still timing the authoring call, so both arms printed the same number whatever the voice did.
A prompt or tier change is not verified by a green test suite — measure it against its own BEFORE, and check what ARRIVES at a surface rather than what got written.
Read the bill, not only the output. The best questions the game had ever produced were costing 174 calls for five of them, 169 discarded. Quality and quantity fail independently, and a prompt edit can move them in opposite directions at once — a change that touches a prompt is not measured until you have looked at BOTH.
Both gates green is not coverage of what the gates do not watch. Two of five verdicts came out with no lead at all; 391 checks and the smoke test said nothing, and the live log said it on the first read. Play the game and read the log.
Fixtures are CHOSEN, not named: naming a kit meant that the day it grew a flow block, ten unrelated checks went red.
The sims cannot find what only happens to real people taking real time. Four of the owner's bugs were exactly that, and three were timing tuned on a bench where nobody reads, laughs, or thinks.
An in-memory assertion cannot test a durability fix — only the FILE can. The inert dismount cleared the kit, then died in persist(); the instance said unmounted, the file said mounted, and the next load would put it back. The test asserted not room.kitthe exact value the bug leaves correct — so it passed on the broken build and the guard's own log line said the kit had stayed. A half-applied change is worse than none, and where a defect can leave memory and disk disagreeing, an assertion that reads only memory is agreeing with the wrong one.
The first REAL room is a test the bench is not. That same bug survived nine green checks and died on the first genuine room it touched: the fixture's path never reached the derived cache the sweep needed, because a bare fixture has no cast worth resolving. After the bench and before the claim, run it once over the actual backlog.
An intermittent red is a finding, not noise — and the thing that changed its FREQUENCY is rarely the thing that caused it. A billing pin began failing ~50% of runs the day a prompt lost one line; the prompt only moved the sampling. Underneath, an empty-completion retry was tallied to the session and booked on no event, so the room's ledger under-read by exactly the wasted attempts — the same defect one layer over from the one that pin was written for. The check was right and had been right for weeks; it simply had not been asked often enough to be believed.

7 · Running the next game against this page

The loop, in order — each step exists because skipping it cost a day:

  1. Read the game's own rulebook and list what it needs that does not exist. Then write the CARTRIDGE first: it forces the vocabulary and exposes the gap far better than reasoning about it. Deleting the flow block must leave a playable rulebook.
  2. For each missing piece ask §1's two questions — fact or judgment, furniture or genre — and prefer furniture even if only this game wants it today. §2 is what you do not have to build.
  3. Split every line the host will say by §3, and wire the confirmations: the tick on accepts, the board as the round's live view, bold on the decisive fact.
  4. Every consent is a TAP — a card with a button, never a keyword or a model's verdict — and if the game adds one, add it to the counted lint.
  5. Wherever a mind translates a player's words into a strict form, walk every phrase the teaching can produce through the validator. A refusable sentence the machine itself writes is a void the player will be blamed for.
  6. Bench first(a whole game per scenario, no server, no model, no cost), then live with the console open(refusals and heals print there and never reach the saved record), then the battery — all nine kinds, not the two happy ones.
  7. Then the audit driver: sim players driven by an INDEPENDENT replica of the rules, playing full games with deliberate illegal moves, checked on five dimensions after every move. Three or more full games before a human ever plays — then the human plays.
  8. Then measure what a person feels§4), and read the output, not only the numbers.
  9. Write down what this game found in the EXISTING code, and add it here. That is the real yield: 20Q found four of one genre's assumptions sitting in general code, and no amount of staring at the first game would have surfaced any of them.

The record of each game's own pass — every door, every scar, in order — lives in the game device. This page keeps only what generalised.

-ish · the specimen · begun 2026-08-03 from 大话骰's hand-prompted build, rewritten 2026-08-05 around what THREE games left behind rather than the order they left it in · 2026-08-06: nine laws added from THE SLOW BLEED — a room that played itself for three days to nobody(the brake that lived in RAM · the pulse read off the host · the beat with no listener · the mount with no exit · the spend nobody was billed for · the system move that named no actor)and what testing it taught(memory cannot verify durability · the first real room · an intermittent red is a finding) · §7 is the loop — run the next game against this page, then add what it found · the per-game record: the game device · the authoring loop: building a cartridge · siblings: the i18n plan