- Fix moveTask to clear status/error/worktree/blockedBy when moving from in-progress to todo/triage
- Add error message display in TaskCard for failed tasks with truncation
- Add prominent error alert in TaskDetailModal for failed tasks
- Refactor usage tracking: move from app/components to dashboard/src/
- Add usage.ts and usage.test.ts for centralized usage tracking
- Remove UsageIndicator and useUsageData from app/ directory
- Update styles.css for error display components
- Update executor tests for error handling
- Add changeset for patch release
- Remove createdAt and updatedAt columns from ListView component
- Update TaskCard to remove date display and related styles
- Update TaskDetailModal to remove date fields
- Update ListView tests to reflect new column layout
- Fix column index in dependencies test after column removal
- Remove unused usage tracking module (usage.ts and usage.test.ts)
- Clean up related CSS styles for date columns
- Add PlanningModeModal component with interactive task planning UI
- Implement backend planning API with /api/planning endpoints
- Add PlanningSession class for managing planning state
- Integrate planning mode into dashboard with header button
- Add comprehensive tests for planning components and API routes
- Include AI agent structure for future planning automation
- Update README with Planning Mode documentation
- Reverse log display to show newest entries first in AgentLogViewer
- Remove auto-scroll functionality from dashboard
- Update badge deduplication logic for reversed order display
- Clean up tests for reversed order and removed auto-scroll
- Remove obsolete changeset files
- Fix progress bar to count skipped steps toward completed total
- Add test coverage for skipped steps in progress calculation
- Create changeset for the progress bar fix
- Add server-side file service with list, read, and write operations
- Add file API routes with comprehensive tests
- Create useFileBrowser and useFileEditor hooks for state management
- Add FileBrowser, FileEditor, and FileBrowserModal components
- Integrate Files tab into TaskDetailModal for task worktree browsing
- Add CodeMirror 6 dependencies for syntax highlighting
- Include file browser styles with light/dark theme support
- Add server-side file service with list, read, and write operations
- Add REST API endpoints for file operations with tests
- Add client-side API functions and React hooks for file browsing
- Create FileBrowser, FileEditor, and FileBrowserModal components
- Add CodeMirror 6 for syntax-highlighted file editing
- Integrate Files tab into TaskDetailModal
- Add comprehensive file browser styles and responsive design
- Add backend terminal API with session management and SSE streaming
- Create useTerminal hook for command execution and history navigation
- Implement interactive TerminalModal with real-time output display
- Add terminal button to Header for quick access
- Style terminal with CSS variables and responsive design
- Add keyboard shortcuts (Ctrl+C to kill, Ctrl+L to clear, arrow keys for history)
- Add security validation for shell commands
- Add backend terminal API with SSE streaming for real-time output
- Create useTerminal hook with command history and navigation
- Refactor TerminalModal into interactive shell component
- Update App and Header for standalone terminal button
- Add CSS styles for terminal UI (prompts, output, spinner, welcome screen)
- Update tests for new terminal behavior
- Add refineTask() to TaskStore with validation for feedback and requirements
- Add POST /tasks/:id/refine API endpoint with tests
- Add refine UI to TaskDetailModal for submitting feedback
- Add kb_task_refine tool to pi extension for AI-driven refinement
- Add 'kb task refine' CLI command for manual task refinement
- Include validation constraints: max 2000 chars feedback, max 5000 chars requirements
- Add search input with clear button and results count to ModelSelectorTab
- Extract filterModels utility for shared filtering logic across components
- Apply filtering to SettingsModal model section
- Add CSS styles for filter UI components
- Add comprehensive tests for ModelSelectorTab and SettingsModal filtering
- Create gh-cli utility module with auth detection and command execution
- Refactor GitHubClient to use gh CLI commands with REST API fallback
- Refactor PR Monitor to use gh CLI for PR operations
- Add listIssues() and getIssue() methods to GitHubClient
- Remove in-app GitHubRateLimiter (gh CLI handles rate limiting)
- Update all tests for gh CLI implementation
- Update AGENTS.md and extension docs for gh CLI auth preference
- Add worktreeNaming setting type with 'random' | 'task-id' | 'task-title' options
- Update executor to generate worktree names based on setting value
- Create worktree-names.ts utility module with generateWorktreeName function
- Add comprehensive executor tests for all naming strategies
- Update AGENTS.md documentation with setting description and usage
- Include changeset for patch release
- Add ThemePreference type and useTheme hook for theme state management
- Create CSS theme architecture with 8 built-in color themes
- Build ThemeSelector component with live preview and keyboard navigation
- Add theme toggle to Header with quick-switch capability
- Integrate Appearance section into SettingsModal
- Wire theme system into App component with system preference detection
- Add comprehensive tests for useTheme, ThemeSelector, and Header
- Include theming documentation in dashboard README
- Add changeset for patch release
- Extend core types with GitHub issue tracking fields (issueNumber, issueStatus, lastIssueSync)
- Add TaskStore.getTaskGitHubIssueInfo() to fetch issue details from GitHub API
- Create server-side API endpoint for issue status lookup with caching
- Build GitHubBadge component with color-coded status indicators (open/closed)
- Integrate badges into TaskCard with hover state linking to GitHub issues
- Add CSS styles for badge positioning and visual polish
- Include comprehensive tests for GitHubBadge and TaskCard badge rendering
- Add 'archived' column to task store with archiveTask and unarchiveTask methods
- Add CLI commands: kb task archive <id> and kb task unarchive <id>
- Add pi extension tools for archive and unarchive operations
- Add dashboard API endpoints POST /api/tasks/:id/archive and /unarchive
- Add Archived column to board UI with archive/unarchive buttons
- Prevent drag-drop into archived column, add visual distinction
- Include duplicateTask from concurrent branch in merge resolution
- Add duplicateTask action to useTasks hook for creating task copies
- Add Duplicate button to TaskDetailModal with visual styling
- Wire up duplicateTask action through App.tsx task handlers
- Add comprehensive tests for duplicate button functionality
- Include changeset for the new duplicate task feature
- Move progress bar before task title for improved visual hierarchy
- Make task completion status more prominent at first glance
- Add changeset documenting the UI improvement
- Add section expansion state management with localStorage persistence
- Update section headers with chevron toggle controls
- Implement conditional task row rendering based on section state
- Add Expand All / Collapse All toolbar controls
- Add CSS styles for chevron rotation animation and section headers
- Add comprehensive tests for collapsible section behavior
- Add selectedColumn state for filtering tasks by column
- Make drop zones clickable to filter by column
- Add visual active state styling for selected column filter
- Add 'Clear' button to reset column filter
- Integrate column filter with existing hideDoneTasks feature
- Add comprehensive tests for column filter functionality
- Add InlineCreateCard component to ListView for inline task creation
- Integrate isCreating, onCancelCreate, and onCreateTask props to ListView
- Render InlineCreateCard in triage section when isCreating is true
- Add comprehensive tests for InlineCreateCard integration in ListView
- Handle blur, Escape key, and Enter key for task creation flow
- Add ntfy settings (ntfyEnabled, ntfyTopic) to core types and config storage
- Create NtfyNotifier service with event-based notifications for task completion/failure
- Add Notifications section to SettingsModal for configuring ntfy topic
- Wire up NtfyNotifier in engine to send notifications on task state changes
- Include ntfy topic in task templates for per-task notification override
- Add comprehensive tests for NtfyNotifier service
- Add toggle UI for hiding completed tasks in ListView component
- Implement filtering logic to conditionally render done tasks
- Add comprehensive tests for hide done tasks feature
- Include changeset for the new feature
- Update vitest configs and clean up gitignore coverage entries
- Add @vitest/coverage-v8 to all workspace packages
- Configure vitest coverage settings in all vitest.config.ts files
- Align vitest versions across packages for consistency
- Add 'test:coverage' script to root package.json
- Verify all tests pass with coverage reporting enabled
- Add steps toggle state and expand/collapse UI to TaskCard
- Add expand/collapse all steps button for better task navigation
- Add comprehensive tests for steps toggle functionality
- Update styles.css with toggle button and step list styling
- Include changeset for patch release
- Add mergeRetries field to updateTask type signature alongside model overrides
- Fix GitManagerModal type imports and error handling
- Update Column, ListView, and GitManagerModal tests for type compatibility
- Fix tsconfig.app.json path references
- Adjust CLI build settings for proper bundling
- Add model override fields to Task type and TaskStore (modelProvider, modelId, validatorModelProvider, validatorModelId)
- Extend PATCH /api/tasks/:id endpoint with validation for model fields
- Create ModelSelectorTab component with provider/model dropdowns and tests
- Integrate Model tab into TaskDetailModal for per-task model configuration
- Update executor to use per-task model overrides when both provider and modelId are set
- Update reviewer to use per-task validator model overrides in reviewStep
- Document per-task model selection feature in AGENTS.md settings section
- Add inline edit mode to TaskCard (double-click to edit title/details)
- Implement optimistic updates with automatic rollback on failure in useTasks hook
- Wire onUpdateTask through Board, Column, and WorktreeGroup component hierarchy
- Add CSS styling for inline edit mode with focus states and transitions
- Add comprehensive test coverage for TaskCard editing and useTasks updates
- Include changeset for patch release and update dashboard README
- Add smartConflictResolution toggle to Merge section in SettingsModal\n- Implement checkbox UI with label and description\n- Add comprehensive tests for toggle behavior and state\n- Follow existing SettingsModal patterns for consistency
- Add autoResolveConflicts toggle to SettingsModal Merge section
- Add unit tests for toggle functionality in SettingsModal
- Clean up unrelated changeset files and unused components
- Fix useTasks SSE handlers to prevent stale column state issues\n- Use server-side columnMovedAt timestamp instead of client-generated\n- Add regression tests for useTasks SSE event handlers\n- Clean up unused Git Manager code and styles\n- Update triage logic for improved task processing
- Add GitManagerModal component with status, commits, branches, and worktrees tabs
- Implement git API endpoints for status, commits, diff, branches, worktrees, and actions
- Add git API client functions with error handling
- Integrate Git Manager into App and Header with toolbar button
- Add comprehensive tests for GitManagerModal component
- Include README documentation for dashboard package and changeset