feat(kanban): notify_fallback — auto-subscribe channel-less task creates - #88477
Closed
sstark21 wants to merge 2 commits into
Closed
feat(kanban): notify_fallback — auto-subscribe channel-less task creates#88477sstark21 wants to merge 2 commits into
sstark21 wants to merge 2 commits into
Conversation
Tasks created from sessions with no persistent delivery channel (CLI,
cron, dashboard scripts) got no auto-subscription — completion/block
events silently reached nobody. The gateway notifier only delivers to
subscribed chats, so such tasks only surfaced when someone polled the
board.
Add kanban.notify_fallback ("<platform>:<chat_id>", default "").
When set, _maybe_auto_subscribe falls back to this target for
channel-less creates instead of the historical no-op. Strictly opt-in:
empty default preserves pre-feature behaviour; a live session channel
always wins; no delivery metadata (thread/reply anchors) is attached
to fallback rows.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Tasks created from sessions with no persistent delivery channel (CLI, cron, dashboard scripts, bare API calls) silently get no auto-subscription — the gateway notifier only delivers to subscribed chats, so completion/block events from such tasks reach nobody unless someone polls the board.
This adds an opt-in
kanban.notify_fallbackconfig (format"<platform>:<chat_id>", e.g."telegram:123456789"):_maybe_auto_subscribefalls back to this target for channel-less creates instead of the historical no-op.Design rationale
The upstream revert in #19721 fixed auto-subscribing every channel-less create (over-eager, #19718). The gap that remains is intentional for defaults but leaves self-hosted single-operator boards (e.g. one human, one Telegram bot, tasks created via
hermes kanban createfrom SSH) with zero notification coverage. A config-gated fallback keeps the default conservative while giving single-operator deployments a one-line fix instead of a per-tasknotify-subscribehabit or an external watchdog script.Config example
Test plan
test_channelless_create_noop_without_fallback— default unchanged (no fallback → no sub)test_channelless_create_uses_notify_fallback— fallback configured → sub written with platform/chat from config, no delivery metadatatest_notify_fallback_ignored_when_session_has_channel— live session channel winstests/tools/test_kanban_tools.py(32 tests) +tests/hermes_cli/test_config.pygreen viascripts/run_tests.shwebsite/docs/user-guide/features/kanban.mdupdated