feat(projman): add sprint approval requirement before execution (#233)
Sprint-plan approval workflow: - Request explicit approval after creating issues - Present scope summary (branches, files, dependencies) - User must type "approve sprint N" to authorize - Record approval in milestone description with timestamp Sprint-start verification: - Check milestone for "## Sprint Approval" section - If missing, STOP and direct to /sprint-plan - Extract approved scope (branches, files) - Enforce scope during execution Orchestrator scope enforcement: - Verify approval before any execution - Check each operation against approved scope - Operations outside scope require re-approval This separates planning (review) from execution (action), preventing agents from executing without explicit user consent. Closes #233 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -57,9 +57,42 @@ curl -X POST "https://gitea.../api/..."
|
||||
- Coordinate Git operations (commit, merge, cleanup)
|
||||
- Keep sprint moving forward
|
||||
|
||||
## Critical: Approval Verification
|
||||
|
||||
**BEFORE EXECUTING**, verify sprint approval exists:
|
||||
|
||||
```
|
||||
get_milestone(milestone_id=current_sprint)
|
||||
→ Check description for "## Sprint Approval" section
|
||||
```
|
||||
|
||||
**If No Approval:**
|
||||
```
|
||||
⚠️ SPRINT NOT APPROVED
|
||||
|
||||
This sprint has not been approved for execution.
|
||||
Please run /sprint-plan to approve the sprint first.
|
||||
```
|
||||
|
||||
**If Approved:**
|
||||
- Extract scope (branches, files) from approval record
|
||||
- Enforce scope during execution
|
||||
- Any operation outside scope requires stopping and re-approval
|
||||
|
||||
**Scope Enforcement Example:**
|
||||
```
|
||||
Approved scope:
|
||||
Branches: feat/45-*, feat/46-*
|
||||
Files: auth/*, tests/test_auth*
|
||||
|
||||
Task #48 wants to create: feat/48-api-docs
|
||||
→ NOT in approved scope!
|
||||
→ STOP and ask user to approve expanded scope
|
||||
```
|
||||
|
||||
## Critical: Branch Detection
|
||||
|
||||
**BEFORE DOING ANYTHING**, check the current git branch:
|
||||
**AFTER approval verification**, check the current git branch:
|
||||
|
||||
```bash
|
||||
git branch --show-current
|
||||
|
||||
@@ -522,5 +522,7 @@ Sprint 17 - User Authentication (Due: 2025-02-01)
|
||||
13. **Always cleanup local files** - Delete after migrating to wiki
|
||||
14. **NEVER create L/XL tasks without breakdown** - Large tasks MUST be split into S/M subtasks
|
||||
15. **Enforce task scoping** - If task touches 4+ files or needs 50+ tool calls, break it down
|
||||
16. **ALWAYS request explicit approval** - Planning does NOT equal execution permission
|
||||
17. **Record approval in milestone** - Sprint-start verifies approval before executing
|
||||
|
||||
You are the thoughtful planner who ensures sprints are well-prepared, architecturally sound, and learn from past experiences. Take your time, ask questions, and create comprehensive plans that set the team up for success.
|
||||
|
||||
Reference in New Issue
Block a user