Commit graph

18 commits

Author SHA1 Message Date
Brad Groux
b4e4472df4 fix(US-403/404): review state sync bugs
- task-service: add missing review field to parseTaskFile return
- TaskDetailPanel: useDebouncedSave now tracks changed fields only
  (prevents overwriting server state with stale local data)
2026-01-26 04:13:04 -06:00
Brad Groux
ae94df4cdc feat(US-404): merge and close integration
- Merge & Close button in ReviewPanel when approved
- Confirmation dialog with branch details
- Merge worker that merges to base, deletes worktree, marks done
- Loading state during merge operation
- Panel auto-closes on successful merge
2026-01-26 03:36:13 -06:00
Brad Groux
44ff0d7fe9 feat(US-403): approval workflow with review decisions
- ReviewState type with decision, timestamp, summary
- ReviewPanel component with approve/changes/reject buttons
- Summary input for changes-requested and rejected
- Current review status display with clear option
- Review tab in task detail panel
- Comment count display in review panel
2026-01-26 03:34:45 -06:00
Brad Groux
a210a2d287 feat(US-402): line-level review comments
- Add review comments to task schema
- Inline comment input on diff lines
- Comment display with amber highlighting
- Comment counts in file tree and headers
- Remove comment with X button
- Auto-save comments with debounced update
2026-01-26 03:33:05 -06:00
Brad Groux
32b2a7b070 chore: ignore worktrees directory 2026-01-26 03:30:29 -06:00
Brad Groux
6fbbce09ce feat(US-401): diff viewer component
- DiffService for git diff operations
- Diff API routes (summary, file, full)
- DiffViewer component with file tree
- Unified diff display with line numbers
- Syntax highlighting by file extension
- Added/removed line counts
- Tabs UI in task detail panel (Details, Git, Agent, Changes)
2026-01-26 03:30:24 -06:00
Brad Groux
88bf96a77f fix: add git and attempt fields to zod validation schema
The updateTaskSchema was missing git and attempt fields,
causing them to be stripped during validation.
2026-01-26 03:21:58 -06:00
Brad Groux
66c2e4feba docs: update sprint-3 tracking - complete 2026-01-26 03:12:43 -06:00
Brad Groux
6b7a2f56ca feat(US-301-307): agent orchestration
US-301: Agent configuration
- Settings UI for enabling/disabling agents
- Default agent selection
- Shows command and args for each agent

US-302: Start agent on task
- AgentService for process management
- POST /api/agents/:taskId/start
- Spawns agent in worktree directory
- Creates attempt record in task

US-303: Real-time agent output streaming
- WebSocket subscription for agent output
- useAgentStream hook with reconnection
- Terminal-style output panel with colors
- Auto-scroll with manual override

US-304: Agent conversation log persistence
- Logs saved to .veritas-kanban/logs/
- Markdown format with task metadata
- Full stdin/stdout/stderr capture

US-305: Send follow-up message to agent
- stdin input to running process
- Message input field in UI
- Displays with 'You:' prefix

US-306: Stop agent
- POST /api/agents/:taskId/stop
- SIGTERM then SIGKILL after timeout
- Confirmation dialog
- Marks attempt as failed

US-307: Agent completion handling
- Detects process exit
- Updates attempt status (complete/failed)
- Updates task status to 'review'
- WebSocket notification
2026-01-26 03:12:26 -06:00
Brad Groux
4d8ae16969 docs: update sprint-2 tracking - complete 2026-01-26 03:05:10 -06:00
Brad Groux
5977acc828 feat(US-203,204,205,206): git worktree integration
US-203: Git worktree creation
- WorktreeService with simple-git
- POST /api/tasks/:id/worktree creates worktree
- Creates feature branch from base branch
- Updates task with worktree path

US-204: Worktree status display
- GET /api/tasks/:id/worktree returns status
- Shows branch, ahead/behind commits, changed files
- 'Create Worktree' button when none exists
- 'Open in VS Code' button via vscode:// protocol

US-205: Branch operations (rebase, merge)
- POST /api/tasks/:id/worktree/rebase
- POST /api/tasks/:id/worktree/merge
- Confirmation dialogs for merge
- Task auto-moves to Done on merge

US-206: Worktree cleanup
- DELETE /api/tasks/:id/worktree
- Warns about uncommitted changes
- Force delete option
- Manual delete button in UI
2026-01-26 03:04:51 -06:00
Brad Groux
e52aab2b3f feat(US-202): git fields for code tasks
- GitSection component for task detail panel
- Repo dropdown from configured repos
- Base branch dropdown (fetched from repo)
- Auto-generated feature branch from task title
- Git fields saved to task file via debounced save
- Only shows for code task type
2026-01-26 03:02:32 -06:00
Brad Groux
c7834299f6 feat(US-201): project/repo configuration
- ConfigService for managing repos and agents
- Config API routes (CRUD for repos, validate path, get branches)
- Settings dialog with repo management UI
- Path validation against actual git repos
- Default agent configuration (Claude Code, Amp, Copilot, Gemini)
2026-01-26 03:01:14 -06:00
Brad Groux
f504b7383b docs: update sprint tracking - US-104 to US-108 complete 2026-01-26 02:55:01 -06:00
Brad Groux
b8cc446b6b feat: complete US-104 to US-108 (Kanban UI)
US-104: Kanban board UI shell
- Loading skeleton while fetching
- 4 columns with task counts
- Empty state with drop zone highlight

US-105: Task card component
- Type icons and color-coded borders
- Priority badges
- Project tags
- Tooltip on hover for full title
- Click opens detail panel

US-106: Create task dialog
- All fields working
- Validation and defaults

US-107: Task detail panel (new)
- Slide-out sheet from right
- Inline editing for all fields
- Debounced auto-save (500ms)
- Delete with confirmation dialog
- Escape key to close
- Metadata display (created/updated)

US-108: Drag and drop
- Visual feedback (ring highlight, ghost card)
- Status update on drop
- Persists to file via API

Added shadcn components: sheet, skeleton, tooltip, alert-dialog
2026-01-26 02:54:25 -06:00
Brad Groux
45a5c37612 feat: complete US-102 (task parser) and US-103 (REST API)
- Task schema with full types in shared package
- TaskService with injectable paths for testing
- gray-matter for markdown frontmatter parsing
- 15 unit tests for parser/service
- Full CRUD API with zod validation
- Fixed undefined value handling in frontmatter
- Updated sprint tracking
2026-01-26 02:49:09 -06:00
Brad Groux
95e758337f fix: TypeScript errors in server and web packages
- Remove slugify dependency, use custom makeSlug function
- Add explicit Router type annotation
- Remove unused ChevronUp import
- Build shared package for type exports
2026-01-26 02:37:17 -06:00
Brad Groux
a489c5358f feat: initial project scaffolding
- Dev container with Node.js 22
- pnpm workspace monorepo structure
- Express + WebSocket server
- React + Vite + shadcn/ui frontend
- Shared TypeScript types package
- Kanban board with drag-and-drop
- Task CRUD with file-based persistence
- Dark mode styling

Sprint 1 - US-101: Project scaffolding with dev container
2026-01-26 02:34:54 -06:00