- Add media query for tablet screens (max-width: 768px) with 70vh max-height
- Add media query for mobile screens (max-width: 640px) with 60vh max-height
- Center dropdown horizontally using transform translateX
- Set responsive width with viewport calculation and min-width unset
- Add horizontal overflow scrolling to .detail-tabs for mobile viewports
- Add -webkit-overflow-scrolling: touch for smooth momentum scrolling
- Hide scrollbars with scrollbar-width: none and ::-webkit-scrollbar
- Change .detail-tab from flex:1 to flex-shrink:0 to prevent tab compression
- 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
- 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
- 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
- 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
- Update DEFAULT_PROJECT_SETTINGS groupOverlappingFiles from false to true
- Update SettingsModal form default to match
- Add changeset for the default behavior change
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- Remove maxLength restriction from PlanningModeModal textarea input
- Allow unlimited text input for AI-assisted task planning
- Add changeset documenting the character limit removal
- Define 5 built-in workflow step templates (Documentation Review, QA Check, Security Audit, Performance Review, Accessibility Check)
- Add API endpoints GET /api/workflow-step-templates and POST /api/workflow-step-templates/:id/create
- Add templates tab to Workflow Step Manager with one-click add functionality
- Include high-quality agent prompts for each template category
- Add changeset for the new feature
- 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
- Update subtask button tooltip from "coming soon" to "Break down into AI-generated subtasks"
- Apply tooltip fix to both QuickEntryBox and InlineCreateCard components
- Add changeset for patch release
- Add backend subtask breakdown session management and API endpoints
- Create SubtaskBreakdownModal component for generating AI-suggested subtasks
- Integrate subtask breakdown into QuickEntryBox and NewTaskModal flows
- Add frontend API client functions for breakdown sessions and subtask creation
- Add tests for SubtaskBreakdownModal and backend routes
- Create changeset documenting the subtask breakdown feature
- 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
- 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
- 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
- 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
- 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
- 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
- Add API diagnostics to planning routes for better debugging
- Harden API JSON error handling with improved validation
- Add comprehensive tests for planning route JSON responses
- Update server routes and API layer for robustness
- Add workspace file APIs and hooks for session-scoped file browsing
- Create WorkspaceSelector component for switching between workspaces
- Update FileBrowserModal with workspace mode and improved UX
- Add files button to header with workspace-aware file browsing
- Add session files indicator to task cards for quick file access
- Include comprehensive tests for all new components and hooks
- Fix FileEditor height with flexbox constraints (flex-1/min-h-0 pattern)
- Add test for markdown preview scrollability (scrollable markdown body)
- Remove planning validator models feature from SettingsModal and engine
- Clean up related types in @kb/core and changeset files
- Extend core Settings types with planningProvider, planningModelId, validatorProvider, validatorModelId fields
- Add model selectors in Settings UI for planning and validator models
- Use planning model for triage task specification generation
- Use validator model for specification review in triage
- Use validator model for code reviews in executor agent
- Update AGENTS.md with model hierarchy documentation
- Add word wrap toggle button with WrapText icon to FileEditor
- Fix markdown preview scrolling with height: 100% CSS
- Add comprehensive tests for word wrap toggle and scrollability
- Fix stale closure bug in PlanningModeModal auto-start useEffect
- Move handleStartPlanning definition before the effect that references it
- Remove redundant handleStartPlanningWithPlan callback
- Add planOverride parameter to handleStartPlanning for proper prop passing
- Fix hasAutoStartedRef timing to prevent early triggering