Opus
Slack bot-message filter is inverted: BOT_ID = "null" string check rejects real users
- .github/workflows/messages.yml:105-117
`jq -r '.bot_id // empty'` outputs the empty string when `bot_id` is absent (i.e., the message is from a real user), and outputs the actual bot id string when it is a bot. The code then checks `[ "$BOT_ID" = "null" ]` to admit the message. This condition is never true for user messages (where BOT_ID is empty) and never true for bot messages (where BOT_ID is a non-null id), so the Slack branch effectively never dispatches anything. The intent (per comments) is to skip bot messages, so the check should be `[ -z "$BOT_ID" ]`. The Telegram and Discord branches are correctly written, so this is an inconsistency that silently disables Slack ingestion.
Recommendation
Change the guard to `[ -z "$BOT_ID" ]` (consistent with the Telegram chat-id check pattern). Also use `jq -r '.bot_id // ""'` consistently and verify with a unit-style shell test.