* fix(pi): stream assistant deltas when pi omits the cumulative message pi 0.84.0 removed the cumulative `message` snapshot from JSON/RPC `message_update` events, so `handleMessageUpdate` dereferenced `undefined` and took down the whole daemon on the first assistant delta. Every prompt to a pi agent crash-looped the worker. `message_update` carries an `assistantMessageEvent`, which pi only emits for assistant messages, so a missing snapshot is treated as an assistant update. `message_start` still carries the message, so the response id keeps flowing through `activeAssistantMessageId`. Fixes #2940 Fixes #2946 Fixes #2950 * fix(pi): give the message_update COMPAT tag a version and removal date Follows docs/protocol-compatibility.md: every shim tag needs a name, a version, and a removal condition or date so `rg "COMPAT\("` stays a schedulable cleanup backlog. --------- Co-authored-by: dundunHa <dundunhade@gmail.com>