Skip to content

TelegramAdapter.send_kanban_blocked call site drifts from deployed adapter API #20263

@leonardsellem

Description

@leonardsellem

Bug Description

The Hermes gateway/kanban notification path can attempt to patch or call TelegramAdapter.send_kanban_blocked, but the deployed Telegram adapter API does not reliably expose that symbol. In our homelab deployment this surfaced as an AttributeError during plugin registration and disabled the kanban-guardrails plugin's notifier quarantine/backoff protections.

Impact

A missing optional Telegram blocked-notification method should not be able to prevent unrelated kanban guardrail/plugin registration. The current drift forces downstream deployments to use defensive getattr(...) guards and mark the symbol as optional in boot self-tests.

Expected Behavior

Either:

  1. TelegramAdapter exports a stable send_kanban_blocked(...) API matching the gateway/plugin call site, or
  2. the upstream call site guards the lookup and degrades gracefully when the platform adapter does not implement blocked-task notifications.

Actual Behavior

A runtime/plugin path that assumes TelegramAdapter.send_kanban_blocked exists raises AttributeError when the deployed adapter does not provide it. Downstream workaround is to skip notifier-quarantine patch installation when the upstream symbol is missing.

Evidence / Downstream Workaround

  • Downstream guardrail boot self-test tracks the symbol in projects/homelab/iac-staging/hermes/plugins/kanban-guardrails/REQUIRED_SYMBOLS.txt as send_kanban_blocked optional=true until upstream resolves the API drift.
  • The same class of upstream gateway-vs-CLI symbol drift already affects hermes_cli.kanban_db.read_board_metadata, which our deployment also tracks as optional with a local shim.

Environment

  • Hermes Agent v0.12.0-style deployment from NousResearch/hermes-agent
  • Gateway + Telegram adapter + kanban guardrails plugin enabled

Metadata

Metadata

Assignees

No one assigned

    Labels

    P3Low — cosmetic, nice to havecomp/gatewayGateway runner, session dispatch, deliverycomp/pluginsPlugin system and bundled pluginsplatform/telegramTelegram bot adaptertype/bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions