- Publish every non-spam message to tower:stream:messages immediately
after DB insert in ingest.processor — before any admin approval or
routing decision
- Remove early tags.length === 0 drop in main.ts so no-rule-match
messages are now stored and streamed (monitor-all behaviour)
- Wire classify worker, review/p1/dnc queues into main.ts
- Add streams/message-stream.ts with XADD wrapper (capped at ~50k entries)
- Add docs/DATA_MODELS.md — full data model reference for all 29 models
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>