Commit Graph

500 Commits

Author SHA1 Message Date
gsxdsm
cf354ef481 feat(KB-633): add Mission REST API routes for real-time steering
- Create mission-routes.ts with comprehensive REST API for task steering
- Add GET/PUT /api/tasks/:id/mission endpoints for mission state management
- Add POST endpoints for steering comments, pause/unpause, retry, and cancel
- Mount mission routes in dashboard API server
- Update core store with mission-related functionality
- Refactor executor: remove old mission logic, update tests
2026-03-31 18:53:10 -07:00
gsxdsm
d711b2b9dd feat(KB-630): inherit parent task models in subtasks
- Subtasks now inherit parent task's executor and validator model settings
- When triage creates subtasks, modelProvider/modelId and validatorModelProvider/validatorModelId are copied from parent
- Clean up legacy mission-store code (mission-store.ts, mission-types.ts, and related tests)
- Add comprehensive tests for subtask model inheritance in triage, routes, and db
- Remove obsolete changeset for missions-database-schema
2026-03-31 18:31:57 -07:00
gsxdsm
bee49222e0 fix(KB-629): add Task type import and fix type error in batch update 2026-03-31 18:26:49 -07:00
gsxdsm
209bc10b99 feat(KB-629): complete Step 6 — add documentation and changeset for bulk model editing 2026-03-31 18:26:14 -07:00
gsxdsm
59be515558 fix(KB-629): add batchUpdateTaskModels to API mock in ListView tests 2026-03-31 18:25:19 -07:00
gsxdsm
fdd8e5e852 feat(KB-629): complete Step 5 — add comprehensive tests for API client and ListView bulk selection 2026-03-31 18:21:00 -07:00
gsxdsm
173939e182 feat(KB-629): complete Step 5 — add ListView bulk selection tests and fix dependency order 2026-03-31 18:19:05 -07:00
gsxdsm
e2ed25d54b feat(KB-629): complete Step 4 — add bulk edit toolbar with model dropdowns 2026-03-31 18:14:07 -07:00
gsxdsm
d32a6223eb feat(KB-629): complete Step 3 — add selection UI to list view 2026-03-31 18:12:07 -07:00
gsxdsm
21f0454eef feat(KB-629): complete Step 2 — add batchUpdateTaskModels API client function 2026-03-31 18:10:14 -07:00
gsxdsm
66aec53543 feat(KB-629): complete Step 1 — add batch update API endpoint with tests 2026-03-31 18:09:16 -07:00
gsxdsm
55b8097102 feat(KB-626): add mobile responsive styles for model dropdown
- Add media query for tablet screens (max-width: 768px) with 70vh max-height
- Add media query for mobile screens (max-width: 640px) with 60vh max-height
- Center dropdown horizontally using transform translateX
- Set responsive width with viewport calculation and min-width unset
2026-03-31 18:05:11 -07:00
gsxdsm
5912e829b1 feat(KB-624): add settings export and import functionality
- Add core settings export/import module with comprehensive tests
- Add CLI commands: kb settings --export and kb settings --import
- Add dashboard API endpoints for settings export/import
- Add dashboard UI for exporting and importing settings in SettingsModal
- Add changeset for @gsxdsm/fusion package release
2026-03-31 18:04:48 -07:00
gsxdsm
b3ae03190f test(KB-627): add ModelSelectionModal tests and update QuickEntryBox tests for modal integration 2026-03-31 18:00:26 -07:00
gsxdsm
9d039d9ab6 feat(KB-623): add mobile tab overflow scrolling for detail tabs
- Add horizontal overflow scrolling to .detail-tabs for mobile viewports
- Add -webkit-overflow-scrolling: touch for smooth momentum scrolling
- Hide scrollbars with scrollbar-width: none and ::-webkit-scrollbar
- Change .detail-tab from flex:1 to flex-shrink:0 to prevent tab compression
2026-03-31 17:52:01 -07:00
gsxdsm
be5a7d9b3f feat(KB-627): Steps 1-2 — Create ModelSelectionModal and integrate with QuickEntryBox 2026-03-31 17:51:20 -07:00
gsxdsm
dbfb8bc1d9 feat(KB-608): complete integration testing and fix terminal race condition
- Add comprehensive TerminalModal tests covering initialization race condition
- Update SettingsModal tests for new behavior
- Fix terminal initialization race condition in TerminalModal
- Remove obsolete test files (board.test.ts, useToast.test.tsx, modelFilter.test.ts, agent-heartbeat.test.ts)
- Clean up old changeset files for resolved issues
- Add changeset for dashboard terminal fix
- Minor CLI command and store improvements
2026-03-31 17:50:16 -07:00
gsxdsm
9030eeebd7 fix(KB-613): resolve status update race condition and fix stuck timeout units
- Add timestamp comparison logic in handleUpdated to prevent stale websocket data from overwriting newer task state
- Rename stuck timeout setting from minutes to milliseconds for finer control
- Add comprehensive tests for status update race condition scenarios
- Add changeset for status update race condition fix
2026-03-31 17:37:31 -07:00
gsxdsm
f159a5edd8 feat(KB-612): convert stuck task timeout from milliseconds to minutes
- Convert stuck task timeout input from milliseconds to minutes for better UX\n- Add changeset documenting the UX improvement\n- Update SettingsModal with minutes-to-ms conversion logic\n- Fix nav item count test to include Backups section\n- Update timeout tests for minutes input format
2026-03-31 17:34:11 -07:00
gsxdsm
b042ffb278 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
965783db95 fix(KB-605): add CSS variables for agent badges and AgentListModal tests
- Add missing CSS variables for agent state badges in AgentListModal
- Add comprehensive test suite for AgentListModal component (754 lines)
- Include changeset documenting the CSS fix
2026-03-31 17:17:19 -07:00
gsxdsm
ab3dff2100 feat(KB-335): rename environment variables from KB_* to FUSION_*
- Rename all KB_* environment variables to FUSION_* prefix across CLI and dashboard
- Update CLI runtime files (native-patch.ts) and build configuration
- Update dashboard server, badge-pubsub, GitHub webhooks, and terminal service
- Update test files to use new FUSION_API_KEY and related env vars
- Update documentation in README, AGENTS.md, STANDALONE.md, and dashboard README
- Update changeset files with new environment variable names
2026-03-31 17:03:23 -07:00
gsxdsm
a114446844 feat(KB-603): improve task creation UX with draft persistence and save-to-create
- Change QuickEntryBox Save button to immediately create task instead of just saving
- Add draft persistence to InlineCreateCard via localStorage for recovery
- Add comprehensive tests for InlineCreateCard draft persistence
- Update QuickEntryBox tests for new save-and-create behavior
2026-03-31 17:02:11 -07:00
gsxdsm
73c285977c feat(KB-611): change groupOverlappingFiles default to true
- Update DEFAULT_PROJECT_SETTINGS groupOverlappingFiles from false to true
- Update SettingsModal form default to match
- Add changeset for the default behavior change
2026-03-31 15:48:09 -07:00
gsxdsm
12e90ae8fb fix(KB-610): fix race condition in allocateId and ensure config row exists
- Fix race condition in allocateId and ensure config row exists for reliable settings save
- Add comprehensive settings save tests in store.test.ts and SettingsModal.test.tsx
- Add changeset documenting the settings save fix
- Remove backup functionality from core and CLI (backup.ts, backup.test.ts, backup command)
- Update AGENTS.md to remove obsolete backup documentation
2026-03-31 15:47:12 -07:00
gsxdsm
a6f99f90bb feat(KB-327): add automatic database backup system
- Add backup settings to ProjectSettings with schedule, retention, and directory config
- Create BackupManager with create, list, cleanup, and restore operations
- Add CLI backup commands: --create, --list, --restore, --cleanup
- Implement backup validation and automation sync for scheduled backups
- Add dashboard backup settings UI with stats and 'Backup Now' button
- Add backup API routes for settings management and manual operations
- Include comprehensive backup tests and changeset for patch release
- Document backup configuration and recovery in AGENTS.md
2026-03-31 15:40:25 -07:00
gsxdsm
b36c164261 test(KB-601): add test for pause/unpause with missing directory 2026-03-31 14:43:55 -07:00
gsxdsm
3f77d80096 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
ac02d0fd8c fix(KB-325): add cwd parameter to git helper functions and pass rootDir in route handlers
- Add optional cwd parameter to all git helper functions (getGitHubRemotes, isGitRepo, getGitStatus, getGitCommits, getCommitDiff)
- Pass rootDir from request context to git commands in dashboard route handlers
- Ensure git operations execute in correct working directory for multi-worktree setups
- Fix execSync options to consistently use encoding and timeout with cwd
2026-03-31 13:10:04 -07:00
gsxdsm
210328000c test(KB-323): add end-to-end verification test for steering comments injection
- Add comprehensive e2e test for steering comments injection in executor
- Verify system prompt steering comments are correctly injected
- Test covers executor initialization and prompt construction
2026-03-31 12:51:06 -07:00
gsxdsm
a9b0cb55f9 test(KB-316): add comprehensive test coverage for dashboard services
- Add file service tests (680 lines) covering file operations and error handling
- Extend GitHub polling service tests with GitHubPollingService coverage
- Extend rate-limit tests with additional boundary and edge cases
- Total of 1405 new test lines across 3 test files
2026-03-31 12:01:55 -07:00
gsxdsm
ca31314be0 feat(KB-091): add auto-scroll to agent log viewer
- Add useRef and useEffect hooks to track container scroll position
- Auto-scroll to top when new entries arrive while user is near top (within 50px)
- Preserve model info header display with executor/validator models
- Add tests for auto-scroll behavior (scrolls when at top, preserves position when scrolled)
- All 18 AgentLogViewer tests pass
2026-03-31 11:52:02 -07:00
gsxdsm
ade5ac6523 feat(KB-314): add OpenAI logo to custom model dropdown with integration tests
- Add OpenAI logo/icon rendering to CustomModelDropdown component
- Add unmocked integration tests for OpenAI icon rendering in dropdown
- Create changeset for @dustinbyrne/kb package release
- Update existing CustomModelDropdown tests
2026-03-31 11:39:30 -07:00
gsxdsm
1193139d7b test(KB-301): fix NewTaskModal tests — update for Plan/Subtask buttons (replaced planning mode checkbox) 2026-03-31 11:27:58 -07:00
gsxdsm
da899ffbf4 test(KB-301): fix server.test.ts — update error response assertion to match implementation 2026-03-31 11:22:38 -07:00
gsxdsm
ce9a403413 test(KB-301): fix routes.test.ts — update retry count expectation and git error response format 2026-03-31 11:22:20 -07:00
gsxdsm
30f822e776 test(KB-301): fix mobile CSS test — make regex more specific to match bare textarea selector 2026-03-31 11:21:39 -07:00
gsxdsm
dfb0f9198b test(KB-301): fix ai-refine.test.ts — mock @kb/engine to prevent dynamic import timeout 2026-03-31 11:21:13 -07:00
gsxdsm
de5172a386 test(KB-301): fix api.test.ts error message assertions — match updated format with URL 2026-03-31 11:20:46 -07:00
gsxdsm
0054aab4e5 test(KB-301): fix SubtaskBreakdownModal tests — add dataTransfer mocks for jsdom drag events 2026-03-31 11:20:33 -07:00
gsxdsm
299345937e test(KB-301): fix useWorkspaces tests — use real timers for polling interval 2026-03-31 11:20:09 -07:00
gsxdsm
076b435056 test(KB-301): fix useProjectFileEditor tests — wrap async save assertions in act() and waitFor() 2026-03-31 11:19:27 -07:00
gsxdsm
f3e90ebfca fix(KB-309): add missing notification settings to form state
- Add ntfyEnabled and ntfyTopic to initial form state in SettingsModal
- Add comprehensive tests for notification settings persistence
- Ensure notification values are properly initialized from settings
2026-03-31 11:00:59 -07:00
gsxdsm
be63047d26 feat(KB-302): add onMouseDown blur protection to QuickEntryBox action buttons
- Add onMouseDown handler with preventDefault() to action buttons in QuickEntryBox
- Prevent focus blur when clicking Deps, Models, Plan, and Subtask buttons
- Add regression tests to verify button interactions maintain focus
- Fixes focus loss issue when using QuickEntryBox action buttons while typing
2026-03-31 10:42:02 -07:00
gsxdsm
4ad3fe240b feat(KB-280): add Save button to QuickEntryBox
- Add Save button to QuickEntryBox component for manual task creation
- Include loading state and disabled state during submission
- Add comprehensive tests for Save button functionality (114 lines)
- Add changeset for the new save button feature
2026-03-31 07:47:41 -07:00
gsxdsm
234d6f7b1d feat(KB-275): remove 500-character limit from planning mode textarea
- Remove maxLength restriction from PlanningModeModal textarea input
- Allow unlimited text input for AI-assisted task planning
- Add changeset documenting the character limit removal
2026-03-31 07:08:46 -07:00
gsxdsm
546de457f1 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
88ee7c2216 feat(KB-268): add workflow step templates
- Define 5 built-in workflow step templates (Documentation Review, QA Check, Security Audit, Performance Review, Accessibility Check)
- Add API endpoints GET /api/workflow-step-templates and POST /api/workflow-step-templates/:id/create
- Add templates tab to Workflow Step Manager with one-click add functionality
- Include high-quality agent prompts for each template category
- Add changeset for the new feature
2026-03-31 06:10:14 -07:00
gsxdsm
de094990a9 feat(KB-262): add Pull Requests tab to GitHub Import modal
- Add listPullRequests and getPullRequest methods to GitHubClient
- Add /github/pulls/fetch and /github/pulls/import API endpoints
- Add apiFetchGitHubPulls and apiImportGitHubPull frontend API functions
- Add tabbed UI for Issues and Pull Requests in GitHubImportModal
- Add comprehensive PR tab tests (14 new tests)
- Include changeset for the new PR tab feature
2026-03-31 06:03:45 -07:00
gsxdsm
dc1cdcd3aa feat(KB-270): add drag-and-drop reordering for subtasks
- Add drag-and-drop state management with mouse event handlers
- Add CSS styles for subtask drag states (dragging, drop-target, drop-before/after)
- Integrate drag-and-drop into SubtaskBreakdownModal with grip handles
- Add keyboard accessible reordering with up/down arrow buttons
- Add comprehensive tests for drag-and-drop interactions
- Update AGENTS.md with subtask dialog documentation
- Add changeset for subtask drag-reorder feature
2026-03-31 06:00:12 -07:00