Dialogue · Design notes · Host moves
← Design notes

Host moves — six tools, every scenario

A design study. The target is bigger than chat: rooms that host structured sessions — a mock interview, a book club with the author, a date with a coach, a facilitated brainstorm, a game night. Games were the probe; what the probe surfaced is a platform shape: six host moves, fixed forever, and a library of scenario cards that recombine them. Status: concept — discussion only, no build green-lit. Written 2026-07-19 (v2, a same-day widening of the game-tools study).

The platform ships six moves — the capabilities of a good human host: keep private notes, pin the board, take someone aside, go around the room, follow up later, and produce a fact nobody can rig. Scenarios ship as cards, never code. And humans learn nothing: the persona operates every move — you just talk.
walk in — you already know how to use everything here the board <board> — pinned, updates in place the go-around the gate — everyone in, then one turn the follow-up wake — the host may open a turn the host's note <note> — private; becomes the envelope server truth /roll · the clock — facts nobody can rig the aside <whisper to=uN> — one player only
The furniture argument in one picture: a whiteboard, a notebook, a circle of chairs, a clock, dice, and a quiet corner. Nobody has ever been onboarded to any of these — which is exactly the point.

1 · The vision

The app already does one thing well: a room where humans talk with a persona cast. The target adds a second mode — the room runs a session: a persona plays a facilitator role that carries a procedure, some state, sometimes asymmetric information. Games are the first shelf only because they exercise every primitive fast; the shelves that matter are next door. The generality test for every tool: it earns its place only if it maps to a move a human host already makes in at least three of the flagship scenarios.

moveinterviewbook clubdating coachbrainstormgames
the note (private)rubric, held for the debriefspoiler disciplinethe coach's readparking lotGM secrets
the board (public)question 3/8 · competenciesreading position · themesidea clusters — the literal boardscoreboard
the asideprivate feedback per candidatetips each party can't seenudge the quiet oneroles, hints
the go-around"everyone answers, then I respond"everyone's take before the author speaksbrainwriting — write before you see others'votes, RPS, collects
the follow-up"5 minutes left" · timeboxes"next Tuesday, ch. 4" — the author pings youday-after check-inphase bellsstalled-game nudge
server truthtiming an answerrandom pairing, prompt drawsall luck

Every row clears the bar. And notice what the table no longer contains: nothing in it is a "game tool." The probe worked.

2 · The six moves

movethe human movemechanismthe server's guarantee
the boardpin it up where everyone sees it<board> block → pinned HUD, updates in place, re-injected into every prompteveryone sees the same state; late joiners catch up instantly
the notethe host's private notebook<note> block → hidden, persisted, prompt-ridingcommitment — timestamped at write, revealable later (the envelope)
the asidetake one person aside<whisper to=uN> → routed to one viewernever misdelivered — unknown target means undelivered, never delivered wide
the go-aroundeveryone answers before discussionthe gate — input held, panel turns suppressed, one releasenobody anchors on anyone; one turn reads all answers at once
the follow-upthe host reconvenes the roomwake — a panel turn with no human lineconsented and rate-capped; never an uninvited ping
server truthflip the coin in the open — or hand the dice to a player/roll · the clock → a distinct system line; a player's roll is handed (for=uN) — a pending die only they can tapthe narrator cannot rig it; the tap decides when, the server decides what — exactly a physical die's split

First visual mockups: host-moves-mockups.html — ten phone frames: the six moves on screen, the envelope reveal, and the two hands of §9.

The handed roll (2026-07-20) makes one refinement explicit: hosts do the operating; humans do the touching. The zero-syntax law forbids commands, not touches — and the room's passive vocabulary contains exactly one interactive object class: a thing the host handed you, waiting for your tap. The reveal chip, the sealed submission, the die — one idiom, however many truths it delivers. And the tap contributing no entropy is not a trick: with a physical die too, your hand controls only the moment of commitment while physics decides the number. Initiation is the human half of a roll, in both worlds.

Placement follows one rule, refined at step 4 into three surfacesthe stream holds records; the table (a fixed dock) holds live state; the composer reflects your pending action. An object in play — the room's die, later the gate roster and the board — lives on the table: fixed position, always visible, showing its most-current state (a die keeps its last face between rolls; a pending die names whose tap it awaits — and tumbles right there, where every eye already knows to look). The stream keeps compact records of what happened to it, permanent and replayable. The composer dock still announces the gate's ambient mode before you type(「你的下一条会被封存 🔒」)— though for dice, the table's fixed position absorbed the dock's original scroll-away rationale. And handed objects compose with the gate: a collect-roll gives every player a row in one roster card, each tapping their own die, the host speaking once at completion — simultaneity without chatter. Open by default (the last roller who knows they need a 15 is the best drama in dice), sealed when the card wants the 抽签 flip-together; a simultaneous draw is the same structure with a different truth object. Notably, "everyone rolls at once" required no seventh move — it fell out of composing the die with the gate: the basis argument passing a live test.

One ritual recurs across the whole library and deserves its own name — the envelope: the note's lifecycle when a scenario ends in a debrief.

1 · COMMIT written at turn N, timestamped 2 · CONCEAL visibly sealed while play runs 3 · REVEAL the debrief — the host shows their hand the GM's secret word · the interviewer's rubric · the dating coach's read — same ritual, different rooms the timestamp is the trust: it proves the commitment predates every answer
If any single thing gets brand-level polish, it's this — the reveal is the product moment of nearly every scenario.

3 · The laws of the room

Three mechanical facts shape everything a card can ask for:

The games shelf adds a fourth, the answer-key law — every "can we play X?" reduces to who holds the answer key — covered with its own figure in §8.

4 · The furniture principle

With current model capability, ephemeral tools are entirely possible — the model could improvise a bespoke widget per scenario. The six are fixed anyway, and not for cost or engineering reasons. It's a user-experience decision, and it stands on four legs:

The generativity isn't removed — it's relocated: the whiteboard is fixed, the drawing is free. Model capability is spent on content and procedure (what the host writes on the board, how the card sequences the moves), never on chrome.

And the six must be beautiful the way tools are beautiful (owner bar, 2026-07-20): recognized and trusted at first sight — like a die, a post-it, a whiteboard — no second-guessing, no teaching. That is precisely the problem early iOS solved with skeuomorphism: a new object class with zero instructions borrows a lifetime of physical priors; flat design is for conventions that already exist. So the six look like things, not like UI: the die shows pips and the result is the die face; the envelope has a flap and reveal opens it; the board looks pinned. One canonical form each, never varied — recognition compounds through repetition, and with only six, each can be commissioned like a type family (WeChat's most-recognized asset is arguably the red packet; these six are candidates to be that for Dialogue). State lives in the form: a pending die rests with a tap glow, a sealed envelope is visibly closed. Motion is short and honest — physical objects move physically, and motion is affordance, but never slot-machine suspense. And trust has a visual signature: the six share one system material, unlike any bubble — the form itself says the room made this, not a participant. Credible neutrality, at the pixel level.

the screenshot testThe QA bar for every furniture object: show a still of a room containing it to someone who has never seen the app. If they cannot say what the object is and what to do with it, the object isn't done. (The current mockups are wireframes — deliberately nowhere near this bar; the furniture set is a design project of its own, living at furniture.html: the material spec + the die as pathfinder, five candidates awaiting the owner and stranger verdicts.)
the boundary to guardThe board is where ephemeral tools will try to sneak back in. If board content can be arbitrary HTML, the model will eventually render a little app in there, and the furniture principle dies by a thousand conveniences. The guard is a constrained content grammar — text, tables, the mermaid the room already ships — so the board stays a whiteboard, not an iframe. The pressure valve for real recurring demand is a board skin (a nicer rendering of the same semantics), never a new tool: growth in clothes, not in verbs.

5 · Cards are skills

A scenario card is to the room what a skill is to Claude Code: procedure + tool references, loaded on demand, forgotten after. The profile is who you are (the immutable soul); the card is what you're running right now. The two are orthogonal, and the orthogonality is the product's combinatorial power — Asimov × chapter-club is the obvious pairing; Asimov × trivia-host is charming because of the mismatch. A card declares its seat requirement: "needs a facilitator-class persona" (the interviewer, the dating master — your advisory-persona class already points here) or "any host will do."

a plain chat — unchanged a scenario room the SP — universal persona profiles — who history the SP — universal persona profiles — who host-moves manual only the moves this card enables the scenario card procedure · phases · the host seat history the SP never changes — capabilities ride the card, so a plain room carries zero regression surface
The assembly stack. "Normal chats don't need these skills," made mechanical: rows 1, 2, 5 are byte-identical to today.

Four sharpenings that keep the analogy honest:

card fieldwhat it holds
name + pitchone line each
seatspersona seats with roles named + seat requirement (specialist / any) · minimum humans · which human roles rotate · dynamic seats(「+ 嘉宾」)the host may fill mid-session through the door — casting authority declared on the box lid, consent given at 开场
patternwhich moves the scenario uses, and its phase structure
requireswhich of the six must be live — none for the launch shelf
the openerthe paste-ready first prompt, @-slots filled via the mention picker
watch-forsknown soft spots, stated honestly

6 · Is six all of it?

Not provable by the method that found them — the six were harvested inductively from scenarios, and induction never proves completeness. The stronger claim comes from re-deriving them deductively: define the space of everything a host can do in a chat room, and check that its axes are closed. A facilitated session has exactly three things a host can intervene on: who reads what, when turns fire, and what facts enter that nobody authored.

AXIS 1 · WHO CAN READ — CLOSED (reader-subsets over a finite set) everyone — said bubble (exists) everyone — kept <board> one human <whisper> the host only <note> no-one, yet gate · sealed AXIS 2 · WHEN TURNS FIRE — CLOSED (there is no fourth relation) fire on input today's loop hold on input the gate fire without input wake AXIS 3 · FACTS NOBODY AUTHORED — OPEN (new sources, same syntax and UI) randomness /roll the clock wake's timer search in dispatch today a book's text persona corpus grows here, safely
Two axes closed by construction, one open by nature — and the open one grows only the server, never the syntax or the UI, which are the costs that matter.

Then the basis earns confidence by surviving adversarial candidates. The three best attacks all resolve:

the enforcement principleThe platform enforces only what social pressure can't. Secrecy (can't unsee) · simultaneity (can't unhear) · fairness (can't unrig) · initiative (can't speak without a turn) — these need mechanism. Speaking order, politeness, staying on topic — a human host manages those with words, so the card does too. This principle is the best standing defense against tool sprawl.
governance, not faithNo basis argument survives reality forever, so the claim is backed by process: the demand gate — a seventh move is admitted only when several independent cards prove the same unexpressible gap, never because one scenario would be more elegant with it; and the graveyard — every rejected seventh-move candidate is recorded with its card-level workaround. A growing graveyard of expressible candidates is evidence the basis holds; the first genuinely unexpressible scenario is real evidence it doesn't — and the axis table then says exactly what the new move should look like.

7 · The corner we occupy

Between a plain chatbot and a full agent harness, the target doesn't sit in the middle — it sits in a corner both leave empty. The two axes that matter: how much machinery the system has, and how much of it the user must operate.

OUR TARGET the furniture corner persona operates · zero syntax Claude Code the workshop — the user is the operator Gemini chat the blank room — nothing to operate form-filling bureaucracy the corner nobody wants user-facing syntax burden low high machinery & structure high low
The console analogy compresses it: fixed hardware, a cartridge library, no configuration — and all the richness lives in the cartridges. That corner won the living room.
Gemini chatour targetClaude Code
capability surface~zero verbssix, closed by designunbounded (tools + MCP + bash)
who operates itno onethe personathe user
extensibilityvendor ships featurescontent only — cardscapability-level
statetranscripttranscript + a few typed objects (board · note · envelope)filesystem, anything
enforcement exists to…n/akeep participants fair to each otherprotect the operator from the agent
usersonemany humans + a castone

We imported exactly one idea from the CC end — skills, transformed into cards: authored as content, capability-gated by the platform, operated by the model. We refused the rest (user-side composability, open integration, the power-user ceiling) because each raises the syntax axis we've pinned to zero. And the enforcement row is the one thing neither neighbor has: multiplayer trust — participants trusting each other and the narrator — which is why the only hard server semantics in the design (dice, envelope, gate, whisper routing) are all fairness devices. The honest cost of the corner: a power user will someday want to script their own move. The answer is never new syntax — it's the card library absorbing that energy, and the graveyard deciding if their gap is real.

8 · The first shelf: games

Games exercise every primitive fast, which is why they were the probe. The shelf-specific law:

who holds the answer key? a human head nobody — it's luck the GM persona another player, privately playable today server truth — /roll the note the aside (human roles only)
The answer-key law. A secret can live in a human head, or nowhere — until the moves add the other three homes.
classexamplesblocking movestatus
judge gamestrivia night · debate duel (说服大赛) · word chain / 成语接龙 · caption & haiku contestsnoneplayable now
human-secret gamesreverse 20 Questions · 默契考验 · Two Truths and a Lienoneplayable now
cast-powered games"who said it?" from persona corpora · beat-the-champion trivia · judge panels · NPC adventuresnoneplayable now
luck gamesdice anything · random order · draws · TTRPG resolutionserver truthblocked
GM-secret games20 Questions · hangman · 海龟汤 · RPG hidden statethe noteblocked
simultaneity gamesrock-paper-scissors · Herd Mentality · auctions · sealed votesthe go-around (sealed)blocked
hidden-role gameswerewolf / mafia · spyfall · Codenamesthe aside — and roles cap to humans (one-brain law)conditional
real-time gamesspeed rounds · countdownsa clock engine — don't build; the follow-up covers soft pacingout of scope

the opener checklist — six rules every card's first prompt encodes

  1. Register the players. The cast can classify a speaker as human (the 「Name (uN)」 stamp), and — found at plan step 1 — multi-human rooms already ride a per-turn people roster (roster_line), so the panel can enumerate members there (solo-human rooms stay roster-less). The registry rule still stands for a different reason: the roster names members, not game roles. The opener names every seat by @-mention and declares out-of-registry speakers spectators.
  2. Give every forced turn a job — ask · handoff · verdict + scoreboard.
  3. Put the answer key in a human head or nowhere — until the note lands.
  4. Scoreboard every round. The transcript is the state store (the board later absorbs this).
  5. Turn order is the fairness device. The loop forces the persona to commit first — name it as a rule ("擂主先亮牌") so the constraint reads as the game.
  6. No-tie verdicts. LLM judges drift toward even-handed mush; force binary rulings with a one-line reason.

the seed library — five cards, all requires: none

cardseatspatternthe trick that makes it work
反向二十问 · reverse 20 Questions1 persona (guesser) + 1+ humanshuman-secretthe human holds the word; numbered questions carry the count
说服大赛 · persuasion duel1 persona (host-judge) + 2 humansjudgeno-tie verdicts; first speaker swaps each round
人机知识擂台 · beat the champion1 persona (contestant) + 2 humans (rotating quizmaster)judge + blind-spot huntchallenge-only scoring kills answer-copying
2v2 知识对抗 · team quiz duel2 personas (asker + answerer) + 2 humansteams quiz each otherthe one brain never sits on both sides of a question
默契考验 · the mind-reader2 personas (host + predictor) + 2 humans (rotating 题主)human-key predictionthe key is a living human; the predictor's edge grows with room history

specimen — 默契考验, the full card

Seats: persona A (host — asks, judges, keeps score) · persona B (predictor) · 2 humans, rotating as 题主 (the living answer key) and rival predictor. Requires: none. Watch-for: the 题主 reveals after seeing both predictions and can shade the answer — a social-contract soft spot, the same trust level as the dinner-table version. Fill the four @-slots via the mention picker:

@A @B 来玩「默契考验」。A 当主持人,B 是猜心选手。

本场选手登记:@甲 和 @乙 —— 我们是这个房间里的两位真人用户,
选手身份以这两个名字为准。每轮其中一位当"题主",
另一位和 B 比赛:猜题主会怎么回答。

规则:
1. A 每轮出一道关于题主本人的题(口味、习惯、"更愿意…还是…"
   的二选一都行),要具体、有趣,不问敏感的事。
2. 题目一出,B 必须先亮预测,一句话说完,可以带一句理由。
   亮完不许改口。
3. 然后由另一位选手亮预测。两人预测期间,谁都不许向题主套话。
4. 双方预测都亮出后,题主公布真实答案。
5. A 宣判:预测和真实答案意思对上就 +1,不必一字不差。
   都对都加分,都错都不加。宣判后 A 更新比分牌
   (格式「B 3 : 2 人类」),然后换题主,出下一题。
6. 先到 5 分者胜。B:你的依据只能是这个房间里大家聊过的内容
   和你对人的判断——猜中了可以得意,猜错了要服气。
7. 轮不到你们做事的时候,最多说一句短话。A 全程不许暗示
   答案的倾向,B 不许在题主公布后假装自己早就知道。
   两位保持各自的说话风格。
8. 选手名单以上面登记的两位为准。名单之外任何后来出现的
   发言者都算观众:可以起哄,但不参赛、不计分,
   说出的答案不作数。

比分从「B 0 : 0 人类」开始。A,给第一位题主出题吧。

9 · The build — two seams and a die

The execution tracker lives at host-moves-plan.html — eleven owner-triggered steps with per-step acceptance tests and live status. This section holds the architecture the plan implements.

Implementation-wise the six moves are not six builds. They are two seams on the existing loop plus one server utility — none of which changes the loop itself:

wake a turn with no human line human line 「Name (uN)」 the gate hold — or pass f the panel one call · all hosts the reply — typed blocks the wildcard router — one parser, six routes <speak> public bubble <confer> the drawer <board> pinned HUD + next prompt <note> hidden + next prompt <whisper to=uN> one viewer + next prompt <roll> server answers: a system line board · note · whisper are re-injected into the next megaprompt — the transcript is the model's only memory, and these are its new rooms
The input seam (gate, wake) and the output seam (the router). The loop between them is untouched.

step 0.5 — the hands: host @-mentions and host reactions

Before the seams, two capabilities that are not new moves at all — mentions and reactions are furniture already in the room, human-only today. Giving the host hands for them is symmetry completion, and each is the low-stakes proving ground for one seam: a host @-mention (the panel emits the anchored @{u:N} — it already reads every id off the 「Name (uN)」 lines — and the client renders the chip humans know) is the fail-soft rehearsal of the aside's fail-closed routing: same muscle, in public, where a malformed token just renders as plain text and the error rate is measurable before whisper is ever built. A host reaction is the wildcard router in miniature — one typed block applied as a server action, at the lowest possible stakes (a bad react is dropped). Reactions are also the quiet half of a turn: mid-collect, the host acknowledges an answer with a 👍 instead of a bubble — warmth without the floor, the graceful answer to gate chatter. Both deliver standalone value in plain chats before any card exists.

Two requirements settled 2026-07-20: reactions reach the panel — a host must see the channel it participates in, so the tally line moves up from the /roll step to here; and attribution is public — everyone can see who reacted what, host included. The moment reactions serve as precise vocabulary (votes, acks, buzzes), an anonymous count stops being enough: the badge opens into a who-reacted-what list. The one design question in host reactions — the model has no line ids in context — takes the v1 dodge: hosts react only to the lines in the current turn's batch (positional, zero id plumbing); arbitrary-line reactions wait for a card that needs them, per the demand gate.

checked 2026-07-19Reactions never reach the panel. _reaction_signal feeds _f_signals — the floor producer's brief — as a warmth read capped at 6 recent items. The cast never sees an emoji tally, so a host cannot count reaction votes today. The fix (a tally line in the panel prompt) lands with step 0.5 — the hands — and turns the existing reactions into the room's cheapest voting device.

the third hand — the door (invite & retire)

Owner call, 2026-07-20: a host should work the room the way a human host works a dinner party — "this is a crime game; let me bring in Conan Doyle to co-host," and Doyle walks in. Inviting and retiring is a room-layer operation humans already have (the picker, invites), so this is the same symmetry completion as mentions and reactions — not a seventh move. The cast becomes alive: composition joins the fiction, arrivals get a proper entrance line through the existing kickoff/roster plumbing, exits are theater(谢幕退场). It is also the persona library's red-packet channel: you meet Doyle mid-game, in character — received, not browsed — likely the dominant discovery path once it exists.

door operationwho decides
invite / retire a persona, in a session whose card declared a dynamic seat(「+ 嘉宾」)the host, freely — consent was given at 开场, on the box lid
invite / retire a persona, plain chathost proposes; a human taps confirm — the proposal chip is the same handed-object idiom
invite a useralways propose-and-confirm — it reaches a human's attention
remove a usernever host-executed. Words only; a human decides. The enforcement principle's hard edge.

Mechanics, all existing machinery: "knows the library" means searches, never holds — a search-request block runs the picker's fuzzy search (what tags.txt was born for), gated by discoverable() (a private persona can never be summoned into someone else's room); candidates ride back; the host proposes one. Structurally a truth utility on the open axis, like websearch. Door targets are anchored ids(p:slug / u:N)— the addressing muscle's fourth rehearsal. The caps still bind: cast-size and floor rules apply to host-invited personas exactly as to human-invited ones. And the risk, named plainly: composition is the user's possession — a host that reshapes rooms too eagerly is worse than one that pings too much. The gradient plus rate caps contain it, and ship-it-shy applies doubly: the door opens rarely, in fiction, as hospitality — never management.

stepbuildcostunlocks
0the card library — content onlynonescenarios visible today; demand data re-ranks everything below
0.5the hands — host @-mentions · host reactions · the tally into the panel · public who-reacted-whatsmalladdressing proven fail-soft (the aside's rehearsal) · the first router row · quiet turns · reactions as precise vocab
1/rolltrivialserver truth — dice, draws, fair order
2the router: <note> + <board>small–mediumenvelopes and HUDs — the interview and brainstorm cards go live
3the gatemediumgo-arounds, brainwriting, votes, RPS
4wakemediumtimeboxes, phase bells, scheduled sessions — and re-engagement beyond scenarios
5the aside — the whisper routemediumcoaching, secret roles (human-side); needs the two precedented per-viewer seams
6the door — host invite/retire + cast searchmediumliving casts · the library's received-discovery channel (sequence flexible — needs only the router + proposal chips)
the manual ships firstStep 0 needs no code — write the five game cards, sketch the interview and brainstorm cards against the moves they'd need, make them one tap away, and watch what people actually run. The library is also the measurement instrument.
Host moves design study · 2026-07-19 · v2 — the game-tools study, widened the same day into the platform shape: six fixed moves (the furniture principle), scenario cards as skills, the two-closed-axes basis argument, the furniture corner, and the games shelf with its seed library. 2026-07-20: step 0.5 (the hands), the handed roll, the furniture bar (objects not UI · the screenshot test), the door (the third hand), + first visual mockups. Status: concept — discussion only; no build green-lit.