Commit Graph

20 Commits

Author SHA1 Message Date
gsxdsm
d6e30300a9 feat(FN-822): unify stuck-task detection with configurable project timeout
- Extract isTaskStuck and countStuckTasks into shared utils/taskStuck.ts utility
- Replace hardcoded 10-minute threshold with project taskStuckTimeoutMs setting
- Thread taskStuckTimeoutMs from App settings fetch through ExecutorStatusBar to useExecutorStats
- Return 0 stuck tasks when timeout is undefined/0 (disabled), matching engine behavior
- Update tests to verify disabled state, custom thresholds, and zero threshold edge case
2026-04-04 00:35:21 -07:00
gsxdsm
e5760fa4fe feat(FN-800): auto-generate model preset IDs and remove manual ID editing
- Add slugify and generatePresetId utilities with collision handling for unique preset IDs
- Remove manual ID input field from preset editor UI in SettingsModal
- Auto-generate preset IDs server-side from name on creation
- Simplify Header tests by removing ID-related test cases
- Deduplicate tablet header controls tests by importing from shared Header tests
- Remove unused CSS rules for removed ID input field
- Update reviewer to pass through preset ID generation logic
2026-04-03 18:33:23 -07:00
gsxdsm
b826c2d7a9 feat(FN-683): add diff syntax highlighting with background colors
- Add highlightDiff utility React component for diff rendering
- Add CSS styles for diff-add (green), diff-del (red), diff-hunk (blue) line highlighting
- Integrate highlightDiff in TaskChangesTab for inline diffs
- Integrate highlightDiff in ChangedFilesModal for file diffs
- Add unit tests for highlightDiff utility
2026-04-02 09:58:04 -07:00
gsxdsm
2c48ce0852 feat: rename data directory, add global project settings, multi-project CLI commands, and provider badge in model selector
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-02 09:10:42 -07:00
gsxdsm
2b1e342eaf feat(FN-674): implement multi-project dashboard UX
- Add Project Overview page with responsive grid and health status cards
- Add Project Selector dropdown in header for quick project switching
- Add Setup Wizard for registering new projects with auto-detection
- Implement project drill-down: click project to view its tasks
- Add global activity feed with cross-project activity log
- Add project health monitoring with real-time status polling
- Add deep linking support for tasks via ?task= URL parameter
- Add useTasks hook with project context filtering
- Add ntfy notification deep link to open tasks in dashboard
- Fix terminal error message formatting for agent failures
- Unify comment style across codebase (// instead of /** */)
- Add comprehensive tests for multi-project components
2026-04-01 01:36:24 -07:00
gsxdsm
e8e5b6c854 feat(KB-640): add role editing UI and restore KB task prefix
- Add inline role editing to AgentListModal with clickable role icons
- Add handleRoleChange and handleRoleKeyDown handlers for role updates
- Persist view toggle (board/list) with localStorage alongside role editing
- Restore task prefix from FN back to KB for generated task IDs
- Restore branch naming from fusion/ back to kb/ for task branches
- Update branch name references in executor, merger, scheduler, and CLI
- Add touch gesture detection support to TaskCard component
- Update worktree grouping labels to use KB prefix
2026-03-31 19:44:36 -07:00
gsxdsm
5647e500cf feat(KB-332): rename task prefix from KB to FN and branches from kb/ to fusion/
- Change default task prefix from KB to FN across all packages

- Rename branch naming pattern from kb/{id} to fusion/{id}

- Update all test assertions and fixtures to use new prefixes

- Add changeset for the breaking change

- Resolve merge conflicts in TaskCard.test.tsx touch gesture tests
2026-03-31 19:29:47 -07:00
gsxdsm
789cc519da test(KB-606): add comprehensive test coverage across packages
- Add tests for core board logic (board.test.ts)
- Add tests for dashboard useToast hook (useToast.test.tsx)
- Add tests for dashboard model filter utility (modelFilter.test.ts)
- Add tests for agent heartbeat monitor (agent-heartbeat.test.ts)
2026-03-31 17:27:28 -07:00
gsxdsm
fc0411713c feat(KB-330): rename internal packages from @kb/* to @fusion/*
- Rename @kb/core, @kb/dashboard, @kb/engine to @fusion/* namespace
- Update all import statements across 143+ files to use new package names
- Update workspace dependencies and root package.json references
- Fix bundler configurations (tsup, vite) for new package names
- Update test files and fix typecheck issues
- Add changeset file documenting the package rename
2026-03-31 13:33:44 -07:00
gsxdsm
27144d1cc3 feat(KB-274): complete Step 3 — update dashboard worktree grouping to treat archived as satisfied dependency 2026-03-31 07:03:07 -07:00
gsxdsm
dfe5601622 feat(KB-184): add model presets for task creation
- Add model preset types and settings fields with API validation
- Create model preset utility helpers for size-based auto-selection
- Add settings UI for managing model presets (create, edit, delete)
- Integrate preset selection into NewTaskModal with custom override option
- Add inline preset selection to InlineCreateCard component
- Persist modelPresetId in task store and preserve through archive/unarchive
- Add changeset and update AGENTS.md with feature documentation
2026-03-31 02:04:45 -07:00
gsxdsm
fd4a80b43c feat(KB-061): add model filter search to model selectors
- Add search input with clear button and results count to ModelSelectorTab
- Extract filterModels utility for shared filtering logic across components
- Apply filtering to SettingsModal model section
- Add CSS styles for filter UI components
- Add comprehensive tests for ModelSelectorTab and SettingsModal filtering
2026-03-29 20:55:01 -07: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
615f31c777 feat(HAI-096): add task pause/unpause functionality
- Add paused field to Task data model and store with pauseTask method
- Update triage, scheduler, and executor to respect paused flag and terminate paused tasks
- Add REST API endpoints and CLI commands for pause/unpause operations
- Add dashboard UI visual indicator and toggle for paused state
- Update README with pause/unpause CLI command documentation
2026-03-26 22:44:11 -04:00
Dustin Byrne
b9d7c89905 feat(HAI-034): use humanized worktree names instead of task-ID-based directories
- Add worktree-names module with adjective-animal name generator (generateWorktreeName)
- Update executor to assign humanized random worktree names and support dependency worktree reuse
- Remove task-ID fallback paths from merger and store; add shared worktree cleanup via findWorktreeUser
- Remove worktree pool module and related scheduler/integration tests
- Update dashboard worktree label tests and add JSDoc documentation for worktree naming
2026-03-25 23:09:25 -04:00
Dustin Byrne
424cc9acbd test(HAI-009): complete Step 2 — add unit tests for worktreeGrouping 2026-03-25 20:57:20 -04:00
Dustin Byrne
a205674c1a fix(HAI-009): complete Step 1 — move queued tasks to Up Next group only 2026-03-25 20:55:06 -04:00
Dustin Byrne
3807b0ae0f fix(HAI-002): handle undefined title and dependencies to prevent crashes 2026-03-25 19:58:19 -04:00
Dustin Byrne
674826e838 fix(HAI-002): inline dependency ordering to avoid Vite alias limitation 2026-03-25 18:54:50 -04:00
Dustin Byrne
16458c59b5 feat(HAI-002): create worktree grouping utility 2026-03-25 18:52:40 -04:00