Commit Graph

24 Commits

Author SHA1 Message Date
gsxdsm
4aa1cbdba8 feat(FN-1153): add cross-tab locks for AI planning sessions
- Bump SQLite schema to v19 with ai_sessions lock columns and lock index, and align migration coverage in core DB tests
- Extend AiSessionStore with acquire/release/force lock APIs, stale lock cleanup, and lock metadata in ai_session update summaries
- Enforce lock checks on planning, subtask, and mission interview mutation routes with 409 conflict responses while keeping stream reads unaffected
- Add frontend tab identity + useSessionLock hook and wire Planning, Subtask, and Mission modals to pass tabId, show lock overlay, and support Take Control
- Expand dashboard route/e2e and modal tests to validate lock enforcement, lock handoff, and lock-aware session reentry behavior
2026-04-08 16:14:32 -07:00
gsxdsm
0ff6d42c0f feat(FN-1152): add retry flows for failed AI planning sessions
- Keep errored AI sessions retryable in the session store and add backend retry handlers for planning, subtask breakdown, and mission interview flows
- Add retry API routes and dashboard API client helpers for planning, subtask, and mission interview session retries
- Update PlanningModeModal, SubtaskBreakdownModal, MissionInterviewModal, and background session handling to show error states with retry/cancel UX
- Expand unit and integration tests across store, services, routes, and modal components to cover retry success and failure paths
2026-04-08 15:10:46 -07:00
gsxdsm
375d46d31b feat(FN-1151): preserve and display planning conversation history
- Persist per-turn thinking output for planning and mission interview sessions, including history serialization and recovery-safe state fields
- Add shared conversation history parsing/API types and a reusable timeline component with formatted answers and expandable AI reasoning
- Restore and render conversation history across Planning Mode, Mission Interview, and Subtask Breakdown modals during resume and live question flow
- Harden response submission with nullable-question guards and expand unit/e2e coverage for history rendering and persistence behavior
2026-04-08 14:17:20 -07:00
gsxdsm
6d2377fca0 feat(FN-1149): add send-to-background actions for AI planning modals
- Add Send to background header action to Planning Mode, Subtask Breakdown, and Mission Interview modals using a shared minimize icon pattern
- Show the action only during active AI session states and keep it hidden in initial states
- Implement background behavior to close the live stream connection and modal without canceling the underlying AI session
- Add modal tests that verify button visibility rules and confirm send-to-background does not trigger cancel APIs
- Add shared CSS styling for modal send-to-background controls, including hover and focus-visible states
2026-04-08 10:15:14 -07:00
gsxdsm
c5e2de04ac fix(FN-1241): stabilize PlanningModeModal race-condition test
- Replace fragile real-timer setTimeout sequencing with fake timers to eliminate CI flakiness
- Refactor mocked planning stream/response flow to deterministically deliver the second question
- Add explicit timer advancement and intermediate assertions around Continue click and response dispatch
- Ensure timer state is always restored with try/finally and keep single-SSE-connection verification
2026-04-08 09:12:15 -07:00
gsxdsm
90fbf3e398 feat(FN-1145): harden dashboard SSE streams with replay and reconnect
- Add a shared SSE event buffer utility and wire it into planning, subtask, mission interview, and task stream routes
- Support Last-Event-ID replay semantics and robust event serialization so clients can recover missed stream events
- Add a resilient client-side reconnect wrapper and surface reconnecting state in planning, subtask breakdown, and mission interview modals
- Expand test coverage across API routes, SSE buffering behavior, reconnect handling, and mission/planning stream flows
2026-04-08 06:02:28 -07:00
gsxdsm
f35a0d5991 feat(FN-1144): add planning model override support to planning mode
- Add planning model selection UI to PlanningModeModal initial view with model loading, favorites wiring, and default/custom badge state
- Extend startPlanningStreaming client API to send optional planningModelProvider/planningModelId overrides
- Propagate planning model overrides through /planning/start-streaming and createSessionWithAgent so agent creation uses selected model settings
- Add frontend and backend tests covering modal selection behavior, request forwarding, and end-to-end planning model flow
2026-04-08 04:10:10 -07:00
gsxdsm
f47d1c5c17 feat(FN-1132): support resuming completed planning sessions
- Include complete planning sessions in active session queries and background tracking
- Add create-task fallback to recover completed planning data from persisted ai session records
- Validate and reconstruct summary/initial plan data from stored JSON before creating tasks
- Expand tests for modal resume flow, session-store filtering, and route fallback behavior
2026-04-08 02:06:37 -07:00
gsxdsm
738c0c9abc feat(FN-1157): switch planning size controls to dropdowns
- Replace Summary view suggested size buttons with a select dropdown and keep loading-state disabling
- Replace Breakdown view subtask size button groups with per-subtask size dropdowns
- Add PlanningModeModal tests for summary and breakdown size dropdown rendering and change handling
- Expand API test mocks used by planning breakdown flows to support the new coverage
2026-04-07 23:00:04 -07:00
gsxdsm
e3443c21e4 feat(FN-1106): preserve planning sessions when closing modal
- Stop canceling active planning sessions on modal close and keep server-side progress intact
- Remove progress-loss confirmation prompts and simplify close/escape/unload handling to just reset local UI state
- Ensure close flows always disconnect the SSE stream connection without clearing the backend session
- Rewrite PlanningModeModal close-behavior tests to verify no confirmation/cancel calls across initial, loading, question, summary, and overlay dismiss paths
2026-04-07 22:14:14 -07:00
gsxdsm
d2195551cb feat(FN-768): resolve effective executor/validator models in Agent Log header
- Display resolved executor and validator model names in the Agent Log header of TaskDetailModal
- Add comprehensive UI tests for model resolution in TaskDetailModal
- Add missing fetchSettings mock to PlanningModeModal test
- Remove unused project-store-resolver module, UsageIndicator tests, and usage tests
- Clean up unused styles and API references
2026-04-02 23:53:14 -07:00
gsxdsm
1f8465342c fix(FN-000): scope dashboard project flows 2026-04-02 17:51:04 -07:00
gsxdsm
801f0d2b1c feat(KB-639): add dismiss warning for unsaved progress in PlanningModeModal
- Add hasProgress state to track unsaved changes in PlanningModeModal\n- Show confirmation dialog when dismissing modal with unsaved progress\n- Prevent accidental data loss when users close the planning modal\n- Add comprehensive tests for dismiss warning behavior
2026-03-31 19:58:25 -07:00
gsxdsm
5647e500cf 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
fc0411713c 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
a0bf688019 feat(KB-243): fix loading state text and ensure thinking container visibility in PlanningModeModal
- Fix loading state text rendering in PlanningModeModal

- Ensure thinking container is always visible during planning operations

- Add comprehensive tests for loading state behavior and thinking container visibility
2026-03-30 19:26:38 -07:00
gsxdsm
2fa0b1bbfb fix(KB-217): resolve planning mode hanging race condition
- Fix race condition causing planning mode to hang after submitting answers
- Keep SSE connection alive during response submission to prevent premature disconnect
- Add scrollable CSS styling for AI thinking output display in planning mode
- Add tests for race condition fix ensuring subsequent questions are received
- Include changeset for planning mode patch release
2026-03-30 18:12:49 -07:00
gsxdsm
c3dc12bede fix(KB-165): resolve planning modal autostart in StrictMode
- Fix double-render bug by using ref for hasAutoStarted instead of state\n- Enable auto-start planning tests in App.test.tsx and ListView.test.tsx\n- Add changeset for the planning modal autostart fix\n- Add comprehensive tests for planning mode auto-start behavior
2026-03-30 09:13:10 -07:00
gsxdsm
92d21b3150 test(KB-159): skip timing-sensitive auto-start tests 2026-03-30 09:02:00 -07:00
gsxdsm
2af3e16692 test(KB-159): update PlanningModeModal tests for streaming 2026-03-30 08:59:21 -07:00
gsxdsm
555cbd9ddc feat(KB-141): fix workspace type resolution and add clean-checkout typecheck tests
- Remove dist-dependent workspace type resolution from all tsconfig files

- Add clean-checkout typecheck regression test to CI suite

- Update package.json type definitions for core, engine, dashboard, and cli packages

- Update README with typecheck testing documentation

- Clean up unused test files and component dependencies
2026-03-30 08:24:16 -07:00
gsxdsm
4ca33625ed feat(KB-125): add planning mode checkbox to new task flow
- Add planning mode checkbox to NewTaskModal with onPlanGenerated callback
- Wire up planning mode flow in App.tsx to open modal after task creation
- Add initialPlan prop to PlanningModeModal with auto-start logic
- Add comprehensive tests for planning mode checkbox flow in both modals
- Include changeset for the planning mode checkbox fix
2026-03-30 07:57:53 -07:00
gsxdsm
a61b204a1f feat(KB-092): polish planning mode modal UX
- Rework the planning modal into scrollable content regions with fixed footers for the initial, question, and summary states
- Refresh question and summary styling with clearer progress, polished selection controls, and improved dependency and deliverable presentation
- Improve responsive behavior with full-height mobile layout, stacked actions, and better overflow handling
- Expand PlanningModeModal coverage to verify the new structure and add a TaskDetailModal smoke check
2026-03-30 03:46:55 -07:00
gsxdsm
89874b58c7 feat(KB-032): add Planning Mode for AI-assisted task creation
- 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
2026-03-29 21:40:14 -07:00