storkit: done 461_bug_strip_bot_mention_fails_on_element_markdown_mention_pill_format
This commit is contained in:
-28
@@ -1,28 +0,0 @@
|
||||
---
|
||||
name: "strip_bot_mention fails on Element markdown mention pill format"
|
||||
---
|
||||
|
||||
# Bug 461: strip_bot_mention fails on Element markdown mention pill format
|
||||
|
||||
## Description
|
||||
|
||||
When Element sends a message with a mention pill, the plain text body uses Markdown link format: `[@timmy:crashlabs.io](https://matrix.to/#/@timmy:crashlabs.io) status`. The `strip_bot_mention` function in chat/util.rs uses `strip_prefix_ci` which expects the message to start with `@timmy` or the display name. Since the message starts with `[`, all prefix checks fail, the mention is not stripped, and the entire Markdown link becomes the "command name". Deterministic commands like `status`, `help`, etc. are never matched — they fall through to the LLM instead. The `mentions_bot` function works correctly because it uses `contains()` rather than prefix matching, so the bot IS triggered, but the command text extraction is broken.
|
||||
|
||||
## How to Reproduce
|
||||
|
||||
1. In Element, mention the bot using a mention pill: @botname status. 2. Element sends plain body as `[@bot:server](https://matrix.to/#/@bot:server) status`. 3. Observe that the bot routes to LLM instead of the deterministic status command handler.
|
||||
|
||||
## Actual Result
|
||||
|
||||
strip_bot_mention returns the original text unchanged. The command name is parsed as the entire Markdown link. No deterministic command matches. Message falls through to LLM.
|
||||
|
||||
## Expected Result
|
||||
|
||||
strip_bot_mention strips the Markdown mention pill `[...](https://matrix.to/...)` and returns `status`. The deterministic command handler matches and handles it.
|
||||
|
||||
## Acceptance Criteria
|
||||
|
||||
- [ ] strip_bot_mention in chat/util.rs handles the Markdown mention pill format [display](https://matrix.to/#/@user:server)
|
||||
- [ ] Deterministic commands like 'status', 'help', 'overview' work when sent via Element mention pills
|
||||
- [ ] Existing plain-text mention formats (@bot:server command, @bot command, BotName command) continue to work
|
||||
- [ ] Tests added for Markdown mention pill format in util.rs
|
||||
-33
@@ -1,33 +0,0 @@
|
||||
---
|
||||
name: "Timer rejects backlog stories — should move to current on fire"
|
||||
---
|
||||
|
||||
# Bug 464: Timer rejects backlog stories — should move to current on fire
|
||||
|
||||
## Description
|
||||
|
||||
The `timer` bot command requires stories to be in `work/2_current/` before scheduling. When a user tries to schedule a backlog story (e.g. `timer 463 12:45`), it returns:
|
||||
|
||||
"Story **463_story_...** is not in `work/2_current/`. Move it to current before scheduling a timer."
|
||||
|
||||
The timer should accept backlog stories. When the timer fires, it should move the story from backlog to current and let auto-assign start an agent.
|
||||
|
||||
## How to Reproduce
|
||||
|
||||
1. Have a story in backlog (e.g. 463)
|
||||
2. Run `timer 463 12:45`
|
||||
3. Observe rejection message
|
||||
|
||||
## Actual Result
|
||||
|
||||
Timer command rejects stories not in `work/2_current/`.
|
||||
|
||||
## Expected Result
|
||||
|
||||
Timer command accepts backlog stories. When the timer fires, it moves the story to current and auto-assign picks it up.
|
||||
|
||||
## Acceptance Criteria
|
||||
|
||||
- [ ] Timer bot command accepts stories in backlog or current
|
||||
- [ ] Timer tick loop calls move_story_to_current before start_agent for backlog stories
|
||||
- [ ] Unit tests cover scheduling and firing for backlog stories
|
||||
Reference in New Issue
Block a user