Cursor, TRAE, ZCode and Kimi Code capture through addAgentMessages and sent
their peer only as the X-OpenViking-Actor-Peer header. Session routes never
read that header (they use get_session_request_context), so messages landed
without a peer and their memories went to the user-level layer instead of
peers/<peer>. Claude Code and Codex already put peer_id in the body.
addAgentMessages now takes the peer and stamps it on payloads that do not
name one; the hook passes the same effective peer the header carries. When
peer mode is off the peer is empty and nothing is stamped.
Co-authored-by: somewhere1994 <108641179+somewhere1994@users.noreply.github.com>