diff --git a/docs/sprint-4.md b/docs/sprint-4.md new file mode 100644 index 00000000..32e93ac5 --- /dev/null +++ b/docs/sprint-4.md @@ -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