Commit Graph

719 Commits

Author SHA1 Message Date
Dustin Byrne
9c4f4dfb3a fix(HAI-029): exclude test files from CLI build tsconfig 2026-03-25 22:20:54 -04:00
Dustin Byrne
e9d30c8697 test(HAI-029): add tests for runTaskShow output 2026-03-25 22:20:12 -04:00
Dustin Byrne
b863d098b9 fix(HAI-029): show full description in task show header 2026-03-25 22:19:13 -04:00
Dustin Byrne
554137b73f feat(HAI-023): complete Step 4 — CLI attach command 2026-03-25 22:05:19 -04:00
Dustin Byrne
99502e4e05 feat: resume orphaned in-progress tasks on engine restart 2026-03-25 21:42:47 -04:00
Dustin Byrne
0f80d4f2b2 feat(HAI-016): complete Step 5 — wire semaphore into dashboard engine components 2026-03-25 21:25:07 -04:00
Dustin Byrne
6a45531a79 feat(HAI-016): complete Step 4 — integrate semaphore into merge path 2026-03-25 21:21:42 -04:00
Dustin Byrne
a7b225d096 fix(HAI-010): complete Step 1 — serialize auto-merge, startup sweep, periodic retry
- Add serialized merge queue preventing concurrent git merge operations
- Startup sweep enqueues existing in-review tasks when autoMerge is enabled
- Periodic retry interval catches failed merges on each poll cycle
- All three paths (event-driven, startup, periodic) use the same queue
- Reset task status on merge failure so tasks don't appear stuck
- Re-check autoMerge setting before each dequeue
2026-03-25 21:00:01 -04:00
Dustin Byrne
dbb577ff0d feat(HAI-005): complete Step 3 — implement server-side auto-merge behavior 2026-03-25 20:45:25 -04:00
Dustin Byrne
6fbf3519b5 feat(HAI-002): add maxWorktrees setting to limit total git worktrees
- Add maxWorktrees field to Settings interface with default of 4
- Enforce worktree limit in Scheduler.schedule() alongside maxConcurrent
- Wire setting through dashboard startup from persisted settings
- Include maxWorktrees in /api/config response
- Add Max Worktrees input to Settings Modal UI
- Backward compatible: existing configs without maxWorktrees use default
2026-03-25 20:32:07 -04:00
Dustin Byrne
66a62b9bcb refactor: drop discover command, agents create new tasks instead 2026-03-25 20:17:38 -04:00
Dustin Byrne
8a2a5ac14b feat: taskplane-style specs + CLI step tracking
- Triage agent generates full PROMPT.md (mission, steps, file scope,
  review level, docs requirements, commit conventions, guardrails)
- Executor agent reports progress via hai task CLI
- hai task update <id> <step> <status> — step lifecycle
- hai task log <id> <message> — execution log
- hai task discover <id> <what> <disp> — record discoveries
- hai task show <id> — display steps, progress, discoveries, log
- Steps auto-parsed from PROMPT.md headings into task.json
- Task types extended with steps, reviews, discoveries, log
2026-03-25 20:14:04 -04:00
Dustin Byrne
07248db6b2 feat(HAI-001): update help text for task create command 2026-03-25 19:15:11 -04:00
Dustin Byrne
495a2eaa81 feat(HAI-001): update CLI task list to handle missing title 2026-03-25 19:15:05 -04:00
Dustin Byrne
2451e72bf9 feat(HAI-001): update CLI task create to prompt for description instead of title 2026-03-25 19:04:12 -04:00
Dustin Byrne
b7f2f1a3e6 feat(HAI-003): add file-system watcher to TaskStore for live dashboard updates
- Add watch() method using Node's built-in fs.watch with recursive option
- Detect task.json changes and emit appropriate SSE events (created/moved/updated/deleted)
- Debounce per-file changes (150ms) to coalesce rapid writes
- Suppress duplicate events for in-process mutations via recentlyWritten set
- Integrate watcher into dashboard server startup with clean SIGINT shutdown
- Add @types/node to core package for proper TypeScript support
2026-03-25 18:56:16 -04:00
Dustin Byrne
16e9043aee feat: AI-powered merge via pi agent 2026-03-25 18:43:49 -04:00
Dustin Byrne
c99b08b585 feat: integrate HAI-001 auto-open browser 2026-03-25 18:33:16 -04:00
Dustin Byrne
961203692d feat: hai board — core, dashboard, cli, engine 2026-03-25 18:32:10 -04:00