Commit Graph

253 Commits

Author SHA1 Message Date
gsxdsm
a7354946cd feat(KB-504): add migration and first-run experience for multi-project support
- Add MigrationOrchestrator with filesystem scanning and auto-registration

- Add FirstRunExperience with setup wizard state management

- CLI integration with automatic migration hook on first run

- Backward-compatible single-project mode support

- \"--project\" flag support for CLI multi-project targeting

- KB_SKIP_MIGRATION environment variable for recovery

- Graceful fallback when central database unavailable

- New fn init command to initialize kb projects

- Interactive first-run setup wizard API in dashboard
2026-04-01 08:17:30 -07:00
gsxdsm
6009ebaf06 feat(KB-636): add Missions system for large-scale project planning
- Fix TaskStore sliceId persistence and bidirectional linking between tasks and features
- Add comprehensive mission integration tests for hierarchy, status rollup, and events
- Enhance E2E tests with reorder, cascade delete, and error handling coverage
- Add scheduler integration tests for mission slice activation
- Fix duplicate mission commands in CLI help text
- Add changeset for missions launch
2026-04-01 08:04:51 -07:00
gsxdsm
3607f37a16 feat(KB-635): add Mission system integration across CLI, engine, and dashboard
- Add mission CLI commands: create, list, show, delete, activate-slice
- Add pi extension tools for mission management
- Add MissionStore helper methods and Mission types
- Add scheduler mission awareness for automatic slice activation
- Add engine integration wiring for mission-aware task execution
- Add dashboard mission routes and API endpoints
- Link tasks to missions via sliceId field with autoAdvance support
2026-04-01 07:49:21 -07:00
gsxdsm
348c21544b feat(KB-341): unify steeringComments and comments into single comments system
- Consolidate steeringComments and comments into unified comments field using TaskComment type

- Remove SteeringComment type, migrate all comments to TaskComment format

- Update addComment to delegate to addTaskComment with auto-refinement for done tasks

- Merge legacy steeringComments data into comments during database migration

- Update dashboard API endpoint from /steer to /comments

- Update executor to use unified comments field for real-time injection

- Update PR comment handler to use addTaskComment method
2026-04-01 07:44:04 -07:00
gsxdsm
2d112e062a feat(FN-670): add mandatory build verification before merge
- Add report_build_failure tool to merger agent for explicit build failure signaling
- Run buildCommand before finalizing merge, abort if build fails with git reset --merge
- Treat build failures as fatal errors (no retry) and keep task in in-review
- Add build verification instruction to executor system prompt
- Update executor to use steeringComments field for mid-execution guidance
2026-04-01 07:28:28 -07:00
gsxdsm
20955f6600 feat(FN-669): add ntfy deep link support with dashboard hostname config
- Add ntfyDashboardHost setting to GlobalSettings for dashboard URL\n- Generate deep links in ntfy notifications with Click header\n- Handle ?task= query param in dashboard for direct task navigation\n- Add hostname configuration UI in Settings modal\n- Add comprehensive tests for deep link generation and handling
2026-04-01 07:21:43 -07:00
gsxdsm
590df1185f feat(KB-620): add multi-project migration and first-run experience
- Add FirstRunDetector for fresh-install and migration state detection
- Implement MigrationOrchestrator for auto-registering existing projects
- Create BackwardCompat layer to maintain single-project CLI workflows
- Add fn init command for manual project registration
- Add dashboard first-run wizard API endpoints (/api/setup-state, /api/complete-setup)
- Add runtimeLog, ipcLog, projectManagerLog, hybridExecutorLog to engine logger
- Include changeset documenting migration features and rollback procedure
2026-04-01 07:19:44 -07:00
gsxdsm
afc24408cc feat(KB-622): unify steeringComments and comments into single comments field
- Merge steeringComments and comments into unified comments field in Task type
- Update TaskStore to use single comments array instead of separate steeringComments
- Add database migration to convert existing steeringComments to comments
- Update executor to inject all comments into AI execution context
- Update dashboard SteeringTab to use unified comments API
- Update CLI task steer command to use comments field
- Update PR comment handler to add comments via unified API
2026-04-01 07:05:23 -07:00
gsxdsm
c671beae96 feat(KB-503): add multi-project CLI support with project subcommands
- Add project subcommands: list, add, remove, show, set-default, detect
- Add --project flag support for all task commands
- Create project-context.ts utilities for project resolution
- Add defaultProjectId to GlobalSettings type
- Implement project auto-detection from cwd
- Update CLI argument parsing for global --project flag
- Add multi-project CLI documentation to AGENTS.md
2026-04-01 07:02:15 -07:00
gsxdsm
08079da9ea feat(KB-617): add Changes tab to task detail modal with file diffs
- Add modifiedFiles and baseCommitSha fields to task schema for tracking changes
- Capture list of modified files during task execution in the executor
- Add GET /tasks/:id/diff API endpoint to retrieve file list and patches
- Create TaskChangesTab component with expandable file diffs
- Integrate Changes tab into TaskDetailModal for in-progress, in-review, and done tasks
- Add CSS styles for diff viewer with syntax highlighting
- Update API client with fetchTaskDiff function and Project Management types
2026-04-01 06:56:32 -07:00
gsxdsm
54767f60eb feat(KB-648): enable parallel test execution and optimize test performance
- Optimize backup tests using fake timers instead of real timeouts

- Enable parallel file execution in core, engine, CLI, and dashboard packages

- Add inline test helpers to reduce dependencies in dashboard routes tests

- Update executor tests with exact command matching and improved assertions

- Update AGENTS.md with test optimization patterns (fake timers, unique temp dirs)
2026-04-01 06:54:50 -07:00
gsxdsm
3757d761ab feat(KB-622): unify steeringComments and comments into single field
- Add database migration to merge steeringComments into comments field
- Update SQLite schema and queries to use unified comments column
- Refactor TaskStore to handle single comments field instead of dual fields
- Update dashboard components (SteeringTab, TaskCard) for unified comments
- Update engine executor and PR comment handler for new field structure
- Remove deprecated steeringComments from types and interfaces
2026-04-01 01:34:25 -07:00
gsxdsm
6346e22bee fix(FN-672): remove ntfy deep links and improve terminal error messages
- Remove ntfy deep link feature (ntfyDashboardHost setting)

- Add changeset for terminal session error message improvements

- Remove deep link logic from dashboard App and SettingsModal

- Clean up notifier tests and implementation

- Return specific error codes for terminal session failures
2026-04-01 01:26:48 -07:00
gsxdsm
b8da2ea4c8 feat(FN-669): add ntfy deep link support for dashboard notifications
- Add ntfyDashboardHost setting to GlobalSettings for dashboard URL
- Generate deep link URLs in ntfy notifications with Click header
- Add tests for deep link generation with various URL scenarios
- Handle ?task= query param in dashboard for deep linking
- Add dashboard hostname UI in settings modal with validation
2026-04-01 01:24:01 -07:00
gsxdsm
f70a7db5d5 feat(KB-635): add mission management CLI commands and engine integration
- Add comprehensive mission CLI commands: create, list, show, start, abort, delete, and next
- Add Pi extension tools for mission operations: list_missions, show_mission, start_mission, abort_mission
- Implement mission-aware scheduler with task start handling and autoAdvance support
- Add sliceId to Task type and autoAdvance flag to Mission type for slice sequencing
- Add MissionStore helper methods for mission lifecycle operations
- Include comprehensive tests for CLI commands and Pi extension mission tools
2026-04-01 01:19:19 -07:00
gsxdsm
112b49bbdd feat(KB-622): WIP - executor and test fixes for unified comments 2026-03-31 23:43:01 -07:00
gsxdsm
e25a89c971 feat(KB-617): add diff viewer tab to task detail modal
- Add modifiedFiles and baseCommitSha tracking during task execution
- Create GET /tasks/:id/diff API endpoint for file list and patches
- Build TaskChangesTab component with expandable file diffs
- Integrate Changes tab into TaskDetailModal for in-progress, in-review, and done tasks
- Add database columns and types for diff tracking
- Update executor to capture modified files during agent sessions
2026-03-31 23:31:04 -07:00
gsxdsm
1840f17ebf feat(KB-503): add multi-project CLI support
- Add project context utilities for multi-project operations

- Add project subcommands (list, add, remove, set-default, detect)

- Update CLI argument parsing with --project flag support

- Add multi-project documentation and changeset
2026-03-31 23:28:43 -07:00
gsxdsm
07e471db5c feat(KB-648): enable parallel test execution and optimize test performance
- Enable parallel file execution in vitest configs for core, engine, CLI, and dashboard packages
- Optimize backup tests with fake timers for faster, deterministic execution
- Fix SettingsModal temporal dead zone by moving declaration before useCallback
- Fix engine tests with missing git branch delete mock and correct branch names
- Fix git worktree list mock and mission store mock in CLI tests
- Add changeset documenting test optimization patterns
- Update AGENTS.md with test optimization best practices
2026-03-31 23:19:52 -07:00
gsxdsm
4b39bf1f4c feat(KB-618): add multi-project support to dashboard
- Add project API methods and types (fetchProjects, registerProject, fetchProjectHealth, etc.)
- Add ProjectCard component with health metrics, status badges, and pause/resume actions
- Add server-side project management routes for multi-project orchestration
- Add ActivityFeed component with grouped entries and project badges
- Add SetupWizard component with 5-step project creation flow
- Fix TypeScript errors in server routes for listProjects and getGlobalConcurrencyState
2026-03-31 23:19:03 -07:00
gsxdsm
4ff25d800e feat(KB-617): add Changes tab to task detail modal for viewing file diffs
- Add baseCommitSha field to tasks for diff computation baseline
- Track modified files in executor and store in database
- Add /api/tasks/:id/diff endpoint to serve unified diffs
- Add getTaskDiff() API client function in dashboard
- Create TaskChangesTab component with file list and diff viewer
- Integrate Changes tab into TaskDetailModal with proper styling
- Add changeset for the new diff viewer feature
2026-03-31 22:58:38 -07:00
gsxdsm
d42ee113f8 feat(KB-648): optimize test execution speed across all packages
- Enable parallel file execution in core, engine, CLI, and dashboard packages via vitest.config.ts

- Optimize backup tests using fake timers instead of real setTimeout delays

- Add test optimization patterns to AGENTS.md documentation (fake timers, parallel execution)

- Add changeset documenting the test speed improvements

- Include test fixes for SettingsModal, engine tests, and git worktree mocks from KB-637
2026-03-31 22:52:55 -07:00
gsxdsm
15e451cd74 fix(KB-637): test fixes and code cleanup
- Fix executor test worktree recovery assertions to use exact command matching
- Fix routes.test.ts mission store mock and git worktree list mock
- Fix SettingsModal temporal dead zone by moving activeSectionScope declaration
- Remove incomplete project-context feature from CLI
- Clean up AGENTS.md and README documentation
2026-03-31 22:41:38 -07:00
gsxdsm
e3055f8d93 fix(KB-503): address code review feedback for Step 1
- Add optional globalDir parameter to resolveProject(), getDefaultProject(),
  setDefaultProject(), and clearDefaultProject() for test isolation
- Remove ESLint suppression by using void operator for intentionally unused var
- Update all tests to use isolated globalDir parameter
- Complete tests for default project resolution
2026-03-31 22:38:56 -07:00
gsxdsm
6307fea203 feat(KB-501): implement multi-project runtime architecture with HybridExecutor
- Add ProjectRuntime interface with InProcessRuntime and ChildProcessRuntime implementations
- Implement HybridExecutor for multi-project task orchestration
- Add IPC protocol for host-worker communication in child-process mode
- Implement health monitoring with automatic restart for child processes
- Add comprehensive tests for hybrid-executor and project-runtime
- Update AGENTS.md with multi-project runtime documentation
- Add changeset for hybrid-executor-runtime release
2026-03-31 20:17:25 -07:00
gsxdsm
52a74036d5 feat(KB-616): add ProjectRuntime abstraction for task execution isolation
- Define ProjectRuntime interface with unified task execution contract\n- Implement IPC protocol for host-worker communication (messages, streaming, heartbeats)\n- Add InProcessRuntime for synchronous in-process task execution\n- Add ChildProcessRuntime with isolated worker processes for sandboxed execution\n- Implement ProjectManager to coordinate runtime selection and task lifecycle\n- Update engine exports to expose runtime APIs\n- Add comprehensive tests for all runtime implementations and IPC protocol
2026-03-31 20:12:28 -07:00
gsxdsm
0c601387a2 fix(KB-647): add conflict recovery to worktree creation fallback
- Add conflict recovery to createFromExistingBranch fallback in executor\n- Add tests for worktree conflict recovery scenarios\n- Add changeset documenting the worktree recovery fix\n- Clean up removed central-core modules and AGENTS.md content\n- Update CLI command descriptions and extension tools
2026-03-31 20:01:35 -07:00
gsxdsm
57f34d1937 feat(KB-336): rename data directory from .kb to .fusion
- Rename data directory from .kb to .fusion across core, CLI, dashboard, and engine
- Update all path references in source files, tests, and CLI output
- Remove deprecated central-core infrastructure (central-core, central-db, central-integration)
- Remove obsolete test files (PlanningModeModal.test.tsx, ScheduleForm.test.tsx)
- Add changeset for the directory rename breaking change
2026-03-31 20:00:25 -07:00
gsxdsm
fce5e6c1e5 feat(KB-334): change default task prefix from KB to FN
- Change default taskPrefix from KB to FN and branch naming from kb/ to fusion/
- Update all test expectations and patterns for new naming convention
- Update settings UI placeholder text to reflect FN prefix
- Update dashboard, engine, and CLI components for fusion/ branch paths
- Add changeset documenting the breaking change for users
2026-03-31 19:50:15 -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
2cfd211871 fix(KB-600): remove duplicate mockedGenerateWorktreeName declaration in executor tests
- Remove redundant const mockedGenerateWorktreeName declaration
- Duplicate was causing potential confusion in worktree naming tests
- No functional changes, test cleanup only
2026-03-31 18:42:24 -07:00
gsxdsm
80f4d9db62 feat(KB-326): implement real-time steering comment injection
- Add real-time steering comment injection mechanism for active tasks
- Improve steering injection logging and simplify trigger conditions
- Add comprehensive tests for steering injection functionality
- Add documentation for the real-time steering mechanism
2026-03-31 18:36:59 -07:00
gsxdsm
234581e85a 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
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
109bfb97b1 feat(KB-604): include task context in notifications with description fallback
- Add formatTaskIdentifier helper to format task references with title or description fallback
- Update notification messages to include task identifier context
- Show truncated description (200 chars) prefixed with task ID when no title
- Add comprehensive tests for formatTaskIdentifier function
- Add changeset for notification improvements and update AGENTS.md
2026-03-31 17:08:05 -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
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
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
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
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
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
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
f6d24411f7 test(KB-274): add test for archived dependency satisfaction 2026-03-31 07:05:48 -07:00
gsxdsm
1906bb5c78 feat(KB-274): complete Step 2 — update executor to treat archived as satisfied dependency 2026-03-31 07:02:54 -07:00
gsxdsm
4852720fc0 feat(KB-274): complete Step 1 — update scheduler to treat archived as satisfied dependency 2026-03-31 07:02:35 -07:00