Wire ChatGateway to ConversationsRepo so every user message is saved on receipt (M1-001) and every assistant response is saved on agent:end with accumulated streaming text (M1-002). Metadata includes model, provider, tokenUsage (input/output/cache counts), toolCalls array, and timestamp on each message record (M1-003). Auto-creates the conversation row when the agent session is new. Co-Authored-By: Claude Sonnet 4.6 <[email protected]>