Commit Graph

262 Commits

Author SHA1 Message Date
gsxdsm
cf5b4e55d6 feat(KB-651): add changed files diff viewer for tasks
- Add backend API endpoint to get changed files and diffs for a task worktree
- Add useChangedFiles hook for fetching and managing diff data
- Create ChangedFilesModal component with file list and diff viewer
- Integrate modal into TaskCard with click handler to view changes
- Add frontend API integration and type definitions
- Include unit tests for hook and modal components
- Add changeset for the new feature
- Remove deprecated mission-related test files
2026-04-01 02:01:31 -07:00
gsxdsm
e60edfecbb feat(KB-636): launch missions feature
- Add MissionStore integration tests for core mission operations

- Add mission API end-to-end tests for dashboard endpoints

- Add Missions documentation to README with usage examples

- Update CLI help text with mission commands

- Add changeset for missions package release
2026-04-01 01:52:12 -07:00
gsxdsm
88fa46dd31 feat(KB-643): Add project scripts management UI to dashboard
- Add scripts field to ProjectSettings type for storing project-specific commands
- Create ScriptsModal component with CRUD operations and execution support
- Add API endpoints and client functions for script management
- Integrate scripts modal into dashboard header with button trigger
- Add comprehensive tests for ScriptsModal component
2026-04-01 01:48:19 -07:00
gsxdsm
9d898aa889 feat(KB-504): add multi-project migration system
- Add MigrationOrchestrator with automatic project detection and registration
- Add FirstRunExperience with setup wizard for new users
- Add backward compatibility layer for single-project workflows
- Integrate migration hook into CLI entry point
- Add comprehensive tests for migration and first-run functionality
- Update AGENTS.md with multi-project migration and dashboard documentation
2026-04-01 01:40: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
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
534e001de4 feat(KB-641): improve terminal session result flow and remove mission commands
- Fix terminal session error handling and result flow in dashboard

- Update terminal session tests for new result handling

- Remove unused mission CLI commands, store, and scheduler integration

- Add changeset for terminal session error fixes

- Clean up deprecated mission-related changeset files
2026-04-01 01:23:31 -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
9e5612d654 feat(FN-667): fix model dropdown z-index to prevent overlay issues
- Increase model dropdown z-index to 500 in dashboard styles.css
- Add changeset for the z-index fix
- Clean up completed task files (FN-663 through FN-672, KB-295, KB-341, KB-502-KB-504, KB-617-KB-622, KB-635-KB-636, KB-641, KB-643, KB-648, KB-650-KB-662)
- Update executor tests and remove unused logger import
2026-03-31 23:43:34 -07:00
gsxdsm
02bbaa79b4 feat(KB-657): add expand toggle to quick task creation UI
- Add toggle button to QuickEntryBox (list view) for expand/collapse
- Add toggle button to InlineCreateCard (board view) for expand/collapse
- Add CSS styles for toggle buttons and collapsed states
- Update component tests for new toggle functionality
- Add changeset for the toggle button feature
2026-03-31 23:41:49 -07:00
gsxdsm
25a5438447 feat(KB-619): add multi-project CLI support
- Add project-resolver module with CentralCore integration for project resolution
- Add project subcommands: list, add, remove, info with proper CLI integration
- Add --project flag support across all task and settings commands
- Refactor getStore to use project resolution with options pattern
- Update bin.ts command routing to extract and propagate project context
- Add project context propagation via FN_PROJECT environment variable
2026-03-31 23:41:36 -07:00
gsxdsm
aefb2cdb89 fix(KB-660): fix Git Manager dialog rendering off-screen on small viewports
- Fix .gm-content min-height from 400px to 0 for proper flex behavior
- Add mobile responsive styles to prevent modal overflow
- Create changeset for patch release
2026-03-31 23:29:46 -07:00
gsxdsm
c87f22e1ff feat(KB-656): add autoExpand prop to QuickEntryBox for list view
- Add autoExpand prop to QuickEntryBox component (defaults to true for backward compatibility)
- Pass autoExpand={false} from ListView to prevent automatic expansion on focus
- Keep board view with default auto-expand behavior
- Add test coverage for autoExpand={false} behavior
- Add changeset for patch release
2026-03-31 23:29:29 -07:00
gsxdsm
584b793811 fix(FN-668): add macOS keychain support for Claude credentials
- Implement readClaudeKeychainCredentials() to read from macOS keychain\n- Add fallback to keychain when legacy credential files don't exist\n- Add tests for keychain credential reading success and failure paths\n- Create changeset for usage dropdown credential detection fix
2026-03-31 23:29:05 -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
67dde25a9e feat(KB-659): add Agents view toggle to main view selector
- Add AgentsView as a third view option alongside Board and List
- Add view toggle button with board/list/agents options in Header
- Integrate agents monitoring directly into main dashboard navigation
- Remove separate Agents modal button from header
- Update App.tsx to handle agents view state
- Add comprehensive tests for AgentsView component and Header view toggle
2026-03-31 23:25:32 -07:00
gsxdsm
f0a68a4553 feat(KB-650): add refresh-on-open effect to usage modal
- Add refresh effect when usage modal opens to get latest usage data\n- Include changeset for usage modal refresh feature
2026-03-31 23:22:04 -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
24f68435f6 feat(KB-660): fix Git Manager modal rendering and responsive layout
- Fix Git Manager modal CSS layout and mobile responsive styles
- Add changeset for Git Manager modal fix
- Remove obsolete quick-entry-auto-expand changeset
- Clean up QuickEntryBox component styling
- Remove tests for removed auto-expand functionality
2026-03-31 22:58:07 -07:00
gsxdsm
9a805281d3 feat(KB-656): add autoExpand prop to QuickEntryBox and disable in list view
- Add autoExpand prop to QuickEntryBox component (defaults to true)
- Disable auto-expand in list view to reduce visual clutter
- Add tests for autoExpand={false} behavior
- Add changeset for the quick entry auto-expand change
- Fix duplicate variable in QuickEntryBox component
- Remove unused imports from useTasks hook
2026-03-31 22:55:40 -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
a69875a780 fix(KB-654): resolve board mobile overflow with dynamic viewport units
- Add 100dvh fallback for board height to handle mobile browser chrome
- Keep 100vh as fallback for older browsers
- Create patch changeset for @gsxdsm/fusion package
2026-03-31 22:46:11 -07:00
gsxdsm
35c0a21d8b feat(KB-653): add board title truncation with tooltip
- Truncate long board titles to 140 characters with ellipsis in TaskCard\n- Add hover tooltip to display full title when truncated\n- Add comprehensive test cases for 140 character truncation edge cases\n- Include changeset for board title truncation fix
2026-03-31 22:42:09 -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
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
7852d74872 chore(KB-337): add changeset for documentation update 2026-03-31 20:14:35 -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
31a7a7ceea feat(KB-337): execute KB-335 — rename environment variables KB_* to FUSION_* 2026-03-31 20:01:54 -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
139456a3c0 fix(KB-649): fix multi-step scheduled task editor step addition and validation
- Fix step addition flow in ScheduleStepsEditor component
- Add form validation for multi-step schedules in ScheduleForm
- Add integration tests for multi-step scheduled task flow
- Update related CLI and core tests for consistency
- Include changeset for the fix
2026-03-31 19:53:35 -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
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
d3b08ba3da feat(KB-642): add expand button to TaskCard component
- Add expand button to TaskCard with Maximize2 icon
- Add CSS styles for expand button overlay positioning
- Fix click behavior to prevent card expansion when clicking action buttons
- Update TaskCard tests for new expand button behavior
- Add changeset for dashboard package
2026-03-31 19:20:53 -07:00
gsxdsm
9490792afd feat(KB-621): add AI title summarization feature
- Add core AI summarization service with model selection hierarchy
- Modify task store to support title generation callback pattern
- Add POST /api/ai/summarize-title endpoint with rate limiting
- Wire up summarization in dashboard task creation flow
- Add AI Summarization settings UI section in dashboard
- Add comprehensive tests for summarization service and API
- Document auto-summarization settings in AGENTS.md
2026-03-31 18:59:02 -07:00
gsxdsm
48dfdb3fa8 feat(KB-638): complete Step 4 — Add changeset for subtask modal height fix 2026-03-31 18:57:21 -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
27c789512c feat(KB-632): add MissionStore with missions database schema
- Add database schema v3 with missions, objectives, rewards, progress tables
- Implement MissionStore with full CRUD, event emission, and progress tracking
- Add comprehensive mission types (MissionDefinition, MissionInstance, Objective, Reward)
- Include 900+ lines of MissionStore unit tests covering all operations
- Export mission types and store from core package index
2026-03-31 18:28:23 -07:00
gsxdsm
8e04dcca7d feat(KB-629): complete Step 6 — add documentation and changeset for bulk model editing 2026-03-31 18:26:14 -07:00
gsxdsm
993656822a 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
2b49b30aef 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
c806236495 feat(KB-614): reduce CLI tool call logging noise
- Remove tool call logging from dashboard.ts CLI command
- Remove tool call logging from task.ts CLI command
- Add changeset documenting the reduced logging behavior
2026-03-31 17:47:45 -07:00
gsxdsm
38bb30de68 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
b77abd1c4b 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
0982ab74e3 fix(KB-602): harden file operations for database-backed storage
- Create task directories on-demand when file operations need them\n- Handle missing directories gracefully for writes (PROMPT.md, task.json, agent.log, attachments)\n- Handle missing files gracefully for reads (empty string returns)\n- Add comprehensive tests for storage resilience (161 new assertions)\n- Add changeset for the patch release
2026-03-31 17:30:36 -07:00
gsxdsm
21d2649574 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
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