docs: update sprint-4 tracking - complete

This commit is contained in:
Brad Groux 2026-01-26 04:13:22 -06:00
parent b4e4472df4
commit 08eda69369

63
docs/sprint-4.md Normal file
View file

@ -0,0 +1,63 @@
# Sprint 4: Code Review & Diff Viewing
**Goal:** Review agent changes before merging.
**Started:** 2026-01-26
**Status:** Complete ✅
---
## Stories
| ID | Title | Status | Notes |
|----|-------|--------|-------|
| US-401 | Diff viewer component | ✅ Complete | File tree + unified diff with syntax |
| US-402 | Line-level comments | ✅ Complete | Click + to add inline comments |
| US-403 | Approval workflow | ✅ Complete | Approve/Request Changes/Reject buttons |
| US-404 | Merge and close | ✅ Complete | Merge button appears when approved |
---
## Progress Log
### 2026-01-26
**US-401: Diff viewer component** ✅
- DiffViewer.tsx with file tree sidebar
- Shows changed files with +/- counts
- Click file to see unified diff
- Hunk headers (@@ syntax)
- Color-coded additions/deletions
**US-402: Line-level comments** ✅
- Click + button on any line to add comment
- Inline textarea appears
- Comments saved to task.reviewComments
- Comments persist and display with yellow highlight
**US-403: Approval workflow** ✅
- ReviewPanel with three decision buttons
- Approve (green), Request Changes (gray), Reject (red)
- Decision saved to task.review state
- Status banner shows decision + timestamp
- Clear button to reset
**US-404: Merge and close** ✅
- "Merge & Close Task" button appears when approved
- Confirmation dialog before merge
- Merges branch, pushes, deletes worktree
- Task status set to Done
**Bug Fixes:**
- Fixed `parseTaskFile` missing `review` field in return object
- Fixed `useDebouncedSave` overwriting unchanged fields (now tracks changed fields only)
---
## Commits
- `6fbbce0` feat(US-401): diff viewer component
- `a210a2d` feat(US-402): line-level review comments
- `44ff0d7` feat(US-403): approval workflow with review decisions
- `ae94df4` feat(US-404): merge and close integration
- `b4e4472` fix(US-403/404): review state sync bugs