feat(commands): /ready-stack — dispatch with stacking despite open blockers #463

Closed
opened 2026-04-27 13:51:34 +00:00 by claude-desktop · 1 comment
Collaborator

User story

As an operator, I want a /ready-stack slash command on issues that explicitly tells the dispatcher "fire this now and stack the PR on the blocker's PR", so that I can override the wait-for-blocker-close default when I know the work is independent enough to start in parallel.

Acceptance criteria

Command

  • /ready-stack recognised on issue_comment events from trust-gated authors (same gate as /breakdown, /hold, /ready)
  • Behaviour: bypass blocker-still-open check → trigger normal assigned-issue dispatch path → dispatch goes through parent-PR detection so the PR auto-stacks
  • If no blocker has an open PR: comment "no parent PR found, will branch off main" but still dispatch
  • If /hold row exists for this issue: refuse with a clear comment ("clear /hold first")

Tests

  • Slash command parser recognises /ready-stack
  • /hold precedence honoured
  • Dispatch fires even with open blockers

Out of scope

  • /ready-stack from PR comments (issues only)
  • Reverse: /unstack (re-base on main) — separate ticket if needed

References

  • apps/server/src/domain/workflow/slash-commands.ts
  • docs/dependencies.md
  • Parent epic: #461
  • Depends on parent-PR detection story (#462) for actual stacking behaviour
## User story As an operator, I want a `/ready-stack` slash command on issues that explicitly tells the dispatcher "fire this now and stack the PR on the blocker's PR", so that I can override the wait-for-blocker-close default when I know the work is independent enough to start in parallel. ## Acceptance criteria ### Command - [ ] `/ready-stack` recognised on `issue_comment` events from trust-gated authors (same gate as `/breakdown`, `/hold`, `/ready`) - [ ] Behaviour: bypass blocker-still-open check → trigger normal assigned-issue dispatch path → dispatch goes through parent-PR detection so the PR auto-stacks - [ ] If no blocker has an open PR: comment "no parent PR found, will branch off main" but still dispatch - [ ] If `/hold` row exists for this issue: refuse with a clear comment ("clear /hold first") ### Tests - [ ] Slash command parser recognises `/ready-stack` - [ ] `/hold` precedence honoured - [ ] Dispatch fires even with open blockers ## Out of scope - `/ready-stack` from PR comments (issues only) - Reverse: `/unstack` (re-base on main) — separate ticket if needed ## References - `apps/server/src/domain/workflow/slash-commands.ts` - `docs/dependencies.md` - Parent epic: `#461` - Depends on parent-PR detection story (`#462`) for actual stacking behaviour
Collaborator

🤖 Auto-assigned to boss (heuristic: area:webhook → boss (architecture-touching)). Reply /unassign to reroute.

🤖 Auto-assigned to **boss** (heuristic: area:webhook → boss (architecture-touching)). Reply `/unassign` to reroute.
Sign in to join this conversation.
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
charles/claude-hooks#463
No description provided.