dotbot: the open panel shows the message a turn started elsewhere answers (zero #19466): a turn the panel did not start (a run the engine starts with a prompt, the page's agent_prompt, the engine waking the agent) shows its message as it starts, above what the turn says, once, in that turn's conversation, which the panel moves to, letting go of the rows of the conversation it showed; an engine delivery reads as the engine's row; Source.messageRows. plugin.wasm built from DotBot main 539f9e5f (OrigoZero/DotBot#656: every turn opens its events with user_message; wasm32-wasip2 release, sha256 ea4458c4...27817, 50977623 bytes); plugin.yaml unchanged
---
dotbot: the panel's builds stay small in a long conversation (OrigoZero/DotBot#652), and the model a conversation runs on stays named in its composer (zero #19469). A history read again translates the messages from the first one that differs from the last answer and keeps the rows of every message before it, so a turn's end costs that turn's messages (a 2,068-message conversation's build after a history read: 130 to 172 ms before, 6 to 14 ms; 4,507 messages: 527 to 595 ms before, 11 to 21 ms); a call settled by a result read later is settled in a copy, so a list handed out stays as handed out; the transcript groups each ended turn once; a row's key is made once per row and trims in one pass; the agents, accounts and models lists are made once per answer; Source.model names a model the offer read now lacks by the record an earlier answer gave, else its id. On top of 01M57TE9R8E9 (zero #19466); plugin.wasm and plugin.yaml unchanged