Commit Graph

20 Commits

Author SHA1 Message Date
gsxdsm
82349f5c64 feat(KB-006): add clickable task dependencies in dashboard
- Make TaskCard dependency badges clickable to open task detail
- Make TaskDetailModal dependency links clickable for navigation
- Wire onOpenDetail callback through Column and WorktreeGroup components
- Add comprehensive tests for clickable dependency interactions
- Simplify GitHubImportModal component and update related tests
2026-03-29 18:18:33 -07:00
gsxdsm
53e09ce581 feat(KB-004): add GitHub PR creation and comment monitoring
- Add PR fields (prInfo, prNumber, prUrl) to Task type and TaskStore with updatePrInfo method
- Add PR Management API endpoints: create, status, refresh with per-repo rate limiting
- Add GitHubClient for PR creation and status fetching with comment support
- Add PrSection component for PR status display and actions in dashboard
- Add PR comment monitoring engine with PrMonitor and PrCommentHandler
- Integrate PR monitoring into scheduler for automatic PR tracking
- Add comprehensive tests for PR features in all packages
2026-03-29 18:10:35 -07:00
gsxdsm
478e7ffac3 feat(KB-005): add ListView component with board/list view toggle
- Create ListView component with sorting, filtering, and drag-and-drop support
- Add view toggle buttons to Header for switching between board and list views
- Integrate view switching in App with localStorage persistence
- Add comprehensive tests for ListView, Header view toggle, and App integration
- Add CSS styles for list view layout and toggle button states
2026-03-29 17:53:03 -07:00
gsxdsm
5214cc0657 feat(KB-002): add interactive GitHub issue import
- Add --interactive (-i) flag to 'kb task import' CLI command for selective import
- Add GitHubImportModal component to dashboard with issue browser and selection
- Add /api/github/issues/fetch and /api/github/issues/import API endpoints
- Add kb_task_import_github_issue and kb_task_browse_github_issues tools to pi extension
- Add comprehensive tests for CLI, dashboard API, and UI components
2026-03-29 17:40:28 -07:00
Dustin Byrne
494de14820 feat(KB-184): change autoMerge default from false to true
- Update DEFAULT_SETTINGS in core types to set autoMerge: true
- Update initial state defaults in App and SettingsModal components
- Update test fixtures in App, Board, and SettingsModal tests
- Update kb-board skill docs to reflect new default
- Add minor changeset for the default change
2026-03-28 18:14:16 -04:00
Dustin Byrne
acb246a659 fix(KB-181): preserve active-agent glow during soft-pause
- Replace combined engineStopped prop with globalPaused to decouple hard stop from soft pause
- Thread globalPaused through Board, Column, WorktreeGroup, and TaskCard components
- Active-agent glow now only suppressed on hard pause (globalPaused), not soft pause (enginePaused)
- Update tests to verify soft-pause preserves glow and hard-pause suppresses it
- Add changeset for patch release
2026-03-28 17:26:49 -04:00
Dustin Byrne
81ab64bdf7 feat(KB-160): thread engineStopped prop to suppress agent-active indicator
- Derive engineStopped from globalPaused/enginePaused in App and pass through Board → Column → WorktreeGroup → TaskCard
- Guard isAgentActive in TaskCard with !engineStopped so the pulse animation stops when the engine is paused
- Update Board test to supply the new engineStopped prop
- Add TaskCard tests covering engineStopped=true, false, and undefined (backward compat)
- Add engineStopped to all intermediate component interfaces
2026-03-28 16:30:23 -04:00
Dustin Byrne
cac10af5e1 feat(KB-157): add soft-pause (enginePaused) alongside hard-stop (globalPause)
- Add enginePaused field to Settings type with soft-pause semantics (drain queue, don't kill agents)
- Gate scheduler, triage, auto-merge, and periodic merge retry on enginePaused
- Add Pause and Stop buttons to dashboard Header replacing single toggle
- Wire enginePaused state through App with optimistic toggle and unpause resume logic
- Add tests for scheduler, triage, dashboard CLI, Header, and App covering pause behavior
2026-03-28 16:30:23 -04:00
Dustin Byrne
50821fc820 feat(KB-145): add global pause button to halt all AI engine activity
- Add globalPause setting to core Settings type with default false
- Guard scheduler, triage, and auto-merge queue to skip work when globalPause is active
- Add pause/play toggle button in dashboard Header with optimistic UI and rollback on failure
- Add tests for scheduler, triage, Header, and App global pause behavior
- Include minor changeset for the new feature
2026-03-28 16:30:23 -04:00
Dustin Byrne
9348c50567 feat(KB-132): auto-open Settings to Authentication tab when unauthenticated
- Add initialSection prop to SettingsModal to allow opening to a specific tab
- Export SectionId type from SettingsModal for use by parent components
- Check auth status on App mount and auto-open Settings to Authentication tab when all providers are unauthenticated
- Reset initialSection on modal close so subsequent manual opens default to General
- Add comprehensive tests for auto-open behavior and initialSection prop
2026-03-27 20:10:41 -04:00
Dustin Byrne
c802108a02 refactor(HAI-116): rename kb to hai across all packages, CLI, and docs
- Rename npm packages from @kb/* to @hai/* and update all workspace references
- Rename CLI binary from kb to hai and config directory from .kb to .hai
- Update dashboard UI branding, titles, and references from kb to hai
- Update all test files, CI workflows, and documentation to reflect new naming
- Run comprehensive grep verification to ensure no stale kb references remain
2026-03-26 22:44:11 -04:00
Dustin Byrne
efda541713 feat(HAI-057): add task dependency editing to dashboard UI
- Add dependencies field support to store updateTask method
- Wire dependencies through PATCH route and client API
- Add dependency editing UI (add/remove) to TaskDetailModal
- Pass tasks prop from App to TaskDetailModal for dependency picker
- Add tests for dependency CRUD in modal and API layer
2026-03-26 00:15:29 -04:00
Dustin Byrne
35177f448f feat(HAI-055): add failed task status handling with retry support
- Set task status to 'failed' on execution failure in engine executor
- Add failed indicator styling on TaskCard component
- Add POST /tasks/:id/retry API endpoint and client function
- Add retry button in TaskDetailModal for failed tasks
- Add tests for failed indicator, retry endpoint, and modal behavior
2026-03-25 23:50:11 -04:00
Dustin Byrne
8fcc425433 feat(HAI-005): complete Step 2 — add auto-merge toggle UI to In Review column 2026-03-25 20:43:41 -04:00
Dustin Byrne
daafab1b17 feat(HAI-004): add settings trigger to Header and wire into App 2026-03-25 20:03:42 -04:00
Dustin Byrne
003f16f285 feat(HAI-001): move new task creation to triage column with button in column header 2026-03-25 19:57:02 -04:00
Dustin Byrne
28ee12d3c8 feat(HAI-003): replace CreateTaskModal with inline card creation in Todo column
- Create InlineCreateCard component with auto-focused input, dependency
  dropdown, Enter to submit, Escape to cancel
- Update Column to render InlineCreateCard at top of Todo column body
- Update Board to pass through inline-create props to Todo column
- Update App to use isCreating state instead of createModalOpen
- Add CSS styles for inline create card, dependency dropdown
- Delete CreateTaskModal component
2026-03-25 19:37:01 -04:00
Dustin Byrne
3b79792f27 feat(HAI-002): integrate worktree grouping into Column and Board 2026-03-25 18:53:21 -04:00
Dustin Byrne
918941a555 feat: merge HAI-002 React dashboard + add merge flow 2026-03-25 18:38:34 -04:00
Dustin Byrne
c0c1ce0e83 feat(HAI-002): create React app entry point and layout 2026-03-25 18:24:48 -04:00