feat: add unblock command and MCP tool to reset blocked stories
- Add `unblock` bot command (chat + web UI slash command) that clears the `blocked` flag and resets `retry_count` to 0 in story front matter - Works across all pipeline stages (1_backlog through 6_archived) - Returns confirmation with story name and ID, or clear error if story is not found or not blocked - Expose `unblock_story` MCP tool for programmatic use by agents - Make `chat::commands::unblock` module pub(crate) so story_tools can call `unblock_by_number` - Add 8 unit tests covering registration, validation, core logic, and edge cases (not-found, not-blocked, any stage, story ID in response) - Update MCP tools list test: 49 → 50 tools
This commit is contained in:
@@ -17,6 +17,7 @@ mod show;
|
||||
mod status;
|
||||
mod timer;
|
||||
mod triage;
|
||||
pub(crate) mod unblock;
|
||||
mod unreleased;
|
||||
|
||||
use crate::agents::AgentPool;
|
||||
@@ -166,6 +167,11 @@ pub fn commands() -> &'static [BotCommand] {
|
||||
description: "Schedule a deferred agent start: `timer <story_id> <HH:MM>`, `timer list`, `timer cancel <story_id>`",
|
||||
handler: timer::handle_timer,
|
||||
},
|
||||
BotCommand {
|
||||
name: "unblock",
|
||||
description: "Reset a blocked story: `unblock <number>` (clears blocked flag and resets retry count)",
|
||||
handler: unblock::handle_unblock,
|
||||
},
|
||||
BotCommand {
|
||||
name: "unreleased",
|
||||
description: "Show stories merged to master since the last release tag",
|
||||
|
||||
Reference in New Issue
Block a user