- Add mission CLI commands and pi extension tools for creating missions, milestones, slices, features, and task links
- Extend core mission storage and schema migrations with auto-advance support, task slice linkage, and comment normalization coverage
- Wire mission-aware scheduler and executor behavior so linked features progress with task execution and completed slices can auto-activate follow-on work
- Add regression tests for mission CLI parsing, extension behaviors, scheduler mission semantics, and executor integration
- Add a shared settings section scope helper so the modal consistently resolves the active section
- Prevent the authentication auto-open flow from leaking into later general settings sessions
- Add regression coverage for reopening the settings modal after authentication and general entry points
- Regenerate PROMPT.md when task titles or descriptions are updated in the store
- Add regression tests covering prompt regeneration for title and description changes
- Tighten central activity cleanup coverage to preserve entries at the cutoff boundary
- Add a changeset for the published CLI package fix
- Render the custom model dropdown menu in a portal so it escapes clipped stacking contexts
- Update dashboard styles to give the floating model menu reliable overlay positioning above quick entry surfaces
- Refresh dropdown-focused tests to cover portal layering behavior in quick entry and model selector flows
- Document the layering behavior in the dashboard README for future UI maintenance
- Add activity feed fallback to the local project log when central activity is empty or unavailable
- Pass configured build commands into executor and merger prompts with hard-gate instructions
- Add merger build-failure reporting via report_build_failure and stop commits when verification fails
- Expand engine and dashboard regression coverage for activity feed fallback and merge build verification
- Add chevron expand/collapse toggles to dashboard quick-add flows in list and board views
- Keep advanced quick-add controls hidden until expanded and collapse them after successful submission
- Tighten quick-add accessibility and blur behavior around overlays and empty drafts
- Add dashboard regression coverage and a published changeset for the quick-add interaction update
- resync dashboard tasks after stream reconnects and when the tab becomes visible again
- add regression coverage for stale board recovery and usage-fetch edge cases
- replace direct Claude usage API calls with the CLI-based usage command
- document the dashboard resync safeguards and include a published package changeset
- Add CLI project resolution with --project targeting and project subcommands
- Implement project list/add/remove/info flows with central registry integration
- Expand resolver and command test coverage, including cancellation and explicit selection paths
- Include published CLI changeset metadata for the multi-project command feature
- Tighten mission route status validation with generic typing to preserve exact status unions
- Expand mission API end-to-end coverage for feature patching, invalid statuses, and task unlink support in the mock store
- Point dashboard Vitest core alias at the package index so mission route tests resolve the full mission store API
- Add a changeset for the sticky New Task modal action button position fix
- Add the agents view toggle to the dashboard header and App view state
- Preserve multi-project dashboard behavior while resolving App merge conflicts
- Merge Header and App tests for agents view, search visibility, and deep-link handling
- Keep scripts, changed-files modal, and project overview integrations working together
- Add a debounced visibilitychange refresh path to useTasks
- Reuse task normalization when refreshing task data from the API
- Preserve project-scoped fetching during initial and visibility-triggered reloads
- Add hook tests covering visibility refresh, normalization, debounce, and cleanup
- Constrain the Git Manager modal with a flex column layout and overflow containment
- Prevent the modal header from shrinking and let the content area resize within available space
- Adjust small-screen sizing to use auto height with a 90vh cap so overlay padding is respected
- Add changeset entries documenting the Git Manager modal viewport rendering fix
- Add an autoExpand prop to QuickEntryBox with default focus expansion behavior
- Preserve manual expand and blur persistence while allowing list view to opt out
- Add coverage for autoExpand={false} behavior in QuickEntryBox tests
- Include a published-package changeset describing the quick entry behavior change
- Reduce the list view ID column to a fixed 70px width
- Preserve full-width title cells so task titles use the remaining space
- Resolve the styles.css merge conflict by combining both list layout adjustments
- Verify the workspace build succeeds with pnpm build
- Add multi-project migration, CLI project selection, and dashboard overview/setup flows
- Introduce missions, quick scripts, comments unification, and changed-files/task detail enhancements
- Improve dashboard UX with mobile header fixes, quick entry behavior, title truncation, and modal rendering fixes
- Strengthen engine and storage behavior with build verification before merge, setup-script support, Claude usage/auth fixes, and expanded test coverage
- Add 62 tests covering all AgentStore public methods (init, CRUD, state transitions, heartbeats, assignments)
- Test event emissions (agent:created, agent:updated, agent:deleted, agent:heartbeat, agent:stateChanged)
- Test error paths, state transition validation, and concurrency locking
- Verify filesystem persistence across store re-initialization
- Update coverage gaps doc to mark agent-store.ts as covered
- Remove projectId/projectName props from Board and ListView components
- Remove Folder icon import and project context badge JSX from both views
- Remove projectId/projectName prop passing from App.tsx
- Add Board test asserting .board-project-context badge is not rendered
- Add dual-source fallback: try CentralCore first, fall back to store.getActivityLog()
- Adapt per-project ActivityLogEntry[] to ActivityFeedEntry[] format with projectId="local"
- Handle CentralCore init failures gracefully without returning 500
- Add comprehensive tests covering central data, empty state, init failure, and query params
- Add JSDoc documenting the fallback strategy and data source priority
- Replace direct HTTPS requests to api.anthropic.com with `claude usage --json` CLI subprocess call, eliminating 429 rate-limit errors
- Remove retry/backoff logic (_sleep, CLAUDE_MAX_RETRIES, exponential delay) that is no longer needed
- Add specific error handling for CLI-not-found (ENOENT) and timeout scenarios
- Update tests to use setupClaudeMocks helper that handles both keychain and CLI mocking
- Add changeset for the patch fix
- Add coverage-report/ with summary, gap analysis, and README documentation
- Add per-package coverage scripts (test:coverage:core, :engine, :cli, :dashboard)
- Document files lacking test coverage with priority ratings across all packages
- Identify key coverage gaps: agent-store, IPC host/worker, and dashboard components
- Note engine OOM issue with coverage and provide workaround
- Render ModelSelectionModal via createPortal to document.body so it is no longer clipped behind the board on mobile
- Add SSR guard (typeof document check) around the portal call
- Update QuickEntryBox test to assert the modal is portaled outside the component container
- Add changeset for the patch fix
- Move ProjectSelector from standalone header section into header-left div next to logo/title
- Change dropdown positioning from right-aligned to left-aligned with higher z-index
- Update CSS to use inline-flex and relative positioning for proper containment
- Adjust mobile styles for narrower max-width within header-left
- Add test verifying ProjectSelector renders inside header-left container
- Add `setupScript` property to ProjectSettings to reference a named script
- Execute the referenced setup script after worktreeInitCommand on fresh worktrees
- Log success/failure of setup script execution; warn and skip if script name not found
- Skip setup script for pooled/recycled worktrees (fresh only)
- Add changeset (minor) for the new setting
- Fix SQL parameter mismatch in db-migrate task INSERT (add baseCommitSha, modifiedFiles, sliceId columns)
- Fix dashboard routes type predicate to guard against null entries from git diff parsing
- Stabilize central-core activity cleanup test with fake timers
- Align executor test assertions with updated steering comment log messages
- Align store test comment log assertion with new action/outcome format
- Create QuickScriptsDropdown component with script listing, one-click execution, and keyboard navigation (arrow keys, Enter, Escape)
- Replace static Scripts button in Header with dropdown menu showing all configured scripts
- Add loading, empty, and error states with 'Manage Scripts...' footer link
- Add full CSS styles with theme support, animations, and mobile responsiveness
- Add comprehensive tests (510 lines) covering rendering, interactions, keyboard nav, and edge cases
- Remove SteeringTab component and merge steering comments into TaskComments
- Consolidate both steering comments (pinned) and regular comments in one tab
- Update TaskDetailModal to render single Comments tab instead of separate Steering/Comments tabs
- Migrate SteeringTab tests into TaskComments test suite with full coverage
- Update TaskDetailModal tests for new 6-tab layout (Definition, Activity, Agent Log, Changes, Comments, Model)
- Refactor header styles for responsive mobile layout
- Add comprehensive Header component tests for mobile breakpoints
- Include changeset for patch release
- Add ProjectSelector component with search and status indicators
- Integrate ProjectSelector into Header with mobile responsive layout
- Update App.tsx with project selection handlers and view mode switching
- Add ProjectSelector CSS styles with status color coding
- Align session-files API endpoint behavior and response structure with diff endpoint
- Add comprehensive test suite for session-files routes (241 lines)
- Update route handlers to match diff endpoint patterns and file counting
- Include changeset for the file count alignment fix
- Add backend API endpoint /api/tasks/:id/diff for file diffs
- Add useChangedFiles hook for fetching and managing diff state
- Create ChangedFilesModal component with file list and diff viewer
- Integrate modal with TaskCard via files changed badge click
- Add CSS styling for changed files layout and diff display
- Add keyboard navigation (Escape to close)
- Include unit tests for ChangedFilesModal component
- Implement automatic PROMPT.md regeneration in updateTask() when title or description changes
- Add comprehensive tests for PROMPT.md sync behavior in store.test.ts
- Create changeset for the PROMPT.md sync fix
- Remove multi-project migration changeset (superseded)
- Update dashboard components and styles for setup wizard and provider icons
- Add SetupWizardModal for first-run project registration with auto-detection
- Add project overview and selector component styles (560+ lines)
- Update ProviderIcon component with multi-project support
- Add project API routes and registration endpoints
- Update core types and exports for multi-project architecture
- Extend CLI with project management commands
- Remove obsolete changeset and test file
- Add openai-codex AI provider with OpenAI icon and label support in ProviderIcon component
- Add comprehensive test coverage for provider icon mappings
- Extend SetupWizardModal with enhanced project setup workflow capabilities
- Update CLI bin, core types, and store interfaces for new provider support
- Remove obsolete multi-project migration changeset
- Add MigrationOrchestrator with filesystem scanning and auto-registration
- Add FirstRunExperience with setup wizard state management
- CLI integration with automatic migration hook on first run
- Backward-compatible single-project mode support
- \"--project\" flag support for CLI multi-project targeting
- KB_SKIP_MIGRATION environment variable for recovery
- Graceful fallback when central database unavailable
- New fn init command to initialize kb projects
- Interactive first-run setup wizard API in dashboard
- Add scripts field to ProjectSettings type for storing custom scripts\n- Add API endpoints for scripts CRUD operations and execution\n- Add client-side API functions for script management\n- Create ScriptsModal component for managing and running scripts\n- Integrate Scripts modal into dashboard header\n- Add comprehensive tests for ScriptsModal component\n- Include changeset documenting the new dashboard scripts UI feature\n- Fix duplicate terminalInitialCommand declaration
- Fix TaskStore sliceId persistence and bidirectional linking between tasks and features
- Add comprehensive mission integration tests for hierarchy, status rollup, and events
- Enhance E2E tests with reorder, cascade delete, and error handling coverage
- Add scheduler integration tests for mission slice activation
- Fix duplicate mission commands in CLI help text
- Add changeset for missions launch
- Add Project Overview page with responsive grid and health metrics
- Add Project selector dropdown for quick context switching
- Add Project drill-down with back navigation to overview
- Add Setup wizard with auto-detection and manual entry flows
- Add Global activity feed with project attribution badges
- Add Project health polling (active tasks, agents, completion counts)
- Add Empty states and loading skeletons for better UX
- Add Keyboard navigation support (arrow keys, enter, escape)
- Add LocalStorage persistence for wizard state and view preferences