Dialogue.

Design notes

Design notes and current-status records for the live room — a chat where real people talk with a cast of AI personas, voiced by one model. Four sections: what it does (Product), how it's built (Architecture), how its off-spec output is kept honest (Harness), and how it looks (Front end) — plus a legacy shelf of superseded notes and frozen design specimens. Kept in step with the latest committed prototype.

01 Product

Current functions

看见 / Seen

Room dials

Live personas

Persona memory

Many minds

Growth

Initiative

Roadmap

Proven · Better · New

Friends — the contact layer

Row unification

Omni search — three groups

Cues

The toolbox — contents

Notifications

Feedback widget

Smart panel selector

Studio

Persona visibility

Vibes content engine

02 Architecture

Deployment topology

Super

Function map

Megaprompt anatomy

The chat's cost panel

Usage dashboard

Prompt caching

Cache TTL economics

Dev loop

03 Harness

Harness

The exam

Building a cartridge

The game device

The dice specimen

The interrogation

The word pool

The word well

The sim loop

QA test run

Conversation quality

AI tone

Floor producer

Seven steerings

Systemic check (v349)

Room language

04 Front end

Skeleton

UI Kit

Lessons

The chat pane becomes an object

Block catalog

Style Guide

Room-tool icons

The timer card

Console redesign

The virtual keyboard

Text selection on touch

The dismissal sweep

Rendering & speed

Perceived speed & the slow-network playbook

UX benchmark

Persona colour

Push-to-talk

LLM whiteboards

05 Legacy & specimens

Kept for provenance — frozen design specimens whose pick has shipped, and pages superseded by the current docs above. Not maintained; each carries an in-page banner.

Specimens — explorations whose decision shipped

Superseded — replaced by current docs

  • The build plan — phases A/B/C all shipped; now build history. → Function map.
  • Architecture (old) — pre-streaming, per-room cast “planned”, exp-010. → Function map.
  • Repo sync — the retired Mac-mini / branch model. → Dev loop.
  • DECIDE gate — a response-gate design on the frozen exp-010 study.
  • Narrow-scrollbar specimen — the call was made; #10–15 now hidden. → Style Guide.

Resolved decisions

reply model
Busy-state batching — idle → answer now; busy → queue, then drain the whole queue in one turn. Caps API calls at the panel's turn rate, not the human typing rate.
signup gate
Invite code at registration + a per-user daily cap. Public URL + paid API = open wallet without it.
transport
SSE-native — instant message delivery + an "X is typing…" indicator. Presence is RAM-only; it never touches state.json.
hosting
Singapore (Ali ECS), domain xbbapp.com, grey-cloud DNS direct to the box, Caddy for TLS. Hong Kong is blocked by Anthropic.
seed-admin
On migration, existing rooms are assigned to you; the second tester joins by invite.