From 580ab1ce68e62b95e6c979eafa3252c7fb0c36a5 Mon Sep 17 00:00:00 2001 From: dave Date: Wed, 25 Mar 2026 14:35:32 +0000 Subject: [PATCH] storkit: create 393_story_pipeline_stage_notifications_for_whatsapp_and_slack_transports --- ..._from_matrix_module_into_chat_submodule.md | 27 ------------------- ...tions_for_whatsapp_and_slack_transports.md | 23 ++++++++++++++++ 2 files changed, 23 insertions(+), 27 deletions(-) delete mode 100644 .storkit/work/1_backlog/392_refactor_extract_shared_transport_utilities_from_matrix_module_into_chat_submodule.md create mode 100644 .storkit/work/1_backlog/393_story_pipeline_stage_notifications_for_whatsapp_and_slack_transports.md diff --git a/.storkit/work/1_backlog/392_refactor_extract_shared_transport_utilities_from_matrix_module_into_chat_submodule.md b/.storkit/work/1_backlog/392_refactor_extract_shared_transport_utilities_from_matrix_module_into_chat_submodule.md deleted file mode 100644 index cd9a5c5c..00000000 --- a/.storkit/work/1_backlog/392_refactor_extract_shared_transport_utilities_from_matrix_module_into_chat_submodule.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -name: "Extract shared transport utilities from matrix module into chat submodule" -agent: "coder-opus" ---- - -# Refactor 392: Extract shared transport utilities from matrix module into chat submodule - -## Current State - -- TBD - -## Desired State - -Several functions currently living in the matrix transport module are used by all transports (WhatsApp, Slack, Matrix). These should be pulled up into a shared location under the chat module. Candidates include: strip_prefix_ci, strip_bot_mention, try_handle_command, drain_complete_paragraphs, markdown_to_whatsapp (pattern could generalize), chunk_for_whatsapp, and the command dispatch infrastructure. A chat::util or chat::text submodule would be a natural home for string utilities like strip_prefix_ci. The command dispatch (try_handle_command, CommandDispatch, BotCommand registry) could live in chat::commands. - -## Acceptance Criteria - -- [ ] Shared string utilities (strip_prefix_ci, strip_bot_mention, drain_complete_paragraphs) moved to a chat::util or chat::text submodule -- [ ] Command dispatch infrastructure (try_handle_command, CommandDispatch, BotCommand, command registry) moved to chat::commands -- [ ] Per-transport formatting functions (markdown_to_whatsapp, markdown_to_slack) remain in their respective transport modules -- [ ] All transports import from the new shared location instead of reaching into matrix:: -- [ ] No functional changes — purely structural refactor -- [ ] All existing tests pass and move with their code - -## Out of Scope - -- TBD diff --git a/.storkit/work/1_backlog/393_story_pipeline_stage_notifications_for_whatsapp_and_slack_transports.md b/.storkit/work/1_backlog/393_story_pipeline_stage_notifications_for_whatsapp_and_slack_transports.md new file mode 100644 index 00000000..a78261a7 --- /dev/null +++ b/.storkit/work/1_backlog/393_story_pipeline_stage_notifications_for_whatsapp_and_slack_transports.md @@ -0,0 +1,23 @@ +--- +name: "Pipeline stage notifications for WhatsApp and Slack transports" +--- + +# Story 393: Pipeline stage notifications for WhatsApp and Slack transports + +## User Story + +As a WhatsApp or Slack user, I want to receive pipeline stage transition notifications (e.g. "story moved from Current to QA") just like Matrix users do, so I can track story progress from any transport. + +## Acceptance Criteria + +- [ ] WhatsApp transport spawns a notification listener at startup using the existing spawn_notification_listener infrastructure +- [ ] Slack transport spawns a notification listener at startup using the same infrastructure +- [ ] Notifications are sent to all active ambient senders/channels for the respective transport +- [ ] Stage transition notifications (story moved between pipeline stages) are delivered +- [ ] Error notifications (story failures) are delivered +- [ ] Rate limit warnings are delivered with debouncing +- [ ] Matrix notification behavior is completely unaffected + +## Out of Scope + +- TBD