- Shipped
- September 29, 2026 at 1:13 AM UTC
- Author
- Kamo
- Commit
- 418da5e
SP98-A-10. With neither agentId nor memberId, the two record calls fell into the persona branch with a null agent: an unattributed touch was written, and a send also spent the contact's budget. A missing channel reached channel.ordinal() and answered 500. The three calls now share one refusal, in evaluate's order: 400 when the organization, the sender or the channel is missing, the member path's KamoAI-secret check, then 400 without a contact. Nothing is recorded on a 400. The only caller (the Tool Plane's OutreachGateClient) always sends all four.
