Commit Graph

837 Commits

Author SHA1 Message Date
gsxdsm
a75b743808 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
3f6dc342d7 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
89e22c63e3 feat(KB-333): update GitHub workflows to use @gsxdsm/fusion package name
- Update CI, release, and test-release workflows to reference @gsxdsm/fusion package\n- Remove obsolete changeset file for unpause fix\n- Clean up unused code in packages/core/src/store.ts
2026-03-31 16:45:29 -07:00
gsxdsm
44eb39819e fix(KB-601): fix atomicWriteTaskJson missing directory error
- Fix atomicWriteTaskJson to ensure parent directory exists before writing
- Add changeset for unpause missing directory fix
- Remove deprecated backup commands and related code
- Clean up unused settings fields and API routes
- Remove task comments and merge details components
- Update store tests to reflect directory fix behavior
2026-03-31 16:38:19 -07:00
gsxdsm
4211c20b31 fix(KB-338): wrap allocateId in configLock to prevent race condition
- Add configLock mutex protection around allocateId to prevent concurrent ID allocation race condition

- Create changeset documenting the race condition fix

- Update line counts in existing changeset files
2026-03-31 16:32:01 -07:00
gsxdsm
9a52b35783 feat(KB-331): rename package to @gsxdsm/fusion
- Rename package from @gsxdsm/kb to @gsxdsm/fusion in package.json and metadata
- Update all documentation references (README, RELEASING, STANDALONE, AGENTS.md)
- Update root workspace scripts for new package name
- Update changeset files to reference @gsxdsm/fusion and @fusion/dashboard
- Update CHANGELOG.md with new package name references
2026-03-31 16:31:18 -07:00
gsxdsm
34569c7f91 chore(KB-331): add changeset and finalize documentation for package rename 2026-03-31 16:16:13 -07:00
gsxdsm
39368ed080 feat(KB-331): update remaining package references to @gsxdsm/fusion 2026-03-31 16:16:02 -07:00
gsxdsm
5c42ff40e8 feat(KB-331): update package metadata to @gsxdsm/fusion 2026-03-31 16:09:27 -07:00
gsxdsm
4ff2c70e19 chore(KB-331): update changeset files to @gsxdsm/fusion 2026-03-31 16:09:09 -07:00
gsxdsm
f7eadc1e1b 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
88a638104d 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
1608efa7a2 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
a4f80a743d feat(KB-607): add filesystem validation for tasks in scheduler
- Add filesystem-level validation to ensure task directories exist before scheduling
- Implement validateTaskFilesystem() to check PROMPT.md and task.json integrity
- Add comprehensive test coverage with 217 new test lines for validation scenarios
- Create changeset for patch release documenting the fix
- Prevent scheduler errors by validating task filesystem state upfront
2026-03-31 15:09:28 -07:00
gsxdsm
90ebb0ac27 feat(KB-313): add task comments and merge details
- Add TaskComment and TaskCommentInput types to core
- Add MergeDetails type for tracking merge information
- Implement addTaskComment and list task comments in store
- Add comment API routes (/api/tasks/:id/comments)
- Add comment UI components in dashboard task modal
- Add CLI commands: kb task comment and kb task comments
- Include merge details display in task detail view
- Add tests for comment functionality
2026-03-31 14:44:48 -07:00
gsxdsm
ace0732a1d test(KB-601): add test for pause/unpause with missing directory 2026-03-31 14:43:55 -07:00
gsxdsm
a6acf8a5f4 feat(KB-318): add missing autoUpdatePrStatus and autoCreatePr settings fields
- Add autoUpdatePrStatus boolean field to ProjectSettings type
- Add autoCreatePr boolean field to ProjectSettings type
- Include changeset for patch version bump of @dustinbyrne/kb package
2026-03-31 14:32:17 -07:00
gsxdsm
f3a3f78b75 feat(KB-340): implement robust worktree recovery with retry logic
- Add retry logic with exponential backoff for worktree creation failures
- Implement health checks to detect and recover corrupted worktrees
- Add comprehensive test coverage for worktree recovery scenarios
- Improve error handling and logging for worktree operations
- Refactor executor worktree management for better resilience
2026-03-31 13:41:20 -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
c6fe660dd9 feat(KB-312): add changeset for workflow step bug fix 2026-03-31 13:21:08 -07:00
gsxdsm
6a182c22e8 feat(KB-312): complete Step 4 — clear workflow results on task retry 2026-03-31 13:13:56 -07:00
gsxdsm
a68e6607f4 feat(KB-312): complete Step 3 — fix column movement on workflow step failure 2026-03-31 13:11:33 -07:00
gsxdsm
b49ff46c97 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
543313c7d3 feat(KB-312): complete Step 1 — add workflowStepResults to updateTask 2026-03-31 13:07:44 -07:00
gsxdsm
1c788455ff feat(KB-310): migrate storage layer to SQLite with WAL mode and auto-migration
- Add SQLite database foundation with WAL mode, transactions, and JSON column helpers
- Implement auto-migration system from legacy file-based storage with .bak backup strategy
- Migrate TaskStore to SQLite with full test coverage (256 tests)
- Migrate AutomationStore to SQLite with full test coverage (48 tests)
- Add SQLite Storage Architecture documentation to AGENTS.md
- Include changeset for patch release
2026-03-31 13:04:34 -07:00
gsxdsm
9af06c81dc 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
782412d1fd 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
f8e1f3a0c8 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
4838090359 test(KB-315): enhance cron-runner and worktree-pool test coverage
- Add error handling tests for cron-runner job execution
- Add stop idempotency and unknown step type tests to cron-runner
- Add startPoint parameter tests for worktree-pool
- Add worktree-pool error handling and edge case tests
2026-03-31 11:45:01 -07:00
gsxdsm
d362f36a52 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
b2aa2740e7 test(KB-301): fix NewTaskModal tests — update for Plan/Subtask buttons (replaced planning mode checkbox) 2026-03-31 11:27:58 -07:00
gsxdsm
06a2755c98 test(KB-301): add stuck-task-detector tests — track/untrack, activity, stuck detection, killAndRetry 2026-03-31 11:24:29 -07:00
gsxdsm
6a03a69c48 test(KB-301): add scheduler tests — pathsOverlap function and Scheduler class 2026-03-31 11:23:55 -07:00
gsxdsm
30b3f11450 test(KB-301): fix server.test.ts — update error response assertion to match implementation 2026-03-31 11:22:38 -07:00
gsxdsm
d948b2a57c 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
5dca4d1f5f 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
00d4a71d17 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
3698fbcedf test(KB-301): fix api.test.ts error message assertions — match updated format with URL 2026-03-31 11:20:46 -07:00
gsxdsm
e4f1d1808d test(KB-301): fix SubtaskBreakdownModal tests — add dataTransfer mocks for jsdom drag events 2026-03-31 11:20:33 -07:00
gsxdsm
d8f75d503a test(KB-301): fix useWorkspaces tests — use real timers for polling interval 2026-03-31 11:20:09 -07:00
gsxdsm
96608d1eec test(KB-301): fix useProjectFileEditor tests — wrap async save assertions in act() and waitFor() 2026-03-31 11:19:27 -07:00
gsxdsm
8ad031c73a 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
a6d05359d7 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
fc4a6bb75b feat(KB-297): auto-create refinement tasks from steering comments on done tasks
- Add logic to auto-create refinement task when steering comment is added to done task
- Add 117 lines of unit tests covering auto-refinement trigger conditions
- Include changeset for minor version bump
2026-03-31 10:35:44 -07:00
gsxdsm
0ae578bd57 feat(KB-289): complete Step 4 — Add changeset for disabled AI title generation 2026-03-31 09:35:28 -07:00
gsxdsm
e92cf50e91 fix(KB-290): explicitly set column to triage in task_create tool
- Add changeset for patch release
- Update store.ts with column handling improvements
- Explicitly set column: 'triage' in executor task_create tool
2026-03-31 09:26:56 -07:00
gsxdsm
0d5a7b31fe feat(KB-289): complete Step 1 — Remove AI title generation from store 2026-03-31 09:25:35 -07:00
gsxdsm
dfa85c68f1 feat(KB-287): add self-dependency validation to task store
- Validate that tasks cannot depend on themselves in TaskStore.addDependency()

- Add comprehensive tests for self-dependency validation

- Fix mock isolation issues in store tests
2026-03-31 09:14:29 -07:00
gsxdsm
810ca0c0c0 feat(KB-279): add AI-powered async title generation for tasks
- Add async generateTitle() using AI to create concise task titles from descriptions\n- Update createTask() to generate titles asynchronously when not provided\n- Add dynamic import pattern for @kb/engine to enable testability\n- Update store tests with comprehensive coverage for AI title generation\n- Add changeset for the title generation fix
2026-03-31 07:52:42 -07:00
gsxdsm
bf942c83a6 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