# v0.25.4 — Complete Stall Detection Parity for Slack

## What Changed

**LLM-gated stall alerts for Slack** — Before alerting users about a stalled session, the system now confirms with a lightweight LLM call (Haiku) that the alert is warranted. This prevents false positives for sessions working on complex tasks. Fail-open: if the LLM is unavailable, the alert is sent.

**Promise tracking for Slack** — When the agent says something like "give me a minute" or "working on it," the system tracks this promise and alerts the user if the agent does not follow through within the configured timeout (default 10 minutes). Matches the existing Telegram behavior.

**!triage command for Slack** — Users can now type !triage in a Slack channel to see whether the triage system is actively diagnosing the session. Shows classification, check count, and last check time.

**Session death classification for Slack** — When a Slack session dies, the system can now classify the cause (quota exhaustion, timeout, error, etc.), enabling better user-facing error messages.

## What to Tell Your User

The bot is now smarter about when to alert you about session issues. It checks with an AI model before sending stall alerts to avoid false alarms. It also tracks when the agent promises to follow up and will remind you if it does not deliver. You can type !triage in any channel to check the health status.

## Summary of New Capabilities

| Capability | How to Use |
|-----------|-----------|
| LLM-gated stall alerts | Automatic — reduces false positive alerts |
| Promise tracking | Automatic — detects and tracks agent commitments |
| Triage status | Type !triage in any Slack channel |
| Session death classification | Automatic — classifies why sessions end |
