From fdcb5d9874b855c37f012474800989e54ded3673 Mon Sep 17 00:00:00 2001 From: lmiranda Date: Mon, 2 Feb 2026 13:37:35 -0500 Subject: [PATCH] feat(projman): harden sprint approval gate with --force override - sprint-approval.md: approval is now a hard block, not a warning - sprint-start.md: added --force flag documentation - orchestrator.md: approval verification is now a hard stop - docs: updated commands cheatsheet BREAKING: /sprint-start now requires approval or --force flag Co-Authored-By: Claude Opus 4.5 --- docs/COMMANDS-CHEATSHEET.md | 2 +- plugins/projman/agents/orchestrator.md | 2 +- plugins/projman/commands/sprint-start.md | 5 ++++- plugins/projman/skills/sprint-approval.md | 23 +++++++++++++++++++---- 4 files changed, 25 insertions(+), 7 deletions(-) diff --git a/docs/COMMANDS-CHEATSHEET.md b/docs/COMMANDS-CHEATSHEET.md index e3c706d..407c811 100644 --- a/docs/COMMANDS-CHEATSHEET.md +++ b/docs/COMMANDS-CHEATSHEET.md @@ -9,7 +9,7 @@ Quick reference for all commands in the Leo Claude Marketplace. | Plugin | Command | Auto | Manual | Description | |--------|---------|:----:|:------:|-------------| | **projman** | `/sprint-plan` | | X | Start sprint planning with AI-guided architecture analysis and issue creation | -| **projman** | `/sprint-start` | | X | Begin sprint execution with dependency analysis and parallel task coordination | +| **projman** | `/sprint-start` | | X | Begin sprint execution with dependency analysis and parallel task coordination (requires approval or `--force`) | | **projman** | `/sprint-status` | | X | Check current sprint progress (add `--diagram` for Mermaid visualization) | | **projman** | `/review` | | X | Pre-sprint-close code quality review (debug artifacts, security, error handling) | | **projman** | `/test` | | X | Run tests (`/test run`) or generate tests (`/test gen `) | diff --git a/plugins/projman/agents/orchestrator.md b/plugins/projman/agents/orchestrator.md index 62eb17c..dfd647e 100644 --- a/plugins/projman/agents/orchestrator.md +++ b/plugins/projman/agents/orchestrator.md @@ -57,7 +57,7 @@ Progress block format: ## Your Responsibilities ### 1. Verify Approval (Sprint Start) -Execute `skills/sprint-approval.md` - Check milestone for approval record. +Execute `skills/sprint-approval.md` - Check milestone for approval record. **STOP execution if approval is missing** unless user provided `--force` flag. ### 2. Detect Checkpoints (Sprint Start) Check for resume points from interrupted sessions. diff --git a/plugins/projman/commands/sprint-start.md b/plugins/projman/commands/sprint-start.md index 4e0a37a..a7cddc0 100644 --- a/plugins/projman/commands/sprint-start.md +++ b/plugins/projman/commands/sprint-start.md @@ -24,11 +24,14 @@ Initiate sprint execution. The orchestrator agent verifies approval, analyzes de Run `/sprint-start` when ready to begin executing a planned sprint. +**Flags:** +- `--force` — Bypass approval gate (emergency only, logged to milestone) + ## Workflow Execute the sprint start workflow: -1. **Verify Sprint Approval** (recommended) - Check milestone for approval record +1. **Verify Sprint Approval** (required) - Check milestone for approval record. STOP if missing unless `--force` flag provided. 2. **Detect Checkpoints** - Check for resume points from interrupted sessions 3. **Fetch Sprint Issues** - Get open issues from milestone 4. **Analyze Dependencies** - Use `get_execution_order` for parallel batches diff --git a/plugins/projman/skills/sprint-approval.md b/plugins/projman/skills/sprint-approval.md index 0a886e4..d218123 100644 --- a/plugins/projman/skills/sprint-approval.md +++ b/plugins/projman/skills/sprint-approval.md @@ -84,15 +84,17 @@ get_milestone(repo="org/repo", milestone_id=17) ### If Approval Missing ``` -⚠️ SPRINT APPROVAL NOT FOUND (Warning) +🔴 SPRINT APPROVAL NOT FOUND — BLOCKED Sprint 17 milestone does not contain an approval record. +Execution cannot proceed without approval. -Recommended: Run /sprint-plan first to: +Required: Run /sprint-plan first to: 1. Review the sprint scope -2. Document the approved execution plan +2. Get explicit approval for execution -Proceeding anyway - consider adding approval for audit trail. +To override (emergency only): /sprint-start --force +This bypasses the approval gate and logs a warning to the milestone. ``` ### If Approval Found @@ -134,3 +136,16 @@ Request re-approval when: - Scope expansion needed (new files, new branches) - Dependencies change significantly - Timeline changes require scope adjustment + +--- + +## Force Override + +The `--force` flag bypasses the approval gate for emergency situations. + +When `--force` is used: +1. Log a warning comment on the milestone: "⚠️ Sprint started without approval via --force on [date]" +2. Proceed with execution +3. The sprint close will flag this as an audit concern + +**Do NOT use --force** as standard practice. If you find yourself using it regularly, the planning workflow needs adjustment.