# ADR 9: Graceful Degradation Error Handling **Date**: 2026-04-28 ### Decision When an agent is unreachable or times out, the plugin sends a user-visible "processing" or error message to the Zulip topic rather than silently dropping the request. ### Context Silent failures are confusing for users — they type @tanko-bot and get no response. A visible status message manages expectations and buys time for retries. The plugin implements: - Retry: 3 attempts with 5s backoff - On timeout: `:warning: Tanko is processing your request...` - On failure: Agent-specific error message - No persistent queueing in v1 ### Consequences - Users always get feedback, even if the agent is slow/down - Plugin needs a retry timer - Error messages are configurable per agent - v2 can add queue-based retry for better reliability