diff --git a/.story_kit/work/1_backlog/307_story_configurable_coder_pool_size_and_default_model_in_project_toml.md b/.story_kit/work/1_backlog/307_story_configurable_coder_pool_size_and_default_model_in_project_toml.md deleted file mode 100644 index e68b8dd..0000000 --- a/.story_kit/work/1_backlog/307_story_configurable_coder_pool_size_and_default_model_in_project_toml.md +++ /dev/null @@ -1,25 +0,0 @@ ---- -name: "Configurable coder pool size and default model in project.toml" -agent: coder-opus ---- - -# Story 307: Configurable coder pool size and default model in project.toml - -## User Story - -As a project owner, I want to configure the number of concurrent coder agents and their default model in project.toml, so that I can control resource usage and cost while still being able to override per-story when needed. - -## Acceptance Criteria - -- [ ] New project.toml setting: default_coder_model (e.g. 'sonnet') determines which model is used for coder agents by default -- [ ] New project.toml setting: max_coders (e.g. 3) limits concurrent coder agent slots -- [ ] Add one more sonnet coder to the agent config (coder-3) for a total of 3 sonnet coders -- [ ] When all coder slots are full, new stories wait in current until a slot frees up -- [ ] Per-story front matter agent field still overrides the default (e.g. agent: coder-opus assigns opus) -- [ ] Opus coders are only used when explicitly requested via front matter -- [ ] QA and mergemaster limits are unchanged (not configurable via this story) -- [ ] auto_assign_available_work respects the max_coders limit - -## Out of Scope - -- TBD diff --git a/.story_kit/work/1_backlog/310_story_bot_delete_command_removes_a_story_from_the_pipeline.md b/.story_kit/work/1_backlog/310_story_bot_delete_command_removes_a_story_from_the_pipeline.md deleted file mode 100644 index 530d8f3..0000000 --- a/.story_kit/work/1_backlog/310_story_bot_delete_command_removes_a_story_from_the_pipeline.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -name: "Bot delete command removes a story from the pipeline" ---- - -# Story 310: Bot delete command removes a story from the pipeline - -## User Story - -As a project owner in a Matrix room, I want to type "{bot_name} delete {story_number}" to remove a story/bug/spike from the pipeline, so that I can clean up obsolete or duplicate work items from chat. - -## Acceptance Criteria - -- [ ] '{bot_name} delete {number}' finds the story/bug/spike by number across all pipeline stages and deletes the file -- [ ] Confirms deletion with the story name and stage it was in -- [ ] Returns a friendly message if no story with that number exists -- [ ] Stops any running agent on the story before deleting -- [ ] Removes the worktree if one exists for the story -- [ ] Registered in the command registry so it appears in help output -- [ ] Handled at bot level without LLM invocation -- [ ] Commits the deletion to git - -## Out of Scope - -- TBD diff --git a/.story_kit/work/1_backlog/312_bug_auto_assign_assigns_mergemaster_to_coding_stage_stories.md b/.story_kit/work/1_backlog/312_bug_auto_assign_assigns_mergemaster_to_coding_stage_stories.md new file mode 100644 index 0000000..714e69b --- /dev/null +++ b/.story_kit/work/1_backlog/312_bug_auto_assign_assigns_mergemaster_to_coding_stage_stories.md @@ -0,0 +1,31 @@ +--- +name: "Auto-assign assigns mergemaster to coding-stage stories" +--- + +# Bug 312: Auto-assign assigns mergemaster to coding-stage stories + +## Description + +Auto-assign picked mergemaster for story 310 which was in 2_current/. Mergemaster should only work on stories in 4_merge/. The auto_assign_available_work function doesn't enforce that the agent's configured stage matches the pipeline stage of the story it's being assigned to. Story 279 (auto-assign respects agent stage from front matter) was supposed to fix stage matching, but the check may only apply to front-matter preferences, not the fallback assignment path. This was observed on 2026-03-19 when story 310 was moved back to backlog and restarted — mergemaster was assigned instead of a coder. + +## How to Reproduce + +1. Move a story to 2_current/ with no agent front matter preference +2. Wait for auto_assign_available_work to run +3. Observe that mergemaster gets assigned instead of a coder agent + +## Actual Result + +Mergemaster was assigned to story 310 in 2_current/. + +## Expected Result + +Only coder-stage agents should be assigned to stories in 2_current/. Mergemaster should only be assigned to stories in 4_merge/. + +## Acceptance Criteria + +- [ ] auto_assign_available_work checks that the agent's configured stage matches the pipeline stage of the story before assigning +- [ ] Coder agents only assigned to stories in 2_current/ +- [ ] QA agents only assigned to stories in 3_qa/ +- [ ] Mergemaster only assigned to stories in 4_merge/ +- [ ] Fallback assignment path respects stage matching (not just front-matter preference path)