Files
zulip-platform-plugins/docs/adr/ADR-009-error-handling.md
T

819 B

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