- **Functional surgeon view:** Every message send is logged for 1 year with purpose, consent version, and withdrawal status. - **Acceptance criteria:** 1. `messaging_send_logs` table stores timestamp, channel, message type, consent version. 2. Logs are retained for 1 year. 3. Withdrawal is checked before every send. - **Dependencies:** ISSUE-017.
messaging_send_logstable stores timestamp, channel, message type, consent version.