feat(projman): add checkpoint/resume for interrupted agent work (#237)
Executor checkpointing: - Standard checkpoint comment format with branch, commit, phase - Files modified with status (created, modified) - Completed and pending steps tracking - State notes for resumption context - Save checkpoint after major steps, before stopping Orchestrator resume detection: - Scan issue comments for "## Checkpoint" markers - Offer resume options: resume, start fresh, review details - Verify branch exists and files match before resuming - Dispatch executor with checkpoint context Sprint-start integration: - Checkpoint detection as first workflow step - Resume flow documentation with example - Checkpoint format specification This enables resuming work after: - Budget exhaustion (100 tool call limit) - Agent failure/circuit breaker - Manual interruption - Session timeout Closes #237 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -93,7 +93,44 @@ git branch --show-current
|
||||
|
||||
**Workflow:**
|
||||
|
||||
**A. Fetch Sprint Issues**
|
||||
**A. Fetch Sprint Issues and Detect Checkpoints**
|
||||
```
|
||||
list_issues(state="open", labels=["sprint-current"])
|
||||
```
|
||||
|
||||
**For each open issue, check for checkpoint comments:**
|
||||
```
|
||||
get_issue(issue_number=45) # Comments included
|
||||
→ Look for comments containing "## Checkpoint"
|
||||
```
|
||||
|
||||
**If Checkpoint Found:**
|
||||
```
|
||||
Checkpoint Detected for #45
|
||||
|
||||
Found checkpoint from previous session:
|
||||
Branch: feat/45-jwt-service
|
||||
Phase: Testing
|
||||
Tool Calls: 67
|
||||
Files Modified: 3
|
||||
Completed: 4/7 steps
|
||||
|
||||
Options:
|
||||
1. Resume from checkpoint (recommended)
|
||||
2. Start fresh (discard previous work)
|
||||
3. Review checkpoint details first
|
||||
|
||||
Would you like to resume?
|
||||
```
|
||||
|
||||
**Resume Protocol:**
|
||||
1. Verify branch exists: `git branch -a | grep feat/45-jwt-service`
|
||||
2. Switch to branch: `git checkout feat/45-jwt-service`
|
||||
3. Verify files match checkpoint
|
||||
4. Dispatch executor with checkpoint context
|
||||
5. Executor continues from pending steps
|
||||
|
||||
**B. Fetch Sprint Issues (Standard)**
|
||||
```
|
||||
list_issues(state="open", labels=["sprint-current"])
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user