feat(projman): add structured progress comments for real-time visibility (#232)

Add structured progress comment format for agents:
- Standard format with Status, Phase, Tool Calls budget
- Completed/In-Progress/Blockers/Next sections
- Clear examples for starting, blocked, and failed states
- Guidance on when to post (every 20-30 tool calls)

Update sprint-status.md:
- Document how to parse progress comments
- Show enhanced in-progress display with tool call tracking
- Add progress comment detection to blocker analysis

This enables users to see:
- Real-time agent progress
- Tool call budget consumption
- Current phase and step
- Blockers as they occur

Closes #232

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-01-28 10:43:28 -05:00
parent 4bd15e5deb
commit 008187a0a4
3 changed files with 198 additions and 14 deletions

View File

@@ -108,31 +108,115 @@ git branch --show-current
## Your Responsibilities
### 1. Status Reporting
### 1. Status Reporting (Structured Progress)
**CRITICAL: Report your status accurately using comments.**
**CRITICAL: Post structured progress comments for visibility.**
**When starting work:**
**Standard Progress Comment Format:**
```markdown
## Progress Update
**Status:** In Progress | Blocked | Failed
**Phase:** [current phase name]
**Tool Calls:** X (budget: Y)
### Completed
- [x] Step 1
- [x] Step 2
### In Progress
- [ ] Current step (estimated: Z more calls)
### Blockers
- None | [blocker description]
### Next
- What happens after current step
```
**When to Post Progress Comments:**
- **Immediately on starting** - Post initial status
- **Every 20-30 tool calls** - Show progress
- **On phase transitions** - Moving from implementation to testing
- **When blocked or encountering errors**
- **Before budget limit** - If approaching turn limit
**Starting Work Example:**
```
add_comment(
issue_number=45,
body="🔄 **Status: In Progress**\nStarting implementation of JWT service."
body="""## Progress Update
**Status:** In Progress
**Phase:** Starting
**Tool Calls:** 5 (budget: 100)
### Completed
- [x] Read issue and acceptance criteria
- [x] Created feature branch feat/45-jwt-service
### In Progress
- [ ] Implementing JWT service
### Blockers
- None
### Next
- Create auth/jwt_service.py
- Implement core token functions
"""
)
```
**When encountering blockers:**
**Blocked Example:**
```
add_comment(
issue_number=45,
body="🚫 **Status: Blocked**\nBlocked by: [reason]\nNeeded: [what would unblock]"
body="""## Progress Update
**Status:** Blocked
**Phase:** Testing
**Tool Calls:** 67 (budget: 100)
### Completed
- [x] Implemented jwt_service.py
- [x] Wrote unit tests
### In Progress
- [ ] Running tests - BLOCKED
### Blockers
- Missing PyJWT dependency in requirements.txt
- Need orchestrator to add dependency
### Next
- Resume after blocker resolved
"""
)
```
**When failing (errors, cannot complete):**
**Failed Example:**
```
add_comment(
issue_number=45,
body="❌ **Status: Failed**\nError: [description]\nAttempted: [what was tried]\nNeeded: [investigation or help required]"
body="""## Progress Update
**Status:** Failed
**Phase:** Implementation
**Tool Calls:** 89 (budget: 100)
### Completed
- [x] Created jwt_service.py
- [x] Implemented generate_token()
### In Progress
- [ ] verify_token() - FAILED
### Blockers
- Critical: Cannot decode tokens - algorithm mismatch
- Attempted: HS256, HS384, RS256
- Error: InvalidSignatureError consistently
### Next
- Needs human investigation
- Possible issue with secret key encoding
"""
)
```

View File

@@ -284,11 +284,65 @@ update_issue(
- Remove Status labels when closing successfully
- Always add comment explaining status changes
### 5. Progress Tracking (Comment Updates)
### 5. Progress Tracking (Structured Comments)
**Monitor and Update:**
**CRITICAL: Use structured progress comments for visibility.**
**Add Progress Comments:**
**Standard Progress Comment Format:**
```markdown
## Progress Update
**Status:** In Progress | Blocked | Failed
**Phase:** [current phase name]
**Tool Calls:** X (budget: Y)
### Completed
- [x] Step 1
- [x] Step 2
### In Progress
- [ ] Current step (estimated: Z more calls)
### Blockers
- None | [blocker description]
### Next
- What happens after current step
```
**Example Progress Comment:**
```
add_comment(
issue_number=45,
body="""## Progress Update
**Status:** In Progress
**Phase:** Implementation
**Tool Calls:** 45 (budget: 100)
### Completed
- [x] Created auth/jwt_service.py
- [x] Implemented generate_token()
- [x] Implemented verify_token()
### In Progress
- [ ] Writing unit tests (estimated: 20 more calls)
### Blockers
- None
### Next
- Run tests and fix any failures
- Commit and push
"""
)
```
**When to Post Progress Comments:**
- After completing each major phase (every 20-30 tool calls)
- When status changes (blocked, failed)
- When encountering unexpected issues
- Before approaching tool call budget limit
**Simple progress updates (for minor milestones):**
```
add_comment(
issue_number=45,