Commit Graph

206 Commits

Author SHA1 Message Date
gsxdsm
a48a7d7466 feat(KB-655): change hideDoneTasks default to true
- Change ListView hideDoneTasks default from false to true
- Archived tasks are now hidden by default in list view
- Users can show archived tasks via the 'Show Done' button
- Update ListView tests to account for new default behavior
- Fix test assertions for archived task checkbox selection
2026-04-01 06:57:14 -07:00
gsxdsm
fa37de1bed 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
e21ea42d45 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
e8f292e350 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
c6be1323d1 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
265bcede89 feat(FN-671): add disclosure toggle to QuickEntryBox
- Add disclosure state with expanded/collapsed toggle button
- Implement disclosure pattern CSS styles for visual feedback
- Update QuickEntryBox to support expandable/collapsible interface
- Fix CSS variable reference: use --card-hover instead of non-existent --background-hover
- Set default disclosure state to expanded (true) for backward compatibility
- Add comprehensive tests for disclosure state, toggle behavior, and interactions
2026-04-01 00:00:46 -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
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
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
e40e3f087e feat(KB-655): change hide done tasks default to true
- Change hideDoneTasks default from false to true in ListView
- Done and archived tasks are now hidden by default in list view
- Update tests to reflect new default behavior and task ID consistency
2026-03-31 23:25:19 -07:00
gsxdsm
7344a80e40 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
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
3d150e57e5 feat(KB-655): change hideDoneTasks default to true
- Change default value of hideDoneTasks from false to true in ListView component

- Done tasks are now hidden by default when no localStorage preference exists

- Update ListView tests to account for new default behavior

- Add localStorage.clear() in test beforeEach hooks for clean state

- Add Show Done button clicks in tests that need to interact with done tasks
2026-03-31 22:46:25 -07:00
gsxdsm
360caecbb9 fix(KB-503): remove duplicate getDefaultProject function
- Import getDefaultProject from project-context.js instead of duplicating
- Remove local getDefaultProject implementation in project.ts
- All 6 tests still passing
2026-03-31 22:43:59 -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
d4165a4164 feat(KB-652): add openai-codex provider alias
- Add 'openai-codex' provider alias mapped to OpenAI icon with green color (#10a37f)

- ProviderIcon component now recognizes openai-codex as valid provider

- Add comprehensive test coverage for openai-codex provider icon rendering

- Tests cover icon presence, accessibility label, color styling, and SVG fill attributes
2026-03-31 22:41:58 -07:00
gsxdsm
3e96e9ef71 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
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
0f7cdb00c7 test(KB-640): add agent button click handler tests 2026-03-31 19:37:03 -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
5de661976d feat(KB-644): add list/board view toggle to agent list modal
- Add view state management and toggle UI for switching between list and board views
- Implement board view layout with card-based agent display
- Update TaskCard component for board view compatibility with new props
- Add comprehensive tests for view toggle and both AgentListModal view modes
- Remove unused CSS styles now handled by view-specific layouts
2026-03-31 19:21:03 -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
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
b3ae03190f test(KB-627): add ModelSelectionModal tests and update QuickEntryBox tests for modal integration 2026-03-31 18:00:26 -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
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
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
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
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
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
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
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
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
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
243da605b1 fix(KB-241): use form values for ntfy test notifications
- Update frontend API client to accept config parameter for testNtfyNotification
- Modify SettingsModal to pass current form values when testing notifications
- Update SettingsModal test to expect config object in API call
- Add changeset documenting the test notification fix
2026-03-31 05:31:52 -07:00
gsxdsm
4be8306f7a feat(KB-229): add multi-step scheduled tasks
- Add Step types to core data model (command, validation, approval steps)
- Update AutomationStore CRUD operations for step management
- Refactor CronRunner for sequential step execution with per-step config
- Add Dashboard API routes for step CRUD and step-aware schedule updates
- Create ScheduleStepsEditor component for visual step configuration
- Add StepTypeBadge component for step type visualization
- Update ScheduleCard and ScheduleForm to display and manage steps
- Add comprehensive test coverage for stores, runner, and components
- Add changeset for patch release
2026-03-31 05:14:30 -07:00
gsxdsm
f1a849b6fa feat(KB-225): add AI text refinement feature to dashboard
- Add AI text refinement backend service with OpenAI/Anthropic integration
- Add /api/refine-text API endpoint with error handling
- Add QuickEntryBox AI refine button with style presets menu
- Add NewTaskModal AI refine feature for task description editing
- Add comprehensive tests for backend service, API, and components
- Add changeset for the new feature
2026-03-31 04:20:37 -07:00
gsxdsm
139fbb9f29 feat(KB-218): add workflow steps for post-implementation review
- Add core data model for workflow step definitions with AI-assisted prompt refinement
- Create API routes for CRUD operations and prompt refinement via /api/workflow-steps
- Add WorkflowStepManager dashboard UI for defining and managing workflow steps
- Integrate workflow step selection into NewTaskModal for per-task enablement
- Execute workflow steps sequentially in executor after task_done() with readonly tools
- Run workflow step agents before moving tasks to in-review, failing on step errors
- Add comprehensive tests for store, API routes, components, and executor integration
2026-03-31 03:55:01 -07:00
gsxdsm
2554904421 feat(KB-185): add global/project settings hierarchy with scope-aware UI
- Add GlobalSettingsStore with file-based storage in ~/.pi/kb/settings.json
- Implement two-tier hierarchy: global (user prefs) and project (.kb/config.json)
- Update TaskStore to merge settings with project overriding global
- Add API endpoints: GET/PUT /api/settings/global and GET /api/settings/scopes
- Add scope indicators (🌐 global, 📁 project) to settings modal sidebar
- Implement scope-aware save: only save active scope, reject global-only fields
- Add frontend API functions for global settings operations
- Add tests for GlobalSettingsStore, settings routes, and SettingsModal scopes
- Create changeset for the new settings hierarchy feature
- Update AGENTS.md with settings hierarchy documentation
2026-03-31 03:12:33 -07:00
gsxdsm
714f4bc415 feat(KB-184): add model presets for task creation
- Add model preset types and settings fields with API validation
- Create model preset utility helpers for size-based auto-selection
- Add settings UI for managing model presets (create, edit, delete)
- Integrate preset selection into NewTaskModal with custom override option
- Add inline preset selection to InlineCreateCard component
- Persist modelPresetId in task store and preserve through archive/unarchive
- Add changeset and update AGENTS.md with feature documentation
2026-03-31 02:04:45 -07:00
gsxdsm
82d8ebb82b feat(KB-266): overhaul GitManagerModal with new architecture and API
- Completely rewrite GitManagerModal with modern React architecture
- Add comprehensive CSS styling for git operations UI
- Implement new API endpoints for git management operations
- Add server-side routes for git command handling
- Fix shell injection vulnerability in git command execution
- Update tests with complete API mocking coverage
- Add changeset documenting the overhaul
2026-03-31 02:00:53 -07:00