diff --git a/.storkit/work/1_backlog/390_bug_whatsapp_missing_async_command_handlers_for_start_rebuild_reset_rmtree_assign.md b/.storkit/work/1_backlog/390_bug_whatsapp_missing_async_command_handlers_for_start_rebuild_reset_rmtree_assign.md new file mode 100644 index 0000000..d5d7ea4 --- /dev/null +++ b/.storkit/work/1_backlog/390_bug_whatsapp_missing_async_command_handlers_for_start_rebuild_reset_rmtree_assign.md @@ -0,0 +1,30 @@ +--- +name: "WhatsApp missing async command handlers for start, rebuild, reset, rmtree, assign" +--- + +# Bug 390: WhatsApp missing async command handlers for start, rebuild, reset, rmtree, assign + +## Description + +Five bot commands listed in help don't work in WhatsApp. Matrix's on_room_message pre-dispatches these via extract_*_command() functions before calling try_handle_command(), but WhatsApp's handle_incoming_message only pre-dispatches htop and delete. The missing commands have fallback handlers that return None, so they silently fall through to the LLM instead of executing. + +## How to Reproduce + +1. Send "rebuild" (or "start 386", "reset", "rmtree 386", "assign 386 opus") to the WhatsApp bot\n2. Observe the message is forwarded to the LLM instead of executing the command + +## Actual Result + +The 5 commands (start, rebuild, reset, rmtree, assign) fall through to the LLM and generate a conversational response instead of executing the bot command. + +## Expected Result + +All commands listed in help should work in WhatsApp, matching Matrix behavior. start should spawn an agent, rebuild should rebuild the server, reset should clear the session, rmtree should remove a worktree, assign should pre-assign a model. + +## Acceptance Criteria + +- [ ] start command works in WhatsApp (extract_start_command dispatch) +- [ ] rebuild command works in WhatsApp (extract_rebuild_command dispatch) +- [ ] reset command works in WhatsApp (extract_reset_command dispatch) +- [ ] rmtree command works in WhatsApp (extract_rmtree_command dispatch) +- [ ] assign command works in WhatsApp (extract_assign_command dispatch) +- [ ] Same 5 commands also work in Slack transport if similarly missing