storkit: create 393_story_pipeline_stage_notifications_for_whatsapp_and_slack_transports

This commit is contained in:
dave
2026-03-25 14:35:32 +00:00
parent 71a6c72614
commit 580ab1ce68
2 changed files with 23 additions and 27 deletions
@@ -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
@@ -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