7d4b4ad736
The clarify store had one key for the whole daemon, so a question asked in the web chat and never answered captured the next three utterances from any source — telegram, or the mic — and answered them against a request the speaker never made. The reach now supplies a conversation id on the IPC Chat call, and the daemon carries it on the context the way it already carries the correlation id, so the six clarify call sites read it instead of a constant. The mic has no id of its own and keeps the key it had, so voice behaves exactly as before. mavweb has no per-browser session, so every tab is one conversation: right for a single-owner box, and still distinct from telegram and the mic. Dialogue sessions stay global on purpose — they are what she remembers about him, not what she is waiting for from one channel.