Commit Graph

253 Commits

Author SHA1 Message Date
gsxdsm
3692b97440 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
6d4221f5f2 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
92ab955349 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
5a12fc3ab5 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
7eca797c0f 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
48c4c357b4 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
2a0c660aa8 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
fb65d4bf0b 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
5f6b930c24 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
560bb3a1aa 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
96802938a0 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
d5fbdf0124 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
f1f654eb11 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
2187d282ad 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
d83e5c183f 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
602cea0817 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
184b3b27a8 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
24335d1176 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
d6fe79a0b8 chore(KB-337): add changeset for documentation update 2026-03-31 20:14:35 -07:00
gsxdsm
879a941b9a 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
6505854779 feat(KB-337): execute KB-335 — rename environment variables KB_* to FUSION_* 2026-03-31 20:01:54 -07:00
gsxdsm
9fd7b667d5 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
80ab88db3d 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
40164e6b04 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
e98cb5c100 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
e4579728ba 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
2873c96f0a 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
e65e00537c 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
bc0cb27e61 feat(KB-638): complete Step 4 — Add changeset for subtask modal height fix 2026-03-31 18:57:21 -07:00
gsxdsm
cc6029ef68 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
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
486d12827b 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
209bc10b99 feat(KB-629): complete Step 6 — add documentation and changeset for bulk model editing 2026-03-31 18:26:14 -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
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
36bdb62783 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
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
d69385a0fb 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
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
f4dad9197f 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
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
b3083011ab 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
e512f438b9 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
8c32ffc54d 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
db03cf8625 chore(KB-331): add changeset and finalize documentation for package rename 2026-03-31 16:16:13 -07:00
gsxdsm
a0ede4d579 feat(KB-331): update remaining package references to @gsxdsm/fusion 2026-03-31 16:16:02 -07:00
gsxdsm
53a16771fe chore(KB-331): update changeset files to @gsxdsm/fusion 2026-03-31 16:09:09 -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