KDG Lab · specimen №004 · run 2026-07-14
The ops board
What does an operations surface look like for a company that is one human + intelligence? Phone-first, counts never verdicts, and every number on the board carries its own evidence. It is live, on synthetic data shaped exactly like the real event spine.
The rulings that shaped it
- Counts never verdicts, enforced by absence. The render layer has no percentage formatter, no delta arrows, no conditional color classes — what does not exist cannot be reached for at midnight. Standing dates are shown with the framework's name beside them, never a pre-read: the board says "Jul 31 · batch-1 M+21 · first checkpoint · in 17d" and stops talking.
- The glass box as an operating principle. Webster's footer ethos applied to ops: tap any number — including the zeros — and a sheet shows what it is defined as, the query shape it was computed with, the window, the exclusions (the house's own
internaltaps never inflate a funnel), and the raw matching events. A number that cannot show its work does not render. - Zero-states are content. Batch-3's funnel row reads "no events — unsent";
tap_call: 0is a real, tappable zero whose provenance sheet says "zero events matched — the zero is the information." - The S52 cohort law, encoded. Cohorts key by
batch_idand order byMIN(ts)of their sends; sendless batches sit last as zero-states. At?today=20260808batch-2 wakes, mails 94, and takes its place by timestamp — no code change, just events. - Time travel that announces itself. The
?today=lever (Webster's keeps-no-secrets pattern) renders any day the fixture stream can support — Jul 17 landing day, the Jul 31 checkpoint, Aug 8 — and the anchor line always says when it is previewing.
Temptations, logged and refused
- Funnel bars. A horizontal bar scaled to "mailed" is a conversion rate wearing a costume — the eye reads the ratio even if no percent is printed. Refused; the funnel is aligned counts. The refusal is a finding: most dashboard grammar smuggles verdicts in through geometry.
- "3 of 98." Even a fraction phrasing pre-reads the checkpoint. The board says mailed 98 and scanned 3 as separate facts and lets the human do the judging — that is the whole division of labor.
- Coloring the dead-man line. A liveness indicator begs to go red. It stays a fact — "last event received · Jul 14 12:05" — because the reader on the day knows what silence means better than a threshold picked months earlier.
The contract is the graduation hinge
The board consumes one shape: a flat, ts-ordered event stream, taxonomy verbatim — postcard.sent, demo.visited, demo.tap_text, demo.tap_call, sms.received, client.lead_received, payment.succeeded, stage.changed — each event carrying batch_id, slug, ts, internal. The Lab serves it as a fixture file; production swaps in a read-only D1 query layer returning the same shape, and nothing else changes. No SMS bodies, no prospect identities, no pre-computed rates cross the contract in either world.
The six rooms, photographed at phone width
Every figure is synthetic; the state shown is Jul 14, 2026 — 98 cards four days out, three early scans, one text thread, the first call tap still ahead.
Graduation
August's production session wires a read-only D1 layer behind this exact contract, token-gated (GRADUATION.md in the Lab repo: the per-view queries sketched, the auth posture, and what stays deliberately absent). Verdicts stay absent on purpose: the board's job is to make Jordan's four seconds fast, not to replace them.







