5.3 KiB
5.3 KiB
Sprint Documentation Guide
Version: 1.0 Last Updated: 2026-01-10
Purpose
Sprint documents provide AI agents with precise, unambiguous instructions for executing tasks. A well-written sprint document enables any agent (Claude, GPT, Gemini, etc.) to complete a task without interpretation or guesswork.
When to Create a Sprint Document
Create a sprint document when:
| Scenario | Create Sprint? |
|---|---|
| Bug fix requiring code changes | YES |
| New feature implementation | YES |
| Refactoring task | YES |
| Complex multi-step task | YES |
| Simple one-line fix | OPTIONAL |
| Research/exploration task | NO |
| Documentation update | OPTIONAL |
Sprint Document Structure
Required Sections
1. HEADER
- Date, archive date, focus, priority, effort, status
2. SAFETY PROTOCOLS
- Pre-execution checklist (always include)
- Link to full guardrails
3. PROBLEM STATEMENT
- What's wrong and why
- Error messages/symptoms
- Root cause
4. SCOPE BOUNDARY
- What CAN be modified
- What CANNOT be modified
5. EXECUTION DIRECTIONS
- Visual flow diagram
- Step-by-step instructions
6. ACCEPTANCE CRITERIA
- How to verify success
7. ROLLBACK PROCEDURE
- How to undo if things go wrong
8. QUICK REFERENCE CARD
- One-box summary
Optional Sections
- Reference implementation (for complex fixes)
- Related files/documentation
- Historical context
- Alternative approaches considered
Writing Effective Steps
Good Step Example
### STEP 3: Apply The Fix
**Action:** Edit file with exact replacement
TOOL: Edit
FILE: /path/to/file.py
OLD_STRING (exact match required):
def broken_function():
return x.value # Bug here
NEW_STRING (exact replacement):
def broken_function():
if hasattr(x, 'value'):
return x.value
return x
**Checkpoint:** Edit tool confirms success
**Decision Point:**
- [ ] Edit succeeded → Proceed to STEP 4
- [ ] Edit failed → HALT and report to user
Bad Step Example (Avoid)
### STEP 3: Fix the bug
Fix the function to handle the edge case properly.
Why it's bad:
- No specific tool call
- No exact code to use
- No checkpoint
- No decision point
- Agent must interpret/guess
Key Principles
1. Be Explicit About Everything
BAD: "Update the configuration"
GOOD: "Edit /src/config.json, change 'timeout' from 30 to 60"
2. Provide Exact Code
BAD: "Add error handling"
GOOD: "Replace lines 45-50 with this exact code: [code block]"
3. Include Decision Points
Every step should have:
- Success condition → What to do next
- Failure condition → What to do instead
4. Define Scope Clearly
IN SCOPE:
- File: src/utils/parser.py
- Lines: 120-135
- Change: Add null check
OUT OF SCOPE:
- All other files
- All other functions in parser.py
- Tests (read-only)
5. Make Rollback Easy
Always include the exact rollback command:
git checkout HEAD -- src/utils/parser.py
Naming Convention
SPRINT-YYYY-MM-DD-brief-description.md
Examples:
SPRINT-2026-01-10-swarm-enum-fix.md
SPRINT-2026-01-15-add-user-auth.md
SPRINT-2026-01-20-refactor-api-routes.md
Archive Policy
| Sprint Age | Action |
|---|---|
| 0-7 days | Active - May be executed |
| 7-30 days | Archive - Move to docs/sprints/archive/ |
| 30+ days | Review - May be outdated, verify before use |
Priority Levels
| Priority | Meaning | Response Time |
|---|---|---|
| P0 | Critical - System down | Immediate |
| P1 | Blocking - Feature broken | Same day |
| P2 | Normal - Standard task | This sprint |
| P3 | Low - Nice to have | When convenient |
Status Values
| Status | Meaning |
|---|---|
| PENDING | Not yet started |
| IN_PROGRESS | Agent is working on it |
| COMPLETE | Successfully finished |
| BLOCKED | Waiting for external input |
| FAILED | Could not complete |
Checklist for Sprint Authors
Before publishing a sprint document, verify:
[ ] Header is complete (date, archive, priority, effort)
[ ] Safety protocols section included
[ ] Problem statement is clear
[ ] Root cause is identified
[ ] Scope is explicitly defined
[ ] Each step has a specific tool call
[ ] Each step has exact code/commands
[ ] Each step has a checkpoint
[ ] Each step has decision points
[ ] Acceptance criteria are testable
[ ] Rollback procedure is included
[ ] Quick reference card is accurate
Example: Minimal Sprint
For simple fixes, you can use a condensed format:
# Sprint: Fix Typo in Error Message
**Date:** 2026-01-10 | **Archive:** 2026-01-17 | **Priority:** P3
## Task
Fix typo "recieved" → "received" in error handler.
## Scope
- File: `src/errors.py`
- Line: 42
## Steps
1. Read `src/errors.py` lines 40-45
2. Edit: Replace `"Data recieved"` with `"Data received"`
3. Verify: `python -m py_compile src/errors.py`
4. Commit: `git commit -m "fix(errors): correct typo in error message"`
## Rollback
git checkout HEAD -- src/errors.py
Template Quick Copy
Copy the full template from: SPRINT_TEMPLATE.md
Authored by: TheArchitectit Document Owner: Project Maintainers Review Cycle: Quarterly