story-kit: done 282_story_matrix_bot_ambient_mode_toggle_via_chat_command

This commit is contained in:
Dave
2026-03-18 12:12:26 +00:00
parent b50d007b40
commit d347ba084d
4 changed files with 24 additions and 63 deletions

View File

@@ -1,22 +0,0 @@
---
name: "Matrix bot status command shows pipeline and agent availability"
---
# Story 284: Matrix bot status command shows pipeline and agent availability
## User Story
As a user in a Matrix room, I want to type "{bot_name} status" and get a formatted summary of the full pipeline (upcoming through done) with agent assignments, plus which agents are currently free, so that I can check project status without leaving chat.
## Acceptance Criteria
- [ ] Chat command "{bot_name} status" triggers a pipeline status display (bot name comes from display_name in bot.toml)
- [ ] Output shows all stages: upcoming, current, qa, merge, done — with story names and IDs
- [ ] Each active story shows its assigned agent name and model
- [ ] Output includes a section showing which agents are free (not currently assigned to any story)
- [ ] Response is formatted for readability in Matrix (monospace or markdown as appropriate)
- [ ] Command is handled at the bot level — does not require a full Claude invocation
## Out of Scope
- TBD

View File

@@ -1,21 +0,0 @@
---
name: "Matrix bot help command lists available bot commands"
---
# Story 285: Matrix bot help command lists available bot commands
## User Story
As a user in a Matrix room, I want to type "{bot_name} help" and get a list of all available bot commands with brief descriptions, so that I can discover what the bot can do without having to ask or remember.
## Acceptance Criteria
- [ ] Chat command "{bot_name} help" displays a list of all available bot-level commands (bot name comes from display_name in bot.toml)
- [ ] Each command is shown with a short description of what it does
- [ ] Help output is formatted for readability in Matrix
- [ ] Help command is handled at the bot level — does not require a full Claude invocation
- [ ] Help list automatically includes new commands as they are added (driven by a registry or similar, not a hardcoded string)
## Out of Scope
- TBD

View File

@@ -1,20 +0,0 @@
---
name: "Matrix bot sends typing indicator while waiting for Claude response"
---
# Story 273: Matrix bot sends typing indicator while waiting for Claude response
## User Story
As a user chatting with the Matrix bot, I want to see a typing indicator in Element while the bot is processing my message, so that I know it received my request and is working on a response.
## Acceptance Criteria
- [ ] Bot sets m.typing on the room as soon as it starts the Claude API call
- [ ] Typing indicator is cleared when the first response chunk is sent to the room
- [ ] Typing indicator is cleared on error so it doesn't get stuck
- [ ] No visible delay between sending a message and seeing the typing indicator
## Out of Scope
- TBD

View File

@@ -0,0 +1,24 @@
---
name: "Matrix bot ambient mode toggle via chat command"
---
# Story 282: Matrix bot ambient mode toggle via chat command
## User Story
As a user chatting with Timmy in a Matrix room, I want to toggle between "addressed mode" (bot only responds when mentioned by name) and "ambient mode" (bot responds to all messages) via a chat command, so that I don't have to @-mention the bot on every message when I'm the only one around.
## Acceptance Criteria
- [ ] Matrix bot defaults to addressed mode — only forwards messages containing the bot's name to Claude
- [ ] Chat command "{bot_name} ambient on" switches to ambient mode — bot forwards all room messages to Claude (bot name comes from display_name in bot.toml)
- [ ] Chat command "{bot_name} ambient off" switches back to addressed mode
- [ ] Mode is persisted per-room in bot.toml so it survives bot restarts
- [ ] bot.toml.example includes the ambient_mode setting with a comment explaining it
- [ ] Bot confirms the mode switch with a short response in chat
- [ ] When other users join or are active, user can flip back to addressed mode to avoid noise
- [ ] Ambient mode applies per-room (not globally across all rooms)
## Out of Scope
- TBD