# v0.25.0 — Slack Feature Parity

## What Changed

**Comprehensive Slack parity release** — 18 features implemented to match Telegram's functionality in Slack.

**Slash commands** — New commands available via the ! prefix: claim (bind sessions to channels), unlink, interrupt (nudge stuck sessions), restart, status. These match the Telegram equivalents.

**Stall detection** — Full stall tracking pipeline for Slack sessions. Tracks injected messages, detects when sessions go quiet, and alerts both the originating channel and the attention channel.

**Voice messages** — Audio files sent in Slack are automatically transcribed using Whisper (via Groq or OpenAI) and delivered as voice transcripts to sessions.

**Session reliability** — Messages now inject through SessionManager for proper idle timer reset and bracketed paste mode. Proactive UUID save on session kill enables seamless resume. Delivery confirmation shows when messages are received.

**Standby commands** — Users can type "unstick", "quiet", "resume", or "restart" directly in Slack channels to control the PresenceProxy standby system.

**Safety** — Sentinel intercept classifies Slack messages for emergency stop and pause signals. Unknown users receive an ephemeral "not authorized" message instead of silent drops.

**Infrastructure** — TopicMemory dual-write for search and summaries. All notification tiers route to Slack attention channel. Dedicated updates channel created automatically. Long messages use temp files to prevent tmux issues.

## What to Tell Your User

Slack now has feature parity with Telegram. You can control sessions with commands like unstick, restart, and interrupt. Voice messages are transcribed automatically. The bot will tell you when your message is delivered, alert you if a session stalls, and show status updates while working on long tasks. Unknown workspace members get a friendly "not authorized" message instead of being silently ignored.

## Summary of New Capabilities

| Capability | How to Use |
|-----------|-----------|
| Session commands | Type !claim, !unlink, !interrupt, !restart, !status in any channel |
| Standby commands | Type unstick, quiet, resume, or restart during standby |
| Voice transcription | Send an audio file in Slack |
| Stall alerts | Automatic after 5 minutes of silence |
| Delivery confirmation | Automatic on every message |
| Emergency stop | Type "stop everything" in any channel |
