Commit Graph

498 Commits

Author SHA1 Message Date
gsxdsm
04ff1f5ca1 feat(KB-660): fix mobile responsive styles for Git Manager modal
- Add flex layout and overflow hidden to .gm-modal container
- Fix mobile responsive styles for Git Manager modal
- Clean up unused changeset files and test stubs
2026-04-01 21:58:28 -07:00
gsxdsm
5b8f83d966 feat(KB-662): add visibility-based refresh to dashboard hooks 2026-04-01 21:57:23 -07:00
gsxdsm
fa90b69f2f feat(KB-662): complete Step 2 — add visibility refresh tests for useProjects 2026-04-01 21:36:22 -07:00
gsxdsm
7fd5704a80 Removed unwanted files marked in .gitignore 2026-04-01 21:25:08 -07:00
gsxdsm
84a048e6c5 feat(KB-651): add task file diffs API
- Add API endpoint to fetch git diffs for tasks in review
- Implement file diff routes with support for changed files view
- Add comprehensive test suite for file diffs endpoint
- Update dashboard API client for diff fetching capabilities
2026-04-01 17:28:21 -07:00
gsxdsm
cd165f0bd3 feat(KB-502): implement dashboard multi-project UX
- Add project selector, health badge, and overview components to dashboard
- Add multi-project API functions (api.ts) for cross-project operations
- Update App.tsx with project context and navigation improvements
- Add script-store.ts for centralized project script management
- Extend types with multi-project support: SetupState, MigrationOptions, etc.
- Add project runtime fields: baseCommitSha, modifiedFiles, missionId, sliceId
- Add setupComplete to global settings for first-run wizard tracking
- Add project-level settings: scripts, setupScript, ntfyDashboardHost
- Add backward-compatible addSteeringComment method to TaskStore
2026-04-01 16:41:11 -07:00
gsxdsm
e5928d8ec9 feat(KB-659): merge kb/kb-659 (auto-resolved)
- test(KB-659): add agents view integration tests to App.test.tsx and search visibility tests to Header.test.tsx
- fix(KB-659): resolve merge conflict in types.ts and duplicate declaration in SettingsModal
- feat(KB-659): add agents view toggle to view selector
2026-04-01 15:24:50 -07:00
gsxdsm
07adb42d64 feat(KB-503): merge kb/kb-503
- feat(KB-503): complete Step 5 other command project support
- fix(KB-503): align task resolution with shared project context
- fix(KB-503): preserve local task command fallback
- test(KB-503): complete Step 4 task command coverage
- test(KB-503): harden Step 3 CLI parser coverage
- fix(KB-503): keep settings set scope explicit
- fix(KB-503): allow implicit project resolution for project settings
- fix(KB-503): enforce explicit settings scope rules
- fix(KB-503): restore shared settings resolution behavior
- fix(KB-503): align settings scope and project flag behavior
- feat(KB-503): complete Step 5 — add project-aware settings, git, and backup behavior
- fix(KB-503): enforce settings scope for global and project modes
- fix(KB-503): preserve project-scoped settings and cwd-aware git helpers
- fix(KB-503): add scoped settings behavior and git project tests
- feat(KB-503): complete Step 5 — add project-aware git and backup coverage
- test(KB-503): cover remaining project-aware task command paths
- fix(KB-503): use shared resolution flow for all task commands
- fix(KB-503): restore legacy task fallback and correct task mocks
- fix(KB-503): align task resolution order and kb storage paths
- fix(KB-503): restore local task store fallback without project flag
- test(KB-503): cover remaining project-aware task handlers
- fix(KB-503): preserve branch naming and avoid duplicate log resolution
- test(KB-503): expand project-aware task command coverage
- fix(KB-503): restore cwd fallback for path-based task commands
- fix(KB-503): add project-aware task output and tests
- fix(KB-503): harden project command output and coverage
- fix(KB-503): preserve legacy task resolution without project flag
- test(KB-503): add bin routing coverage for project flag parsing
- feat(KB-503): complete Step 3 — CLI argument parsing updates
- fix(KB-503): add defaultProjectId to GlobalSettings type and fix TypeScript errors
- test(KB-503): fix resolveProject mock in task tests for runTaskLogs follow mode
- docs(KB-503): add multi-project CLI documentation and changeset
- test(KB-503): add project-context mock to task tests
- test(KB-503): update git tests for new cwd parameter
- feat(KB-503): Step 3 — CLI argument parsing updates with --project flag support
- feat(KB-503): Steps 1-2 — project context utilities and project subcommands
2026-04-01 15:06:58 -07:00
gsxdsm
c6acedb432 feat(KB-617): add task diff Changes tab and backend support
- Add core task fields for base commit and modified files to support diff computation
- Implement dashboard and API wiring for task changes, including Task Detail Changes tab integration
- Update executor flow to capture modified files during execution for accurate diff display
- Add tests and changeset covering the diff viewer feature
2026-04-01 15:04:30 -07:00
gsxdsm
fef7841f6e fix(KB-658): resolve list view merge conflicts and finalize KB-658 changes
- Resolve conflicts in dashboard styles by preserving fixed ID column sizing and title overflow behavior in list view
- Keep SettingsModal cleanup from branch by removing duplicate variable declaration
- Retain core types conflict resolution from branch updates
- Verify workspace builds successfully with pnpm build before squash commit
2026-04-01 15:01:56 -07:00
gsxdsm
3edd6ab1aa feat(KB-651): add changed files diff viewer
- Add task file diff API support with cached changed-file snapshots and robust diff generation for added, deleted, modified, and renamed files
- Integrate the dashboard changed files viewer into task flows without reintroducing removed board project context UI
- Expand route coverage for project-aware task listing and changed-file diff behavior, including rename diff regression cases
- Include the published package changeset for the new changed files diff viewer feature
2026-04-01 14:38:18 -07:00
gsxdsm
0529048fa6 test(KB-636): expand mission integration coverage
- Add deeper MissionStore integration tests for hierarchy integrity, rollups, reorders, and task link cleanup
- Extend mission API end-to-end coverage for feature patching, validation, and cascade scenarios
- Fix TaskStore task upsert placeholders to preserve mission slice linking fields after merge resolution
- Tidy mission CLI help text and include the published package changeset for the missions launch
2026-04-01 14:30:04 -07:00
gsxdsm
e5b1644ba2 feat(KB-643): add dashboard scripts management and execution
- Add project settings support and dashboard API helpers for custom scripts
- Add scripts CRUD and run routes backed by terminal sessions with validation and duplicate checks
- Add Scripts modal and header integration for managing and launching project scripts
- Add regression coverage for scripts routes and API client helpers
2026-04-01 13:52:18 -07:00
gsxdsm
b0ac567038 fix(FN-680): restore TaskStore project resolution and fresh schema writes
- fix TaskStore.getOrCreateForProject to resolve projects through BackwardCompat and support legacy .fusion/.kb detection
- add regression tests for exact-name project lookup, legacy cwd fallback, and fresh-schema task create/update persistence
- sync the tasks schema definition with missionId support so fresh databases match runtime migrations
- add project overview and selector styles for the multi-project dashboard UI
2026-04-01 13:48:01 -07:00
gsxdsm
a63ee7443a fix(FN-678): preserve settings section state across reopen
- 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
2026-04-01 13:37:33 -07:00
gsxdsm
da24b81523 fix(FN-667): fix model dropdown layering in quick entry
- 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
2026-04-01 13:32:29 -07:00
gsxdsm
1b3729a70b feat(FN-670): enforce merge build verification and activity feed fallback
- 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
2026-04-01 13:24:57 -07:00
gsxdsm
9b45ed2786 feat(KB-657): add manual quick-add expand toggles
- 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
2026-04-01 13:22:49 -07:00
gsxdsm
0da3fea13c feat(FN-671): preserve quick entry disclosure and normalize comment migration
- Keep QuickEntryBox disclosure state persisted and covered by updated UI tests
- Add normalized legacy comment migration logic to unify steering comments without duplication
- Update database migration tests to verify schema v5 comment handling behavior
- Carry merged dashboard, engine, and routing changes into the squash commit
2026-04-01 13:07:26 -07:00
gsxdsm
1ccaf34d9b fix(FN-673): harden dashboard task resync and Claude usage handling
- 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
2026-04-01 13:01:52 -07:00
gsxdsm
68f4e995a9 feat(KB-659): add agents view toggle and merge dashboard updates
- 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
2026-04-01 12:44:01 -07:00
gsxdsm
54f10ef641 feat(KB-662): refresh tasks when the dashboard regains focus
- 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
2026-04-01 12:37:06 -07:00
gsxdsm
75f60db4c9 fix(KB-660): keep Git Manager modal within the viewport
- 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
2026-04-01 12:27:26 -07:00
gsxdsm
4aa028c14e feat(KB-656): keep list quick entry collapsed on focus
- 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
2026-04-01 12:25:00 -07:00
gsxdsm
6d84ce3ba1 feat(KB-658): tighten dashboard list view column sizing
- 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
2026-04-01 11:38:27 -07:00
gsxdsm
fc4280ced5 feat(KB-655): merge dashboard multi-project and workflow improvements
- 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
2026-04-01 11:35:15 -07:00
gsxdsm
75bcffe0fb feat(FN-699): remove project badge from Board and ListView components
- 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
2026-04-01 09:50:54 -07:00
gsxdsm
3bc2a730d7 fix(FN-695): portalize QuickEntryBox model selection modal to fix z-index clipping
- 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
2026-04-01 09:29:21 -07:00
gsxdsm
983ae5daa9 feat(FN-687): relocate ProjectSelector to header-left group
- 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
2026-04-01 09:26:44 -07:00
gsxdsm
30b9bc6e6e feat(FN-685): add QuickScriptsDropdown component to dashboard header
- 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
2026-04-01 09:19:28 -07:00
gsxdsm
681dc48ebf feat(FN-691): merge Steering and Comments tabs into unified Comments tab
- 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)
2026-04-01 09:18:59 -07:00
gsxdsm
efc49dee29 test(FN-686): fix pre-existing dashboard test failures
- App.test.tsx: Add mocks for useProjects/useCurrentProject, update localStorage keys for view-mode
- SetupWizard.test.tsx: Remove tests for non-existent features (auto-detect, review step), match simple wizard
- TaskDetailModal.test.tsx: Update tab count to 7, change 'Steering Comments' to 'Comments', add Changes tab
- WorkspaceSelector.test.tsx: Fix task prefix from KB- to FN-
2026-04-01 09:08:23 -07:00
gsxdsm
a23f1a0cf2 feat(FN-683): fix mobile header layout
- Refactor header styles for responsive mobile layout
- Add comprehensive Header component tests for mobile breakpoints
- Include changeset for patch release
2026-04-01 09:02:13 -07:00
gsxdsm
750c00c8e9 feat(FN-682): fix setup wizard race condition and view mode restoration
- Fix setup wizard auto-open race condition in App.tsx\n- Add view mode restoration logic for dashboard navigation\n- Remove 145 lines of unused styles from styles.css\n- Ensure setup wizard opens correctly on fresh installs
2026-04-01 08:58:03 -07:00
gsxdsm
add9d8703a feat(FN-683): complete Step 2 — add mobile header layout styles 2026-04-01 08:55:59 -07:00
gsxdsm
7e4cb25d6e feat(FN-672): add ProjectSelector component for multi-project support
- 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
2026-04-01 08:33:16 -07:00
gsxdsm
1fd4dc372a feat(KB-651): add changed files diff viewer to dashboard
- 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
2026-04-01 08:26:46 -07:00
gsxdsm
ad2e3353fd feat(FN-680): add multi-project dashboard UI and setup wizard
- 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
2026-04-01 08:17:54 -07:00
gsxdsm
fc13b9a8f5 feat(FN-681): add openai-codex provider support with OpenAI icon and label mapping
- 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
2026-04-01 08:17:43 -07:00
gsxdsm
a7354946cd feat(KB-504): add migration and first-run experience for multi-project support
- 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
2026-04-01 08:17:30 -07:00
gsxdsm
cab119e9dd feat(KB-643): add project scripts management to 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
2026-04-01 08:06:03 -07:00
gsxdsm
6009ebaf06 feat(KB-636): add Missions system for large-scale project planning
- 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
2026-04-01 08:04:51 -07:00
gsxdsm
df63396830 feat(KB-502): add dashboard multi-project UX with overview, drill-down, and setup wizard
- 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
2026-04-01 08:04:02 -07:00
gsxdsm
348c21544b feat(KB-341): unify steeringComments and comments into single comments system
- Consolidate steeringComments and comments into unified comments field using TaskComment type

- Remove SteeringComment type, migrate all comments to TaskComment format

- Update addComment to delegate to addTaskComment with auto-refinement for done tasks

- Merge legacy steeringComments data into comments during database migration

- Update dashboard API endpoint from /steer to /comments

- Update executor to use unified comments field for real-time injection

- Update PR comment handler to use addTaskComment method
2026-04-01 07:44:04 -07:00
gsxdsm
2d112e062a feat(FN-670): add mandatory build verification before merge
- Add report_build_failure tool to merger agent for explicit build failure signaling
- Run buildCommand before finalizing merge, abort if build fails with git reset --merge
- Treat build failures as fatal errors (no retry) and keep task in in-review
- Add build verification instruction to executor system prompt
- Update executor to use steeringComments field for mid-execution guidance
2026-04-01 07:28:28 -07:00
gsxdsm
b9584da06c feat(FN-674): add multi-project dashboard support
- Add Project Overview page with responsive grid and health status cards
- Add Project Selector dropdown in header for quick context switching
- Add project drill-down navigation with task board/list views
- Add Setup Wizard components for first-run project registration
- Add global activity feed with project attribution and filtering
- Add project-aware task fetching to backend API
- Add project health polling and status badges
- Update ActivityLogModal with project filter and useActivityLog hook
2026-04-01 07:27:29 -07:00
gsxdsm
20955f6600 feat(FN-669): add ntfy deep link support with dashboard hostname config
- Add ntfyDashboardHost setting to GlobalSettings for dashboard URL\n- Generate deep links in ntfy notifications with Click header\n- Handle ?task= query param in dashboard for direct task navigation\n- Add hostname configuration UI in Settings modal\n- Add comprehensive tests for deep link generation and handling
2026-04-01 07:21:43 -07:00
gsxdsm
8601f80402 feat(FN-678): add title truncation and tooltip to TaskCard
- Truncate long board titles in TaskCard with CSS text truncation\n- Add tooltip showing full title on hover via title attribute\n- Update TaskCard tests for truncation behavior\n- Add changeset for board title truncation fix
2026-04-01 07:16:54 -07:00
gsxdsm
91784d464e feat(FN-676): fix modal button positioning and refactor project commands
- Fix sticky bottom actions positioning in NewTaskModal with CSS improvements
- Add changeset for modal button position fix
- Refactor CLI project commands with cleaner error handling and logic
- Update project resolver tests for improved coverage and reliability
- Sync settings and task command improvements from core type changes
2026-04-01 07:16:37 -07:00
gsxdsm
a5ad82eab1 feat(KB-657): add expand/collapse toggle to quick add components
- Add toggle button (ChevronDown/ChevronUp) to QuickEntryBox (list view) and InlineCreateCard (board view)

- Replace auto-expand behavior with manual toggle control

- Add CSS styles for collapsed/expanded states and toggle button positioning

- Update tests to verify toggle behavior

- Provide cleaner default UI while keeping advanced options discoverable
2026-04-01 07:13:14 -07:00