Lesson 13: Increment Lifecycle Management
Time: 45 minutes Goal: Master the full increment lifecycle from creation to archival
The Increment Lifecycleβ
Every increment goes through a predictable lifecycle:
βββββββββββββββ
β BACKLOG β
β (planned) β
ββββββββ¬βββββββ
β
/specweave:resume
β
βΌ
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β ββββββββββββ ββββββββββββββ βββββββββββββ β
β β PLANNING βββββΆβ ACTIVE βββββΆβ CLOSING β β
β ββββββββββββ βββββββ¬βββββββ βββββββ¬ββββββ β
β β β β
β β β β
β /specweave:pause /specweave:done β
β β β β
β βΌ βΌ β
β ββββββββββββ βββββββββββββ β
β β PAUSED β β COMPLETED β β
β ββββββββββββ βββββββ¬ββββββ β
β β β
β /specweave:archive β
β β β
β βΌ β
β βββββββββββββ β
β β ARCHIVED β β
β βββββββββββββ β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
/specweave:abandon
β
βΌ
βββββββββββββ
β ABANDONED β
βββββββββββββ
Status Management Commandsβ
Viewing Statusβ
# All increments (active, paused, backlog)
/specweave:status
# Output:
ββββββββββββββββββββββββββββββββββββββββββ
SPECWEAVE STATUS
ββββββββββββββββββββββββββββββββββββββββββ
ACTIVE (2/2 WIP slots used)
0042-user-authentication ββββββββββ 75% (3 days)
0043-payment-processing ββββββββββ 20% (1 day)
PAUSED (1)
0040-notification-system ββββββββββ 40% (blocked: external API)
BACKLOG (3)
0044-analytics-dashboard π Planned for next sprint
0045-mobile-app π Planned for Q2
0046-performance-tuning π Tech debt
COMPLETED THIS WEEK (2)
0041-dashboard-redesign β
2 days ago
0039-bug-fix-login β
5 days ago
Detailed Increment Statusβ
# Specific increment details
/specweave:status 0042
# Output:
ββββββββββββββββββββββββββββββββββββββββββ
INCREMENT: 0042-user-authentication
ββββββββββββββββββββββββββββββββββββββββββ
Status: ACTIVE
Progress: 75% (12/16 tasks)
Started: 2025-11-20
Elapsed: 3 days
USER STORIES:
US-001: User login β
Complete
US-002: Password reset π In progress
US-003: OAuth integration π Pending
TASKS (recent):
β
T-001: Create AuthService
β
T-002: Implement JWT tokens
β
T-003: Add login endpoint
π T-004: Password reset flow (current)
π T-005: OAuth Google
π T-006: OAuth GitHub
EXTERNAL SYNC:
GitHub Issue: #142 (synced 5 min ago)
JIRA Epic: AUTH-100 (synced 5 min ago)
Pausing and Resuming Incrementsβ
When to Pauseβ
Pause an increment when:
- External blocker: Waiting for API access, third-party service
- Priority shift: Urgent work takes precedence
- Context needed: Need information from stakeholder
- Resource constraint: Team member unavailable
Pausingβ
/specweave:pause 0042
# Optional: Provide reason
/specweave:pause 0042 --reason "Waiting for Stripe API credentials"
What happens:
- Status changes to
PAUSED - WIP slot freed (allows new active increment)
- Reason recorded in
metadata.json - External tools updated (GitHub label: "on-hold")
Resumingβ
/specweave:resume 0042
# If WIP limit reached:
# "Cannot resume: 2/2 WIP slots in use. Complete or pause another increment first."
What happens:
- Status changes to
ACTIVE - WIP slot consumed
- Resume timestamp recorded
- External tools updated (GitHub label removed)
Backlog Managementβ
Moving to Backlogβ
For increments you've planned but aren't ready to start:
/specweave:backlog 0044
# Or during creation:
/specweave:increment "Analytics dashboard" --backlog
Backlog vs Paused:
- Backlog: Never started, planned for future
- Paused: Was active, temporarily stopped
Prioritizing Backlogβ
# View backlog with priorities
/specweave:status --backlog
# Output:
BACKLOG (3 items)
Priority 1: 0044-analytics-dashboard (Next sprint)
Priority 2: 0045-mobile-app (Q2)
Priority 3: 0046-performance-tuning (When time permits)
# Reorder backlog
/specweave:backlog reorder
# Interactive: Drag and drop priority
Completing Incrementsβ
The Done Commandβ
/specweave:done 0042
What happens:
- Task validation: Are all tasks marked complete?
- Quality gate: Runs
/specweave:qa --gate - PM validation: AI reviews against acceptance criteria
- Completion report: Generated in increment folder
- External sync: Closes GitHub issue, updates JIRA status
- Status change:
ACTIVEβCOMPLETED
If Quality Gate Failsβ
/specweave:done 0042
ββββββββββββββββββββββββββββββββββββββββββ
PM VALIDATION: 0042-user-authentication
ββββββββββββββββββββββββββββββββββββββββββ
Gate 1: Tasks β (14/16 complete)
Missing:
- T-015: Write E2E tests
- T-016: Update documentation
Gate 2: Tests β οΈ (85% coverage, target: 90%)
Gate 3: Docs β
Missing:
- AC-US2-03 not checked off
RESULT: β CANNOT CLOSE
Fix these issues and try again.
Forcing Completion (Use Sparingly)β
# Skip quality gates (hotfix scenario)
/specweave:done 0042 --expedite
# Requires confirmation:
# "This will close without validation. Are you sure? (y/N)"
Archiving Completed Incrementsβ
Why Archive?β
Over time, completed increments accumulate:
.specweave/increments/
βββ 0001-initial-setup/
βββ 0002-user-auth/
βββ 0003-dashboard/
...
βββ 0089-performance-fix/
βββ 0090-security-patch/
βββ 0091-current-feature/
# 90+ folders = slow searches, cluttered workspace
Manual Archiveβ
/specweave:archive 0042
What happens:
- Moves to
.specweave/increments/_archive/0042-user-authentication/ - Keeps full history (spec, plan, tasks, completion report)
- Updates living docs references
- Frees main increments folder
Bulk Archiveβ
# Archive all completed increments older than 30 days
/specweave:archive --completed --older-than 30d
# Archive specific list
/specweave:archive 0042 0043 0044
# Preview what would be archived (dry run)
/specweave:archive --completed --dry-run
Archive Best Practicesβ
Recommended schedule:
Weekly: Archive increments completed > 7 days ago
Monthly: Archive all completed increments
Automated (via cron or CI):
/specweave:archive --completed --older-than 7d --auto-yes
Restoring Archived Incrementsβ
Need to reference an old increment? Restore it:
# Restore to active folder
/specweave:restore 0042
# Just view without restoring
/specweave:restore 0042 --view-only
Abandoning Incrementsβ
For increments that won't be completed (requirements changed, feature cancelled):
/specweave:abandon 0042
# With reason (recommended)
/specweave:abandon 0042 --reason "Feature cancelled by stakeholder"
What happens:
- Status changes to
ABANDONED - Moved to
_archive/abandoned/ - Reason recorded for future reference
- External tools updated (GitHub issue closed with "won't fix")
Abandoned vs Archivedβ
- Archived: Successfully completed, historical reference
- Abandoned: Not completed, cancelled or obsolete
Workspace Cleanup Commandsβ
Sync Statusβ
Fix any status desync between files:
/specweave:sync-status
# Output:
Checking status consistency...
0042: metadata.json says "active", spec.md says "planning"
β Auto-fixing: Using metadata.json as source of truth
All statuses synced.
Validate Workspaceβ
Check for issues:
/specweave:validate --all
# Output:
ββββββββββββββββββββββββββββββββββββββββββ
WORKSPACE VALIDATION
ββββββββββββββββββββββββββββββββββββββββββ
β
0042-user-authentication: Valid
β
0043-payment-processing: Valid
β οΈ 0040-notification-system:
- Missing plan.md (created spec, never planned)
β 0044-analytics-dashboard:
- tasks.md references non-existent AC-US9-01
Total: 2 valid, 1 warning, 1 error
Fix Duplicatesβ
If duplicate increments were created:
/specweave:fix-duplicates
# Output:
Found duplicates:
0042-user-authentication (created: Nov 20)
0042-user-authentication (created: Nov 22) β duplicate
Keep the original (Nov 20) and remove duplicate? (Y/n)
The Progress Commandβ
Track ongoing work:
/specweave:progress
# Output for active increment:
ββββββββββββββββββββββββββββββββββββββββββ
PROGRESS: 0042-user-authentication
ββββββββββββββββββββββββββββββββββββββββββ
Overall: ββββββββββββββββββββ 60% (12/20 tasks)
BY USER STORY:
US-001 (Login): ββββββββββββββββββββ 100%
US-002 (Password): ββββββββββββββββββββ 60%
US-003 (OAuth): ββββββββββββββββββββ 0%
RECENT ACTIVITY:
β
T-008: Password reset email (2 hours ago)
β
T-007: Reset token generation (3 hours ago)
NEXT UP:
β T-009: Reset confirmation page
β T-010: Password strength validation
Full Sync Commandβ
Synchronize everything at once:
/specweave:sync-progress
# Output:
ββββββββββββββββββββββββββββββββββββββββββ
FULL PROGRESS SYNC
ββββββββββββββββββββββββββββββββββββββββββ
Step 1: Verify tasks.md
β 20 tasks validated
Step 2: Update spec.md ACs
β 8/15 ACs marked complete
Step 3: Sync to living docs
β FEATURES.md updated
β FS-001/progress.md updated
Step 4: Sync to external tools
GitHub: β Issue #142 checkboxes updated
JIRA: β Epic AUTH-100 progress: 60%
All systems synchronized!
Workflow Commandβ
Get intelligent guidance on what to do next:
/specweave:workflow
# Output:
ββββββββββββββββββββββββββββββββββββββββββ
WORKFLOW NAVIGATOR
ββββββββββββββββββββββββββββββββββββββββββ
Current State: 0042-user-authentication
Phase: IMPLEMENTATION (60% complete)
Recommended Actions:
1. Continue implementation: /specweave:do
2. Check progress: /specweave:progress
3. Validate quality: /specweave:qa 0042
Blockers Detected: None
External Status:
GitHub: In sync β
JIRA: In sync β
Ready for: Continue implementing tasks
Quick Exerciseβ
Practice lifecycle management:
# 1. Create a test increment
/specweave:increment "Test lifecycle feature"
# 2. Check status
/specweave:status
# 3. Pause it
/specweave:pause 0001 --reason "Testing pause"
# 4. Resume it
/specweave:resume 0001
# 5. Move to backlog
/specweave:backlog 0001
# 6. Abandon it (cleanup)
/specweave:abandon 0001 --reason "Test complete"
Best Practicesβ
1. Keep WIP Lowβ
β 5 active increments = context switching nightmare
β
1-2 active increments = focused, fast delivery
2. Archive Regularlyβ
# Add to weekly routine:
/specweave:archive --completed --older-than 7d
3. Use Backlog for Future Workβ
# Don't start what you can't finish
/specweave:increment "Future feature" --backlog
4. Always Provide Reasonsβ
# Good:
/specweave:pause 0042 --reason "Waiting for Stripe API keys"
/specweave:abandon 0042 --reason "Feature cancelled per PM decision"
# Bad:
/specweave:pause 0042 # Why? No one will remember
Key Takeawaysβ
- Increments have clear states: Planning β Active β Completed β Archived
- Pause when blocked, not when busy with other work
- Archive completed work to keep workspace clean
- Abandon obsolete increments rather than leaving them in limbo
- Use /specweave:workflow for intelligent guidance
Glossary Terms Usedβ
- Increment β A unit of work
- WIP Limits β Work-in-progress constraints
- Quality Gate β Validation checkpoint
- Living Docs β Auto-synced documentation
What's Next?β
Now that you understand the full increment lifecycle, let's dive deep into GitHub integration β the most popular external tool sync.
:next β Lesson 14: GitHub Integration Guide