Round 4, one hand, drawn on the shell that shipped on 2026-08-05. The screen it replaces asks "Is the bot okay?" in a heading and then makes you work out the answer from three stat tiles and five gate cards. This one answers first.
craft.md bans question-phrased
headings, and "Is the bot okay?" was the round-4 audit's finding 8. A screen whose whole job
is a yes/no should say the word.models.agent / comment / interpreter is in the
payload today and is on no screen. It is the first thing you want when the bot starts
behaving differently.Turns are — where the surface cannot attribute them, which is a different fact from zero and reads as one.
Everything behind the scenes is running·background jobs, database and Redis all answered 9 seconds ago·Check again
Figures are illustrative; the gate states are prod's real ones, read from
settings.channelGates on 2026-08-05: WhatsApp canary with one test number,
Instagram and Facebook comments live, Instagram DMs off, website chat live with nothing yet
arrived. Drawing a screen against invented gate states is how a mockup starts lying.
The channel cards are gone from this screen. The five gate cards the current Agent overview draws are the same concept the Dashboard's channel cards own, and the standing rule is that interrelated data never gets two screens. What survives here is a four-column table of the agent's own facts: turns, when it last answered, and the surface's state as a word.
If you would rather keep the full cards here and thin the Dashboard instead, that is the opposite trade and it is yours to make. Say which surface owns the channel and the other one loses it.