gsxdsm
fee920d366
FN-8478: open board deep tabs in task popups
...
Make board task deep-tab actions preserve their requested popup tab when task popups are enabled.
- Route Changes, Retries, and Workflow board actions through the popup preference.
- Store and refresh each popup's requested initial tab for its task and view.
- Add regression coverage, documentation, and a patch changeset.
Files changed:
.changeset/task-card-popup-deep-tabs.md | 7 +++++
docs/dashboard-guide.md | 4 +--
docs/settings-reference.md | 2 +-
packages/dashboard/app/App.tsx | 25 ++++++++++-----
.../__tests__/App.openTasksInRightSidebar.test.ts | 36 ++++++++++++----------
.../__tests__/navigation-history.test.tsx | 25 ++++++++++++++-
.../settings/sections/AppearanceSection.tsx | 4 +--
.../app/hooks/__tests__/usePoppedOutTasks.test.ts | 13 ++++++++
packages/dashboard/app/hooks/usePoppedOutTasks.ts | 15 ++++++---
9 files changed, 97 insertions(+), 34 deletions(-)
Fusion-Task-Id: FN-8478
Fusion-Task-Lineage: e12452c0-24d5-4f19-b50c-39526d72d7ab
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-22 00:22:42 -07:00
gsxdsm
cd51e1c0d8
FN-8471: add color theme filtering
...
Add a searchable shared color-theme picker for Settings and Command Center.
- Filter translated theme labels case- and diacritic-insensitively
- Preserve keyboard navigation, focus management, and selection behavior
- Document the picker and add a minor release changeset
Files changed:
.changeset/fn-8471-theme-filter.md | 7 +
docs/dashboard-guide.md | 3 +-
.../dashboard/app/components/ThemeDropdown.css | 32 ++++
.../dashboard/app/components/ThemeDropdown.tsx | 172 +++++++++++++++------
.../components/__tests__/ThemeDropdown.test.tsx | 106 +++++++++++++
.../components/__tests__/ThemeSelector.test.tsx | 1 +
.../__tests__/CommandCenterControls.test.tsx | 1 +
7 files changed, 277 insertions(+), 45 deletions(-)
Fusion-Task-Id: FN-8471
Fusion-Task-Lineage: 1f73dfb8-18bb-48e6-a3ed-0ee3a200cf03
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-21 23:03:35 -07:00
gsxdsm
51fc34f585
FN-8465: align skill toggles with canonical paths
...
Align session skill filtering with Skills-view path identities.
- Match session inclusions, exclusions, and diagnostics by skills-relative body path.
- Ignore stale flat toggle keys for categorized skills and cover the display/session invariant.
- Document the behavior and add a patch changeset.
Files changed:
.../fn-8465-legacy-skill-toggle-path-match.md | 7 ++
docs/dashboard-guide.md | 2 +-
.../legacy-flat-skill-toggle-session-divergence.md | 41 ++++++++
.../engine/src/__tests__/skill-resolver.test.ts | 73 ++++++++++++++
packages/engine/src/skill-resolver.ts | 105 ++++++++++++++-------
5 files changed, 191 insertions(+), 37 deletions(-)
Fusion-Task-Id: FN-8465
Fusion-Task-Lineage: 042fc7f4-08a3-42f4-9a6f-52f066d585e8
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-21 19:17:20 -07:00
gsxdsm
2bf3d81a76
fix(dashboard): restore accurate executing/total column headers
...
Show live agents over card count (e.g. 3/4) using the shared Running
predicate so unpaused WIP counts without sessionFile, and document the
badge semantics for operators.
2026-07-21 18:59:52 -07:00
gsxdsm
771fe71760
fix(dashboard): restore board card counts and WIP Running totals
...
FN-8453 column headers showed active/total (always 0/N on Todo) and Running
required sessionFile, which is not a DB/board field, so footer capacity
undercounted live WIP. Show lane card totals again and count unpaused WIP as
Running without durable session/checkout evidence.
2026-07-21 18:52:59 -07:00
gsxdsm
d486bf49dd
FN-8456: add Dawn dashboard color theme
...
Add a persisted Dawn indigo-and-amber color theme across dashboard and desktop first paint.
- Register Dawn in theme persistence, selector metadata, and pre-hydration validation.
- Define dark and light Dawn tokens plus mode-aware selector swatches.
- Cover persistence, theme registries, token completeness, and selector previews with tests.
Files changed:
.changeset/fn-8456-dawn-theme.md | 7 ++
docs/dashboard-guide.md | 3 +-
docs/settings-reference.md | 2 +-
.../core/src/__tests__/global-settings.test.ts | 8 ++
packages/core/src/types/execution-and-ui.ts | 2 +
.../dashboard/app/__tests__/dawn-theme.test.ts | 98 ++++++++++++++++++++++
.../dashboard/app/components/ThemeSelector.css | 14 ++++
.../components/__tests__/ThemeDropdown.test.tsx | 22 ++---
.../components/__tests__/ThemeSelector.test.tsx | 2 +-
.../__tests__/CommandCenterControls.test.tsx | 7 +-
packages/dashboard/app/components/themeOptions.ts | 1 +
.../dashboard/app/hooks/__tests__/useTheme.test.ts | 12 +++
packages/dashboard/app/index.html | 2 +-
packages/dashboard/app/public/theme-data.css | 86 ++++++++++++++++++-
packages/desktop/src/renderer/index.html | 1 +
15 files changed, 248 insertions(+), 19 deletions(-)
Fusion-Task-Id: FN-8456
Fusion-Task-Lineage: 44d9eb05-210d-4be8-8d35-c66ac4857194
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-21 18:33:22 -07:00
gsxdsm
eef5eb751e
FN-8453: unify concurrency accounting and indicators
...
Unify live-agent capacity accounting across engine and dashboard.
- Derive Running and Waiting from workflow traits and durable agent liveness.
- Apply unified limits to planner, executor, and merge admission while updating dashboard indicators.
- Remove duplicate concurrency controls and document the unified operator model.
Files changed:
.changeset/fn-8453-unified-concurrency.md | 7 +
docs/agent-tool-surface-full-loop.md | 4 +-
docs/architecture.md | 2 +-
docs/dashboard-guide.md | 4 +-
docs/settings-reference.md | 4 +-
.../skill/fusion/references/fusion-capabilities.md | 4 +-
.../core/src/__tests__/live-agent-count.test.ts | 91 ++++----
packages/core/src/index.gate.ts | 6 +
packages/core/src/index.ts | 6 +
packages/core/src/live-agent-count.ts | 107 ++++++---
packages/dashboard/app/App.tsx | 28 ++-
packages/dashboard/app/api/board-workflows.ts | 2 +
packages/dashboard/app/components/Column.tsx | 6 +-
.../dashboard/app/components/EngineControlMenu.tsx | 26 ---
.../dashboard/app/components/ExecutorStatusBar.tsx | 38 ++-
.../dashboard/app/components/SettingsModal.tsx | 1 -
.../app/components/__tests__/Column.test.tsx | 6 +-
.../__tests__/EngineControlMenu.test.tsx | 10 +-
.../__tests__/ExecutorStatusBar.test.tsx | 32 ++-
.../command-center/CommandCenterControls.tsx | 26 ---
.../settings/sections/SchedulingSection.search.ts | 9 -
.../settings/sections/SchedulingSection.tsx | 13 --
.../app/hooks/__tests__/useExecutorStats.test.ts | 12 +-
packages/dashboard/app/hooks/useExecutorStats.ts | 50 ++--
.../src/__tests__/project-store-resolver.test.ts | 11 +-
packages/dashboard/src/project-store-resolver.ts | 14 +-
.../register-config-mcp-pi-settings-routes.ts | 3 +-
packages/engine/src/__tests__/concurrency.test.ts | 123 +++++++++-
.../engine/src/__tests__/project-engine.test.ts | 34 +++
packages/engine/src/__tests__/triage.test.ts | 7 +-
packages/engine/src/concurrency.ts | 207 ++++++++++++++++-
packages/engine/src/project-engine.ts | 151 ++++++++++--
packages/engine/src/scheduler.ts | 82 ++++++-
packages/engine/src/triage.ts | 254 +++++++++++++--------
.../lib/dashboard-browser-safe-core-modules.json | 5 +
35 files changed, 991 insertions(+), 394 deletions(-)
Fusion-Task-Id: FN-8453
Fusion-Task-Lineage: 12cfa5df-675d-4fce-b17e-932376544239
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-21 15:30:31 -07:00
gsxdsm
0908e75290
FN-8455: add Calm dashboard color theme
...
Add a persisted Calm theme with slate, sage, and misty light palettes.
- Register Calm across core settings, dashboard selectors, and web/desktop first-paint validators.
- Define Calm theme tokens and selector swatches for dark and light modes.
- Cover persisted selection, previews, and bootstrap validation with tests.
- Document the new theme and add a minor release changeset.
Files changed:
.changeset/fn-8455-calm-theme.md | 7 ++
docs/dashboard-guide.md | 3 +-
docs/settings-reference.md | 2 +-
packages/core/src/__tests__/global-settings.test.ts| 8 ++
packages/core/src/types/execution-and-ui.ts | 2 +
packages/dashboard/app/__tests__/calm-theme.test.ts| 98 ++++++++++++++++++++++
packages/dashboard/app/components/ThemeSelector.css| 14 ++++
packages/dashboard/app/components/__tests__/ThemeDropdown.test.tsx | 22 ++---
packages/dashboard/app/components/__tests__/ThemeSelector.test.tsx | 2 +-
packages/dashboard/app/components/command-center/__tests__/CommandCenterControls.test.tsx | 2 +-
packages/dashboard/app/components/themeOptions.ts | 1 +
packages/dashboard/app/hooks/__tests__/useTheme.test.ts | 12 +++
packages/dashboard/app/index.html | 2 +-
packages/dashboard/app/public/theme-data.css | 86 ++++++++++++++++++-
packages/desktop/src/renderer/index.html | 1 +
15 files changed, 245 insertions(+), 17 deletions(-)
Fusion-Task-Id: FN-8455
Fusion-Task-Lineage: c2c4624e-7012-491d-bd79-d3de570018f7
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-21 15:04:07 -07:00
gsxdsm
527f734ad4
FN-8454: add Aurora dashboard theme
...
Add the Aurora color theme across dashboard and desktop theme surfaces.
- Register Aurora as a selectable global theme with matching UI styles and metadata
- Load Aurora theme data in dashboard and desktop entry points
- Document the theme and cover selection, token, and settings behavior
Files changed:
.changeset/fn-8454-aurora-theme.md | 7 ++
docs/dashboard-guide.md | 3 +-
docs/settings-reference.md | 2 +-
.../core/src/__tests__/global-settings.test.ts | 8 ++
packages/core/src/types/execution-and-ui.ts | 2 +
.../dashboard/app/__tests__/aurora-theme.test.ts | 98 ++++++++++++++++++++++
.../dashboard/app/components/ThemeSelector.css | 14 ++++
.../components/__tests__/ThemeDropdown.test.tsx | 51 ++++++++++-
.../components/__tests__/ThemeSelector.test.tsx | 2 +-
.../__tests__/CommandCenterControls.test.tsx | 2 +-
packages/dashboard/app/components/themeOptions.ts | 1 +
.../dashboard/app/hooks/__tests__/useTheme.test.ts | 12 +++
packages/dashboard/app/index.html | 2 +-
packages/dashboard/app/public/theme-data.css | 91 ++++++++++++++++++++
packages/desktop/src/renderer/index.html | 1 +
15 files changed, 290 insertions(+), 6 deletions(-)
Fusion-Task-Id: FN-8454
Fusion-Task-Lineage: cbae0854-b884-4744-a2fa-f738a71ceb32
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-21 13:28:24 -07:00
gsxdsm
d83fae3fea
fix(FN-8446): keep Copilot banner dismissed
...
Preserve the browser dismissal across successful Copilot login events while retaining re-arm behavior for other OAuth providers.
2026-07-20 22:58:22 -07:00
gsxdsm
606c320c52
fix(FN-8442): make planning generation durable and detailed
...
Generate a reviewable initial plan before clarification, persist generation purpose across refreshes, and surface concrete changes and acceptance criteria with focused refinement choices.
2026-07-20 16:00:11 -07:00
gsxdsm
5dd62fe548
FN-8446: preserve dismissed OAuth re-login banners
...
Keep OAuth re-login dismissals sticky until the matching provider successfully authenticates.
- Preserve dismissed provider IDs across transient healthy auth-status responses.
- Re-arm only the provider identified by an OAuth re-login success event.
- Add Copilot and multi-provider regression coverage plus operator documentation.
- Add a patch changeset for the banner behavior fix.
Files changed:
.changeset/fn-8446-oauth-relogin-dismiss-sticky.md | 7 ++
docs/dashboard-guide.md | 2 +
.../app/components/OAuthReloginBanner.tsx | 30 +++---
.../__tests__/OAuthReloginBanner.test.tsx | 113 +++++++++++++++++++--
4 files changed, 128 insertions(+), 24 deletions(-)
Fusion-Task-Id: FN-8446
Fusion-Task-Lineage: 30574bbc-3efb-4f72-956b-b249d24251c9
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-20 15:41:41 -07:00
gsxdsm
36b3180962
FN-8442: redesign planning mode as sequential Q&A
...
Guide planning through sequential question-and-answer turns before task creation.
- Add plan review, refinement, validation, creation retry, and idempotent task handoff states
- Atomically claim planning-session task creation and reconcile persisted task links
- Replace retired multi-pane planning UI and consolidate focused flow coverage
- Document the sequential planning workflow and mobile behavior
Files changed:
.changeset/fn-8442-planning-sequential-qa.md | 7 +
MOBILE.md | 2 +-
docs/dashboard-guide.md | 9 +-
packages/core/src/async-ai-session-store.ts | 82 +-
packages/core/src/index.ts | 4 +
packages/core/src/types.ts | 5 +
packages/dashboard/app/api/legacy.ts | 4 +-
.../dashboard/app/components/PlanningModeModal.css | 178 +-
.../dashboard/app/components/PlanningModeModal.tsx | 317 +-
.../__tests__/PlanningModeModal.initial.test.tsx | 993 +----
.../PlanningModeModal.planning-flow.test.tsx | 4377 +-------------------
.../PlanningModeModal.ui-interactions.test.tsx | 1276 +-----
.../__tests__/planning-e2e-plan-creation.test.ts | 25 +-
.../dashboard/src/__tests__/planning-infinite-interview.test.ts | 44 +-
.../src/__tests__/routes-planning.test.ts | 119 +-
packages/dashboard/src/ai-session-store.ts | 33 +
packages/dashboard/src/planning.ts | 140 +-
.../src/routes/register-planning-subtask-routes.ts | 132 +-
18 files changed, 649 insertions(+), 7098 deletions(-)
Fusion-Task-Id: FN-8442
Fusion-Task-Lineage: da2f335f-b1c9-411a-8575-31db20a2b8d5
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-20 14:59:22 -07:00
gsxdsm
8c347981e4
FN-8439: align Planning Mode with workflow triage prompts
...
Planning Mode now uses the selected workflow's triage planning template with its interview adapter.
- Resolve planning prompts from workflow seams and explicit overrides
- Pass and persist the selected workflow for planning sessions
- Document the prompt behavior and cover prompt and UI request flow
Files changed:
.../fn-8439-planning-prompt-triage-template.md | 7 ++
docs/dashboard-guide.md | 2 +
packages/core/src/prompt-overrides.ts | 42 +-----------
packages/dashboard/app/api/legacy.ts | 3 +-
.../dashboard/app/components/PlanningModeModal.tsx | 3 +-
.../PlanningModeModal.planning-flow.test.tsx | 10 +++
packages/dashboard/app/utils/builtinPrompts.ts | 4 +-
.../__tests__/planning-prompt-resolution.test.ts | 40 ++++++++++++
packages/dashboard/src/planning.ts | 74 ++++++++++++++++++----
.../src/routes/register-planning-subtask-routes.ts | 18 ++++--
10 files changed, 142 insertions(+), 61 deletions(-)
Fusion-Task-Id: FN-8439
Fusion-Task-Lineage: 1680a0cd-27c8-47f1-8cd2-de808d1404cf
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-20 13:48:04 -07:00
gsxdsm
1d4e8afa7b
FN-8444: include planning time in task metrics
...
Track active planning time alongside execution time for costs, analytics, and task displays.
- Persist planning timing state across task lifecycle transitions and recovery
- Include planning activity in token cost, analytics, and dashboard timing displays
- Add PostgreSQL migration support using the configured migration directory
Files changed:
.changeset/fn-8444-planning-time-cost.md | 7 +++
docs/dashboard-guide.md | 3 ++
docs/task-management.md | 5 ++
packages/core/src/index.ts | 1 +
.../migrations/0029_planning_active_timing.sql | 3 ++
packages/core/src/postgres/schema-applier.ts | 14 ++++-
packages/core/src/postgres/schema/project.ts | 2 +
packages/core/src/productivity-analytics.ts | 29 +++++-----
packages/core/src/store.ts | 2 +-
.../core/src/task-store/archive-lifecycle-2.ts | 2 +
packages/core/src/task-store/moves.ts | 7 +++
packages/core/src/task-store/persistence.ts | 4 ++
packages/core/src/task-store/remaining-ops-2.ts | 2 +-
packages/core/src/task-store/serialization.ts | 7 +++
packages/core/src/task-store/task-row-mappers.ts | 2 +-
packages/core/src/task-store/task-update.ts | 10 ++++
packages/core/src/task-timing.ts | 35 ++++++++++++
packages/core/src/types.ts | 12 +++++
packages/dashboard/app/components/TaskCard.tsx | 13 ++---
.../app/components/TaskTokenStatsPanel.tsx | 6 ++-
.../app/components/__tests__/TaskCard.test.tsx | 17 ++++++
.../app/utils/__tests__/taskTiming.test.ts | 9 +++-
packages/dashboard/app/utils/taskTiming.ts | 14 +++++
packages/dashboard/app/utils/taskTokenCost.ts | 2 +
.../dashboard/src/task-planner-chat-metrics.ts | 14 ++++-
packages/engine/src/__tests__/self-healing.test.ts | 61 +++++++++++++++++++++
packages/engine/src/executor.ts | 50 +++++++++++++++++
packages/engine/src/runtimes/in-process-runtime.ts | 3 ++
packages/engine/src/self-healing.ts | 62 ++++++++++++++++++++++
packages/engine/src/triage.ts | 10 ++++
packages/i18n/locales/en/app.json | 2 +-
packages/i18n/locales/es/app.json | 2 +-
packages/i18n/locales/fr/app.json | 2 +-
packages/i18n/locales/ko/app.json | 2 +-
packages/i18n/locales/zh-CN/app.json | 2 +-
packages/i18n/locales/zh-TW/app.json | 2 +-
36 files changed, 384 insertions(+), 36 deletions(-)
Fusion-Task-Id: FN-8444
Fusion-Task-Lineage: 0178e0a7-3018-4ef4-be9b-6de5f964fb58
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-20 13:40:50 -07:00
gsxdsm
625dbc6c5f
FN-8441: separate planning artifacts from task prompts
...
Persist validated planning output as plan.md while keeping task prompts concise.
- Add a reusable plan.md formatter and export it through core entrypoints.
- Store plan and original-description task documents for planning-created tasks and subtasks.
- Direct triage to derive PROMPT.md from the plan artifact and cover the handoff with tests and documentation.
Files changed:
.changeset/fn-8441-separate-plan-from-prompt.md | 7 ++
docs/dashboard-guide.md | 3 +
.../core/src/__tests__/planning-plan-md.test.ts | 33 ++++++
packages/core/src/index.gate.ts | 1 +
packages/core/src/index.ts | 1 +
packages/core/src/planning-plan-md.ts | 42 +++++++
.../__tests__/planning-e2e-plan-creation.test.ts | 62 +----------
.../src/__tests__/routes-planning.test.ts | 122 ++++++++++++---------
packages/dashboard/src/planning.ts | 12 +-
.../src/routes/register-planning-subtask-routes.ts | 61 ++++++++++-
packages/engine/src/__tests__/triage.test.ts | 17 +++
packages/engine/src/triage.ts | 43 ++++++--
12 files changed, 278 insertions(+), 126 deletions(-)
Fusion-Task-Id: FN-8441
Fusion-Task-Lineage: e6092bf8-9f59-4b6d-abd1-aaa4a566677a
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-20 13:03:13 -07:00
gsxdsm
f9c1620c1e
FN-8438: generate and refine running plans
...
Planning Mode now generates an initial work-product plan and refines it after every answer.
- Prompt both initial agent paths to create a running plan before asking questions
- Provide meaningful fallback summaries and deliverables when model plan fields are absent
- Cover streaming and non-streaming initial-plan behavior and document the refinement contract
Files changed:
.changeset/fn-8438-running-plan-generate-refine.md | 7 ++
docs/dashboard-guide.md | 3 +-
.../__tests__/planning-infinite-interview.test.ts | 76 ++++++++++++++++++++--
packages/dashboard/src/planning.ts | 58 ++++++++++++-----
4 files changed, 122 insertions(+), 22 deletions(-)
Fusion-Task-Id: FN-8438
Fusion-Task-Lineage: 29e155ec-480e-462a-be3d-07ac02d7236b
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-20 12:50:06 -07:00
gsxdsm
8c01cc7c7a
FN-8437: restore Planning Mode sessions after navigation
...
Persist active Planning interviews across embedded navigation while honoring explicit dismissal.
- Store the active Planning session per project and restore it through the existing session loader.
- Clear the saved active session for dismissals and terminal session actions.
- Cover leave-and-return, completed-away, fresh-plan, and dismissed-error flows; document the behavior.
- Add a patch changeset for the Planning session recovery fix.
Files changed:
.changeset/fn-8437-planning-leave-return-restore.md | 7 ++
docs/dashboard-guide.md | 2 +-
packages/dashboard/app/components/PlanningModeModal.tsx | 51 ++++++++++++-
packages/dashboard/app/components/__tests__/PlanningModeModal.planning-flow.test.tsx | 86 ++++++++++++++++++++++
packages/dashboard/app/hooks/__tests__/modalPersistence.test.ts | 18 +++++
packages/dashboard/app/hooks/modalPersistence.ts | 17 +++++
packages/dashboard/app/utils/__tests__/projectStorage.test.ts | 3 +-
packages/dashboard/app/utils/projectStorage.ts | 1 +
8 files changed, 180 insertions(+), 5 deletions(-)
Fusion-Task-Id: FN-8437
Fusion-Task-Lineage: 892aacb6-139e-4487-a40c-1bedd51237ea
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-20 12:09:23 -07:00
gsxdsm
e43dffad52
FN-8434: preserve evolving running plans
...
Keep Planning Mode's running plan as an evolving work product alongside every interview question.
- Carry model-authored running-plan updates through question responses without ending the interview
- Merge partial plan updates with prior title, deliverables, dependencies, size, and priority
- Derive safe fallback summaries without turning interview questions into deliverables
- Cover running-plan persistence and document the contract
Files changed:
.changeset/fn-8434-running-plan-content.md | 7 +
docs/dashboard-guide.md | 2 +-
packages/core/src/types.ts | 6 +
.../PlanningModeModal.planning-flow.test.tsx | 11 +-
.../__tests__/planning-e2e-plan-creation.test.ts | 17 ++-
.../__tests__/planning-infinite-interview.test.ts | 91 +++++++++++-
packages/dashboard/src/planning.ts | 163 ++++++++++++++-------
7 files changed, 232 insertions(+), 65 deletions(-)
Fusion-Task-Id: FN-8434
Fusion-Task-Lineage: cdf1c4ff-fd33-4e4a-84f4-b54a5e0a9cf8
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-20 10:33:59 -07:00
gsxdsm
76822d8c4c
FN-8432: document responsive Planning Mode navigation
...
Clarify and verify tablet tab navigation and mobile list-first Planning Mode behavior.
- Add tablet progressive-tab coverage across interview states.
- Assert mobile saved-session list-first navigation and plan visibility.
- Update mobile and dashboard guidance with the intentional session-selection flow.
- Add a patch changeset for the Planning Mode fix.
Files changed:
.../fn-8432-planning-tablet-mobile-plan-layout.md | 7 ++++
MOBILE.md | 2 +-
docs/dashboard-guide.md | 2 +-
.../PlanningModeModal.planning-flow.test.tsx | 43 +++++++++++++++++++++-
.../PlanningModeModal.ui-interactions.test.tsx | 25 +++++++++++++
5 files changed, 75 insertions(+), 4 deletions(-)
Fusion-Task-Id: FN-8432
Fusion-Task-Lineage: e412069e-87e2-4a61-9556-6908f86b56c5
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-20 10:07:44 -07:00
gsxdsm
087fd8f881
FN-8429: fix live activity snapshot metrics
...
Keep Live activity counts current and project-scoped rather than date-range derived.
- Exclude soft-deleted tasks from live board column totals
- Share SSE-refreshed live snapshots between Overview and Mission Control
- Count all in-progress aliases and current active sessions/runs
- Cover live refresh, date-range independence, and deleted-task behavior
Files changed:
docs/dashboard-guide.md | 2 +-
.../command-center-remaining-analytics.pg.test.ts | 12 ++-
packages/core/src/command-center-live.ts | 15 +++-
.../components/command-center/CommandCenter.tsx | 43 +++-------
.../command-center/MissionControlPanel.tsx | 46 +++++++----
.../__tests__/CommandCenter.test.tsx | 91 ++++++++++++++++++----
.../command-center/liveSnapshotMetrics.ts | 32 ++++++++
7 files changed, 174 insertions(+), 67 deletions(-)
Fusion-Task-Id: FN-8429
Fusion-Task-Lineage: a29a92a1-1d27-4927-9e19-9c42e66a0674
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-20 09:57:38 -07:00
gsxdsm
bd558462ed
FN-8427: restore mobile planning session navigation
...
Restore a full-pane saved-session destination for compact Planning Mode.
- Unmount the running-plan pane while mobile and tablet session lists are open.
- Keep Back and Sessions available from active, completed, and new planning surfaces.
- Cover compact navigation behavior and document the mobile interaction.
Files changed:
.../fn-8427-planning-mobile-session-list-nav.md | 7 ++
MOBILE.md | 2 +-
docs/dashboard-guide.md | 2 +-
.../dashboard/app/components/PlanningModeModal.css | 56 +++++++++++++++-
.../dashboard/app/components/PlanningModeModal.tsx | 33 ++++++---
.../__tests__/PlanningModeModal.css.test.ts | 5 ++
.../PlanningModeModal.ui-interactions.test.tsx | 78 ++++++++++++++++++++++
7 files changed, 167 insertions(+), 16 deletions(-)
Fusion-Task-Id: FN-8427
Fusion-Task-Lineage: 6664d075-0614-4b5a-ba36-34a0ec6a20a3
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-20 09:51:26 -07:00
gsxdsm
8993e912d2
FN-8426: adapt Planning Mode for compact layouts
...
Make Planning Mode usable on mobile, tablet, and short-height layouts.
- Collapse compact Planning interviews into selectable question, plan, and history surfaces.
- Keep Sessions navigation synchronized so returning from the session list restores a visible interview pane.
- Document and test mobile, tablet, and short-landscape behavior.
Files changed:
.../fn-8426-planning-mobile-tablet-layout.md | 7 ++
MOBILE.md | 2 +-
docs/dashboard-guide.md | 2 +-
.../dashboard/app/components/PlanningModeModal.css | 94 ++++++++++++++++++++--
.../dashboard/app/components/PlanningModeModal.tsx | 51 +++++++++++-
.../__tests__/PlanningModeModal.css.test.ts | 17 ++++
.../PlanningModeModal.planning-flow.test.tsx | 36 +++++++++
.../__tests__/PlanningModeModal.test-helpers.ts | 23 ++++++
8 files changed, 220 insertions(+), 12 deletions(-)
Fusion-Task-Id: FN-8426
Fusion-Task-Lineage: 489d6f92-326c-4780-bc85-d28967c7ab35
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-20 09:16:12 -07:00
gsxdsm
8166c80bad
FN-8420: keep Planning Mode interviews open until validation
...
Keep the Planning Mode workspace active until the operator explicitly validates its running plan.
- Preserve the answered-question, current-question, and running-plan panes through stream updates and recoverable states.
- Require durable validation before exposing terminal summaries and task creation actions.
- Make every answer request one new high-impact question and update Planning Mode guidance, coverage, and release notes.
Files changed:
.../fn-8420-planning-mode-user-validation.md | 7 +
docs/dashboard-guide.md | 6 +-
docs/settings-reference.md | 2 +-
.../dashboard/app/components/PlanningModeModal.tsx | 163 +++++++++++++--------
.../__tests__/PlanningModeModal.initial.test.tsx | 20 ++-
.../PlanningModeModal.planning-flow.test.tsx | 99 +++++++++----
.../PlanningModeModal.ui-interactions.test.tsx | 14 ++
.../app/planning-browser-e2e-fixture.html | 5 +
.../dashboard/app/planning-browser-e2e-fixture.tsx | 131 +++++++++++++++++
.../src/__tests__/planning-browser-e2e.test.ts | 115 +++++++++++++++
.../__tests__/planning-infinite-interview.test.ts | 2 +
.../planning-interview-formatters.test.ts | 8 +
packages/dashboard/src/planning.ts | 16 +-
13 files changed, 485 insertions(+), 103 deletions(-)
Fusion-Task-Id: FN-8420
Fusion-Task-Lineage: af88729b-98c1-4141-bad3-a17ddb497181
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-20 02:01:58 -07:00
gsxdsm
e22c65ad11
FN-8397: separate pinned chats and retain failed edits
...
Separate direct-chat session groups and make message edits safely retryable.
- Render explicit Pinned and Recent sections across desktop and mobile chat lists.
- Keep inline message corrections open until edit-and-resend succeeds in Direct and Planner Chat.
- Add localized Recent labels, documentation, release metadata, and regression coverage.
Files changed:
.changeset/fn-8397-chat-pin-separation-and-edit-save.md | 7 +++
docs/dashboard-guide.md | 5 +-
packages/dashboard/app/components/ChatView.css | 10 ++++
packages/dashboard/app/components/ChatView.tsx | 31 ++++++++---
packages/dashboard/app/components/StandardChatSurface.tsx | 35 +++++++++----
packages/dashboard/app/components/TaskPlannerChatTab.tsx | 14 +++--
packages/dashboard/app/components/__tests__/ChatView.core-contracts.test.tsx | 46 +++++++++++++++++
packages/dashboard/app/components/__tests__/ChatView.message-edit.test.tsx | 60 ++++++++++++++++++++--
packages/dashboard/app/components/__tests__/TaskPlannerChatTab.test.tsx | 10 ++--
packages/dashboard/app/hooks/__tests__/useChat.test.ts | 4 +-
packages/dashboard/app/hooks/useChat.ts | 13 +++--
packages/i18n/locales/{en,es,fr,ko,zh-CN,zh-TW}/app.json | 6 +++
17 files changed, 205 insertions(+), 36 deletions(-)
Fusion-Task-Id: FN-8397
Fusion-Task-Lineage: 4dbc664a-56a3-48c7-be9a-febd5f411c9e
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-20 00:42:15 -07:00
gsxdsm
2fe1b996bf
FN-8400: rework Planning Mode into a guided three-pane flow
...
Make planning interviews easier to navigate while keeping the evolving plan and validation actions accessible.
- Show answered questions in an editable navigation pane and keep one clear next-question action.
- Keep the generated plan and validation controls visible throughout planning and recovery.
- Add server validation and localized copy for session title updates.
Files changed:
.changeset/fn-8400-planning-mode-ui.md | 7 +
MOBILE.md | 2 +-
docs/dashboard-guide.md | 6 +-
packages/dashboard/app/api/legacy.ts | 12 +-
.../dashboard/app/components/PlanningModeModal.css | 112 +++--
.../dashboard/app/components/PlanningModeModal.tsx | 408 +++++++++++--------
.../PlanningModeModal.planning-flow.test.tsx | 453 ++++++++-------------
.../PlanningModeModal.ui-interactions.test.tsx | 4 +-
.../src/__tests__/routes-planning.test.ts | 50 +++
packages/dashboard/src/planning.ts | 21 +-
.../src/routes/register-planning-subtask-routes.ts | 26 ++
packages/i18n/locales/en/app.json | 7 +-
packages/i18n/locales/es/app.json | 7 +-
packages/i18n/locales/fr/app.json | 7 +-
packages/i18n/locales/ko/app.json | 7 +-
packages/i18n/locales/zh-CN/app.json | 7 +-
packages/i18n/locales/zh-TW/app.json | 7 +-
packages/i18n/src/resources.d.ts | 5 +
18 files changed, 620 insertions(+), 528 deletions(-)
Fusion-Task-Id: FN-8400
Fusion-Task-Lineage: 032cf0ad-134d-4680-878f-b870eea23cc9
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-19 23:01:44 -07:00
gsxdsm
d4a87accb8
FN-8395: autosave settings changes
...
Settings edits now persist automatically with safe feedback and close handling.
- Debounce and serialize settings persistence, retaining newer edits through in-flight saves and unmounts.
- Remove the Settings Save action and unsaved-changes prompt while flushing pending section and workflow-lane updates.
- Update Settings documentation, release metadata, and regression coverage for auto-save behavior.
Files changed:
.changeset/fn-8395-settings-autosave.md | 7 +
docs/dashboard-guide.md | 11 +-
docs/settings-reference.md | 8 +-
.../dashboard/app/components/SettingsModal.tsx | 402 ++++++++++++++++-----
.../__tests__/SettingsModal.general.test.tsx | 154 ++++++--
.../SettingsModal.keyboardShortcuts.test.tsx | 7 +-
.../__tests__/SettingsModal.models-auth.test.tsx | 46 +--
.../SettingsModal.remote-notifications.test.tsx | 38 +-
.../SettingsModal.scheduling-merge.test.tsx | 58 ++-
.../__tests__/SettingsModal.test-harness.tsx | 9 +-
.../__tests__/SettingsModalNodeRouting.test.tsx | 2 -
.../settings/sections/ProjectModelsSection.tsx | 15 +-
12 files changed, 548 insertions(+), 209 deletions(-)
Fusion-Task-Id: FN-8395
Fusion-Task-Lineage: 77f4c0d3-d0cc-4973-9831-c70eb2a2b49b
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-19 22:16:11 -07:00
gsxdsm
9e962bb670
FN-8415: scrub report file activity traces
...
Scrub file-report activity traces before report pipeline processing.
- Sanitize top-level and nested activity traces before parsing report input.
- Add regressions for trace scrubbing and absent-trace behavior.
- Document the report filing scrub boundary and add a security changeset.
Files changed:
.changeset/fn-8415-report-file-activity-trace-scrub.md | 7 +++++
docs/dashboard-guide.md | 2 +-
packages/dashboard/src/__tests__/report-routes.test.ts | 35 ++++++++++++++++++++++
packages/dashboard/src/routes/register-report-routes.ts | 16 ++++++++--
4 files changed, 56 insertions(+), 4 deletions(-)
Fusion-Task-Id: FN-8415
Fusion-Task-Lineage: 90e42370-1682-42fc-bd53-61bb23da84a8
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-19 21:27:25 -07:00
gsxdsm
a11f789b0c
FN-8327: fall back to issues when Discussions are disabled
...
Reports can select a Discussion category and reliably file to Issues when Discussions are unavailable.
- Add Discussion-disabled detection across GitHub GraphQL operations.
- Let report submission select a category and disclose the actual filing destination.
- Preserve duplicate handling and document the fallback behavior.
Files changed:
.changeset/fn-8327-discussion-fallback.md | 7 +++
docs/dashboard-guide.md | 4 +-
packages/dashboard/app/api/report.ts | 22 +++++--
packages/dashboard/app/components/ReportModal.tsx | 7 ++-
.../app/components/__tests__/ReportModal.test.tsx | 13 ++++
.../src/__tests__/github-discussions.test.ts | 29 +++++++--
.../src/__tests__/report-pipeline.test.ts | 63 ++++++++++++++-----
.../dashboard/src/__tests__/report-routes.test.ts | 15 +++--
packages/dashboard/src/github.ts | 71 ++++++++++++++++------
packages/dashboard/src/report-pipeline.ts | 54 +++++++++++-----
.../dashboard/src/routes/register-report-routes.ts | 12 +++-
11 files changed, 227 insertions(+), 70 deletions(-)
Fusion-Task-Id: FN-8327
Fusion-Task-Lineage: 510d3d4f-ffc9-4167-bee8-7043e0ddbd9c
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-19 20:42:05 -07:00
gsxdsm
f6c788dee4
FN-8409: enable coding tools for dashboard chat agents
...
Enable interactive dashboard chat sessions to use the project coding workspace safely.
- Share the coding tool mode across direct, room, and planner chat sessions.
- Document branch-sticky workspace behavior and durable-agent policy gates.
- Cover coding tool access and prompt guidance with chat tests.
- Add a minor changeset for the published Fusion package.
Files changed:
.changeset/fn-8409-chat-coding-tools.md | 7 +++++
docs/agents.md | 6 +++++
docs/dashboard-guide.md | 2 ++
.../dashboard/src/__tests__/chat-manager.test.ts | 31 +++++++++++++++-------
.../src/__tests__/chat-system-prompt.test.ts | 11 ++++++++
packages/dashboard/src/chat.ts | 12 ++++++---
6 files changed, 56 insertions(+), 13 deletions(-)
Fusion-Task-Id: FN-8409
Fusion-Task-Lineage: ca88794d-a5cf-4852-a931-90f61e3751df
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-19 20:36:27 -07:00
gsxdsm
64c1193d1e
FN-8333: embed report screenshots in GitHub filings
...
Enable opt-in report screenshots to be safely hosted and embedded in filed GitHub reports.
- add GitHub Contents API image upload support and CLI-safe payload handling
- validate and resolve report screenshot artifacts before best-effort Markdown embedding
- cover upload, media access, filing, and report modal behavior with tests
Files changed:
.changeset/github-report-screenshot-embed.md | 7 +++
docs/dashboard-guide.md | 4 +-
packages/core/src/__tests__/gh-cli-input.test.ts | 32 ++++++++++
packages/core/src/gh-cli.ts | 21 ++++++-
.../app/components/__tests__/ReportModal.test.tsx | 5 ++
.../dashboard/src/__tests__/artifact-media.test.ts | 20 ++++++
.../__tests__/github-upload-image-asset.test.ts | 39 ++++++++++++
.../__tests__/report-pipeline-screenshots.test.ts | 67 ++++++++++++++++++++
.../dashboard/src/__tests__/report-routes.test.ts | 36 ++++++++++-
packages/dashboard/src/artifact-media.ts | 32 ++++++++++
packages/dashboard/src/github.ts | 57 +++++++++++++++++
packages/dashboard/src/issue-image-attachments.ts | 6 +-
packages/dashboard/src/report-pipeline.ts | 72 ++++++++++++++++++----
.../dashboard/src/routes/register-report-routes.ts | 29 ++++++---
.../src/routes/register-task-workflow-routes.ts | 24 +-------
15 files changed, 401 insertions(+), 50 deletions(-)
Fusion-Task-Id: FN-8333
Fusion-Task-Lineage: b706810d-2fec-4053-b57a-1128e5c16e94
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-19 18:45:27 -07:00
gsxdsm
18f1cb743a
FN-8308: add selectable GitHub Discussions report targets
...
Enable configurable GitHub Issue or Discussion destinations for in-app reports.
- Add report target and Discussion category settings with localized controls.
- Validate target overrides before Help shortcuts and route them through report filing.
- Discover and validate GitHub Discussion categories through GraphQL.
- Cover target validation on both draft and file routes.
Files changed:
.changeset/fn-8308-report-discussions.md | 7 +++
docs/dashboard-guide.md | 7 +++
.../core/src/__tests__/settings-parity.test.ts | 9 +++
packages/core/src/index.gate.ts | 2 +-
packages/core/src/index.ts | 2 +-
packages/core/src/settings-schema.ts | 4 ++
packages/core/src/types.ts | 10 ++++
packages/dashboard/app/api/report.ts | 13 +++-
packages/dashboard/app/components/ReportModal.tsx | 9 ++-
.../__tests__/SettingsModal.general.test.tsx | 18 ++++++
.../settings/sections/GeneralSection.tsx | 16 ++++-
.../src/__tests__/github-discussions.test.ts | 44 ++++++++++++++
.../src/__tests__/report-pipeline.test.ts | 70 +++++++++++++++++++++-
.../dashboard/src/__tests__/report-routes.test.ts | 19 ++++++
packages/dashboard/src/github.ts | 37 ++++++++++--
packages/dashboard/src/index.ts | 4 +-
packages/dashboard/src/report-pipeline.ts | 41 +++++++++----
.../dashboard/src/routes/register-report-routes.ts | 32 ++++++++--
packages/i18n/locales/en/app.json | 26 +++++++-
packages/i18n/locales/es/app.json | 26 +++++++-
packages/i18n/locales/fr/app.json | 26 +++++++-
packages/i18n/locales/ko/app.json | 26 +++++++-
packages/i18n/locales/zh-CN/app.json | 26 +++++++-
packages/i18n/locales/zh-TW/app.json | 26 +++++++-
24 files changed, 453 insertions(+), 47 deletions(-)
Fusion-Task-Id: FN-8308
Fusion-Task-Lineage: f5ac1b67-ecbc-4765-88c7-c524c7e943bf
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-19 18:37:45 -07:00
gsxdsm
365874f7f9
FN-8406: consolidate Command Center report actions
...
Move the guided report flow to System while ensuring its menu reliably overlays dashboard content.
- Portal the shared ReportActionMenu with a defined dropdown/modal stacking scale.
- Make System the sole Command Center report home and retain Copy diagnostics as a local action.
- Update regression coverage, documentation, and the published package changeset.
Files changed:
.changeset/fn-8406-report-home-zindex.md | 7 ++
docs/dashboard-guide.md | 4 +-
.../dashboard/app/components/ReportActionMenu.css | 5 +-
.../dashboard/app/components/ReportActionMenu.tsx | 72 ++++++++++++-
.../components/__tests__/ReportActionMenu.test.tsx | 12 +++
.../components/command-center/CommandCenter.css | 32 ------
.../components/command-center/CommandCenter.tsx | 59 ++++-------
.../__tests__/CommandCenter.test.tsx | 8 +-
.../__tests__/SystemControlsArea.test.tsx | 94 +----------------
.../command-center/areas/SystemControlsArea.tsx | 112 ++++-----------------
packages/dashboard/app/styles.css | 11 ++
11 files changed, 144 insertions(+), 272 deletions(-)
Fusion-Task-Id: FN-8406
Fusion-Task-Lineage: 957a77b0-fb04-4024-9506-225fec562f5d
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-19 17:39:43 -07:00
gsxdsm
a9c7a6bcc0
FN-8371: store report screenshot artifacts
...
Store opted-in report screenshots as validated local artifacts rather than GitHub attachments.
- Add multipart report attachment upload with PNG/JPEG validation and provenance metadata.
- Carry validated artifact references through report drafts and filing flows without binary egress.
- Update report UI, tests, documentation, and release metadata.
Files changed:
.changeset/report-screenshot-artifacts.md | 7 +
docs/dashboard-guide.md | 2 +-
packages/core/src/index.gate.ts | 2 +-
packages/core/src/index.ts | 2 +-
packages/core/src/types.ts | 7 +
packages/dashboard/app/api/report.ts | 14 +-
packages/dashboard/app/components/ReportModal.css | 3 +-
packages/dashboard/app/components/ReportModal.tsx | 41 ++---
.../app/components/__tests__/ReportModal.test.tsx | 58 +++++--
packages/dashboard/app/utils/report-capture.ts | 47 ++----
.../src/__tests__/report-pipeline.test.ts | 94 ------------
.../dashboard/src/__tests__/report-routes.test.ts | 123 +++++++++++----
packages/dashboard/src/report-pipeline.ts | 128 +++-------------
.../dashboard/src/routes/register-report-routes.ts | 169 +++++++--------------
14 files changed, 279 insertions(+), 418 deletions(-)
Fusion-Task-Id: FN-8371
Fusion-Task-Lineage: 48d0e94d-602f-43e2-a63f-cb497221ac29
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-19 16:44:40 -07:00
gsxdsm
d940bf3d5c
FN-8358: add roadmap-item structure previews
...
Enable native previews and hosted navigation for roadmap items.
- Extend native structure references and API resolution through the roadmap adapter.
- Register the bundled Roadmaps view across desktop and mobile navigation.
- Cover roadmap preview availability, navigation, and route behavior.
Files changed:
...n-8358-roadmap-item-native-structure-preview.md | 7 ++++
docs/dashboard-guide.md | 6 ++--
packages/core/src/types.ts | 24 ++++++++-----
packages/dashboard/app/App.tsx | 24 ++++++++-----
.../dashboard/app/components/LeftSidebarNav.tsx | 12 +++----
.../app/components/NativeStructurePreview.tsx | 10 ++++--
.../app/components/__tests__/App.test.tsx | 13 ++++---
.../app/components/__tests__/Header.test.tsx | 5 ++-
.../components/__tests__/LeftSidebarNav.test.tsx | 5 ++-
.../app/components/__tests__/MobileNavBar.test.tsx | 4 +--
.../__tests__/NativeStructurePreview.test.tsx | 40 ++++++++++++++++------
.../__tests__/registerBundledPluginViews.test.tsx | 24 ++++++++++---
.../app/plugins/registerBundledPluginViews.ts | 23 +++++++++++++
packages/dashboard/src/native-structure-preview.ts | 25 +++++++++++++-
.../native-structure-preview-routes.test.ts | 31 +++++++++++++++--
.../src/routes/register-task-workflow-routes.ts | 4 +--
packages/dashboard/vite.config.ts | 4 +++
packages/dashboard/vitest.config.ts | 4 +++
plugins/fusion-plugin-roadmap/package.json | 5 +++
.../fusion-plugin-roadmap/src/dashboard-view.tsx | 5 +++
plugins/fusion-plugin-roadmap/src/index.ts | 14 ++++++--
21 files changed, 223 insertions(+), 66 deletions(-)
Fusion-Task-Id: FN-8358
Fusion-Task-Lineage: c369ce87-eef0-4d06-bf23-bced9c4363f9
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-19 15:45:45 -07:00
gsxdsm
bea51f7bdb
FN-8348: relocate report actions to settings and command center
...
Relocate guided reporting from the header into durable project and overview surfaces.
- Add Report entry points to Project General settings and Command Center Overview.
- Preserve guided report modal context through a shared route helper.
- Cover relocated controls and update dashboard guidance.
Files changed:
docs/dashboard-guide.md | 2 +-
packages/dashboard/app/components/Header.tsx | 33 ++++------------------
.../dashboard/app/components/SettingsModal.tsx | 2 +-
.../app/components/__tests__/Header.test.tsx | 7 +++++
.../components/command-center/CommandCenter.css | 32 +++++++++++++++++++++
.../components/command-center/CommandCenter.tsx | 30 +++++++++++++++++++-
.../__tests__/CommandCenter.test.tsx | 11 ++++++++
.../settings/sections/GeneralSection.tsx | 21 ++++++++++++++
.../GeneralSection.aiUndoWorkflow.test.tsx | 20 +++++++++++--
packages/dashboard/app/utils/reportContextRefs.ts | 13 +++++++++
10 files changed, 139 insertions(+), 32 deletions(-)
Fusion-Task-Id: FN-8348
Fusion-Task-Lineage: add1b302-deab-4e17-be2f-832971c1c83d
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-19 15:12:23 -07:00
gsxdsm
da1e445d6b
FN-8310: add public-roadmap report deduplication
...
Add public-roadmap issues as a configurable, reviewable deduplication source for in-app reports.
- Resolve roadmap settings across project, global, and tracking-repository fallbacks
- Search and endorse matching open roadmap issues before filing duplicate reports
- Expose and index roadmap controls with localized default descriptions
Files changed:
.changeset/fn-8310-public-roadmap-dedupe.md | 7 ++
docs/dashboard-guide.md | 2 +-
docs/settings-reference.md | 4 +-
.../core/src/__tests__/settings-parity.test.ts | 14 +++-
packages/core/src/settings-schema.ts | 7 +-
packages/core/src/types.ts | 13 +++-
packages/dashboard/app/api/report.ts | 2 +-
packages/dashboard/app/components/ReportModal.tsx | 18 ++---
.../dashboard/app/components/SettingsModal.tsx | 15 +++-
.../app/components/__tests__/ReportModal.test.tsx | 12 ++--
.../__tests__/SettingsModal.general.test.tsx | 6 +-
.../settings/__tests__/section-keys.test.ts | 5 +-
.../app/components/settings/save-split.ts | 14 ++--
.../app/components/settings/section-keys.ts | 5 ++
.../settings/sections/GeneralSection.search.ts | 34 ++++++---
.../settings/sections/GeneralSection.tsx | 29 ++++++--
.../sections/SourceControlGlobalSection.search.ts | 27 +++++++
.../sections/SourceControlGlobalSection.tsx | 55 ++++++++++----
.../settings-default-descriptions.test.tsx | 4 +-
.../src/__tests__/report-pipeline.test.ts | 73 ++++++++++++-------
.../dashboard/src/__tests__/report-routes.test.ts | 23 +++---
packages/dashboard/src/report-pipeline.ts | 84 ++++++++++++++--------
.../dashboard/src/routes/register-report-routes.ts | 9 +--
packages/i18n/locales/en/app.json | 17 ++++-
packages/i18n/locales/es/app.json | 17 ++++-
packages/i18n/locales/fr/app.json | 17 ++++-
packages/i18n/locales/ko/app.json | 17 ++++-
packages/i18n/locales/zh-CN/app.json | 16 ++++-
packages/i18n/locales/zh-TW/app.json | 16 ++++-
29 files changed, 409 insertions(+), 153 deletions(-)
Fusion-Task-Id: FN-8310
Fusion-Task-Lineage: 0efa8d76-e849-4256-bdcd-e9d6dd612e41
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-19 14:51:49 -07:00
gsxdsm
965f15f5ca
FN-8368: enforce browser-safe dashboard core imports
...
Prevent dashboard code from bypassing Vite's browser-safe core boundary.
- Add an allowlist-backed scanner for dashboard core value imports, including dynamic template imports.
- Run the scanner in test and merge-gate prechecks, with regression coverage and import guidance.
- Document reviewed browser-safe core leaves and Vite alias requirements.
Files changed:
docs/dashboard-guide.md | 6 +
package.json | 6 +-
packages/dashboard/vite.config.ts | 5 +
...no-node-only-core-imports-in-dashboard.test.mjs | 80 ++++++++++
...heck-no-node-only-core-imports-in-dashboard.mjs | 167 +++++++++++++++++++++
.../lib/dashboard-browser-safe-core-modules.json | 59 ++++++++
6 files changed, 320 insertions(+), 3 deletions(-)
Fusion-Task-Id: FN-8368
Fusion-Task-Lineage: 13e70672-d1da-430c-a360-0a714ad33d9f
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-19 14:08:51 -07:00
gsxdsm
e30f6d851f
FN-8293: add native structure drag-and-draft mail composition
...
Mail composers can attach native structures by drag-and-drop and generate report narratives with AI.
- Add a shared native-structure drag protocol and attachable previews across Mail source views.
- Add a disposable compose-chat panel that drafts narratives around attached embeds.
- Cover drag behavior and compose-chat session lifecycle, and document the Mail interaction.
Files changed:
.changeset/fn-8293-mail-drag-compose-chat.md | 7 ++
docs/dashboard-guide.md | 3 +
.../dashboard/app/components/ComposeChatPanel.css | 33 ++++++
.../dashboard/app/components/ComposeChatPanel.tsx | 117 +++++++++++++++++++++
packages/dashboard/app/components/EvalsView.tsx | 3 +-
packages/dashboard/app/components/GoalsView.tsx | 6 ++
packages/dashboard/app/components/InsightsView.tsx | 8 +-
.../dashboard/app/components/MessageComposer.css | 22 ++++
.../dashboard/app/components/MessageComposer.tsx | 92 ++++++++++++++--
.../dashboard/app/components/MissionManager.tsx | 11 +-
.../components/__tests__/ComposeChatPanel.test.tsx | 102 ++++++++++++++++++
.../components/__tests__/MessageComposer.test.tsx | 25 +++++
.../utils/__tests__/nativeStructureDrag.test.ts | 56 ++++++++++
.../dashboard/app/utils/nativeStructureDrag.ts | 54 ++++++++++
14 files changed, 525 insertions(+), 14 deletions(-)
Fusion-Task-Id: FN-8293
Fusion-Task-Lineage: 9864e76c-2a0d-41f6-b7f2-de8dd63710b5
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-18 20:30:42 -07:00
gsxdsm
cf3f5e9bf0
FN-8292: embed native structures in mail messages
...
Embed selected native project structures directly in mailbox messages and drafts.
- Persist native structure embeds in message metadata and expose their shared types.
- Add composer selection, mailbox rendering, previews, and dashboard navigation for linked structures.
- Cover metadata persistence and mailbox embed behavior with core and dashboard tests.
Files changed:
.changeset/fn-8292-mail-native-structure-embeds.md | 7 ++
docs/dashboard-guide.md | 1 +
.../message-metadata-native-structures.test.ts | 25 +++++++
.../__tests__/postgres/message-store.pg.test.ts | 21 ++++++
packages/core/src/index.ts | 2 +-
packages/core/src/types.ts | 32 +++++++++
packages/core/src/types/messages.ts | 14 ++++
packages/dashboard/app/components/MailboxModal.css | 29 ++++++++
packages/dashboard/app/components/MailboxModal.tsx | 13 +++-
.../components/MailboxNativeStructureEmbeds.tsx | 37 ++++++++++
packages/dashboard/app/components/MailboxView.tsx | 14 +++-
.../dashboard/app/components/MessageComposer.tsx | 65 ++++++++++++++++--
.../app/components/NativeStructurePreview.tsx | 6 +-
.../__tests__/MailboxModal.cache.test.tsx | 8 +--
.../app/components/__tests__/MailboxModal.test.tsx | 9 +++
.../MailboxNativeStructureEmbeds.test.tsx | 42 ++++++++++++
.../app/components/__tests__/MailboxView.test.tsx | 9 +++
.../components/__tests__/MessageComposer.test.tsx | 25 +++++++
.../app/components/dashboard/MainContent.tsx | 78 +++++++++++++++++++++-
.../MainContent.mailbox-view-task.test.tsx | 46 ++++++++++++-
20 files changed, 459 insertions(+), 24 deletions(-)
Fusion-Task-Id: FN-8292
Fusion-Task-Lineage: ae6cfb9c-a764-407c-bd45-cfd879ccdd3e
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-18 19:45:08 -07:00
gsxdsm
bc4b679598
FN-8291: add inline native structure previews to chat
...
Enable chat users to inspect and open referenced native structures inline.
- Render clickable inline previews for native structure references across chat surfaces.
- Route preview actions to their corresponding task, mission, goal, and other dashboard views.
- Add regression coverage, dashboard documentation, and a CLI changeset.
Files changed:
...fn-8291-chat-native-structure-inline-preview.md | 7 +
docs/dashboard-guide.md | 5 +-
packages/dashboard/app/App.tsx | 31 +++
.../app/components/StandardChatSurface.tsx | 226 ++++++++++++++++--
...andardChatSurface.nativeStructureEmbed.test.tsx | 257 +++++++++++++++++++++
.../__tests__/nativeStructureChatRef.test.ts | 54 +++++
.../app/components/nativeStructureChatRef.ts | 58 +++++
.../app/components/nativeStructureNavigation.ts | 21 ++
8 files changed, 635 insertions(+), 24 deletions(-)
Fusion-Task-Id: FN-8291
Fusion-Task-Lineage: 9db2c0fa-494e-4779-93f3-3309eed8565a
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-18 19:36:57 -07:00
gsxdsm
12aee016ee
FN-8352: promote ideation to top-level navigation
...
Make ideation independently accessible from desktop and mobile navigation.
- Add an Ideation view backed by the Command Center panel and view-state routing.
- Surface Ideation in desktop/sidebar and mobile primary navigation, with coverage for navigation and rendering.
- Document the experimental setting and add a minor changeset.
Files changed:
.changeset/fn-8352-ideation-top-level-view.md | 7 ++++
docs/dashboard-guide.md | 14 +++++++
docs/settings-reference.md | 3 +-
.../src/__tests__/mobile-nav-primary-items.test.ts | 10 ++++-
packages/core/src/mobile-nav-primary-items.ts | 17 +++++++-
packages/dashboard/app/App.tsx | 16 ++++++-
packages/dashboard/app/components/Header.tsx | 21 +++++++--
.../dashboard/app/components/LeftSidebarNav.tsx | 8 +++-
packages/dashboard/app/components/MobileNavBar.tsx | 2 +
.../dashboard/app/components/SettingsModal.tsx | 6 +++
.../app/components/__tests__/App.test.tsx | 20 +++++++++
.../app/components/__tests__/Header.test.tsx | 15 +++++++
.../components/__tests__/LeftSidebarNav.test.tsx | 5 +++
.../app/components/__tests__/MobileNavBar.test.tsx | 43 +++++++++++++++---
.../components/command-center/CommandCenter.tsx | 12 +++---
.../__tests__/CommandCenter.test.tsx | 7 ++--
.../__tests__/IdeationPanel.test.tsx | 49 ++++++++++++++++++++++
.../app/components/dashboard/MainContent.tsx | 13 ++++++
.../dashboard/app/components/dashboard/types.ts | 1 +
.../settings/sections/GeneralSection.tsx | 10 ++---
packages/dashboard/app/hooks/useViewState.ts | 8 +++-
21 files changed, 256 insertions(+), 31 deletions(-)
Fusion-Task-Id: FN-8352
Fusion-Task-Lineage: e7791119-2fe5-4e68-b669-0e5bd8df9b49
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-18 19:18:57 -07:00
gsxdsm
482dbe77a4
FN-8340: preserve Quick Chat layout on restore
...
Keep minimized Quick Chat mounted and layout-stable for instant restores.
- Hide retained floating windows with visibility and disable pointer interaction
- Cover conversation-load, session, and scroll retention across desktop and mobile restores
- Document the retained Quick Chat behavior
Files changed:
docs/dashboard-guide.md | 2 +-
packages/dashboard/app/components/FloatingWindow.css | 12 +++--
packages/dashboard/app/components/FloatingWindow.tsx | 9 ++--
packages/dashboard/app/components/__tests__/FloatingWindow.test.tsx | 4 ++
packages/dashboard/app/components/__tests__/QuickChat.persist.test.tsx | 58 +++++++++++++++++-----
5 files changed, 63 insertions(+), 22 deletions(-)
Fusion-Task-Id: FN-8340
Fusion-Task-Lineage: 25027098-b89a-481c-bf00-de64cf302628
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-18 19:11:56 -07:00
gsxdsm
0cba6fa56a
FN-8351: move org portability controls to Team
...
Move organization export and import from Overview to the Team section.
- Render the existing portability controls in TeamArea with the established settings refresh flow
- Remove the Overview mount and update focused placement coverage
- Document the Team-tab location and add a patch changeset
Files changed:
.changeset/fn-8351-org-portability-team-tab.md | 7 +++
docs/dashboard-guide.md | 3 +-
.../command-center/CommandCenterControls.tsx | 6 +-
.../__tests__/CommandCenterControls.test.tsx | 15 ++---
.../components/command-center/areas/TeamArea.tsx | 8 +++
.../areas/__tests__/TeamArea.test.tsx | 66 ++++++++++++++++++++++
6 files changed, 91 insertions(+), 14 deletions(-)
Fusion-Task-Id: FN-8351
Fusion-Task-Lineage: 3877a8ec-f307-4da5-88bb-806e1428d14a
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-18 18:53:02 -07:00
gsxdsm
9f44f26a36
FN-8350: move configuration versions into Settings
...
Move project configuration revision history and rollback controls from Command Center to Settings.
- Add a Project Settings configuration versions section with rollback handling.
- Remove the Command Center revision card and retain organization portability controls.
- Update translations, dashboard documentation, tests, and release metadata.
Files changed:
.changeset/fn-8350-config-versions-settings.md | 7 ++
docs/dashboard-guide.md | 3 +-
.../dashboard/app/components/SettingsModal.tsx | 11 ++++
.../command-center/OrgPortabilityControls.css | 47 ++------------
.../command-center/OrgPortabilityControls.tsx | 55 +---------------
.../__tests__/CommandCenter.mobile-scroll.test.tsx | 2 +-
.../__tests__/OrgPortabilityControls.test.tsx | 37 ++---------
.../sections/ConfigurationVersionsSection.css | 56 ++++++++++++++++
.../sections/ConfigurationVersionsSection.tsx | 75 ++++++++++++++++++++++
.../ConfigurationVersionsSection.test.tsx | 58 +++++++++++++++++
packages/i18n/locales/en/app.json | 29 +++++----
11 files changed, 238 insertions(+), 142 deletions(-)
Fusion-Task-Id: FN-8350
Fusion-Task-Lineage: a7f68720-038a-42a6-b064-38533c584492
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-18 18:45:16 -07:00
gsxdsm
38891bfd81
FN-8296: add chat-requested task verification
...
Enable chat agents to queue and monitor executor-owned verification runs.
- Persist task verification requests through a new PostgreSQL migration.
- Expose action-gated chat request and status tools with executor processing.
- Show verification status in task and Command Center views.
- Advance the schema baseline to migration 0024 and keep chat mocks complete.
Files changed:
.changeset/fn-8296-feature.md | 7 ++
docs/agent-tool-surface-full-loop.md | 10 +--
docs/dashboard-guide.md | 4 +
packages/core/src/index.ts | 2 +
.../core/src/postgres/migrations/0000_initial.sql | 20 +++++
.../migrations/0024_task_verification_request.sql | 20 +++++
packages/core/src/postgres/schema-applier.ts | 13 ++-
packages/core/src/postgres/schema/project.ts | 25 ++++++
packages/core/src/store.ts | 16 +++-
packages/core/src/task-store/reads.ts | 14 +++-
packages/core/src/task-store/remaining-ops-6.ts | 49 ++++++++++-
packages/core/src/types.ts | 30 +++++++
packages/dashboard/app/api/legacy.ts | 1 +
packages/dashboard/app/api/task-content.ts | 10 +++
.../dashboard/app/components/TaskDetailModal.tsx | 17 +++-
.../app/components/TaskVerificationStatus.css | 94 ++++++++++++++++++++++
.../app/components/TaskVerificationStatus.tsx | 39 +++++++++
.../__tests__/TaskVerificationStatus.test.tsx | 28 +++++++
.../components/command-center/CommandCenter.css | 33 ++++++++
.../components/command-center/CommandCenter.tsx | 37 ++++++++-
packages/dashboard/src/__tests__/chat.test.ts | 1 +
packages/dashboard/src/chat.ts | 55 +++++++++++++
.../src/routes/register-command-center-routes.ts | 20 +++++
.../src/routes/register-task-workflow-routes.ts | 17 ++++
packages/engine/src/executor.ts | 51 +++++++++++-
packages/engine/src/gating-classifications.ts | 5 ++
packages/engine/src/index.ts | 2 +-
27 files changed, 605 insertions(+), 15 deletions(-)
Fusion-Task-Id: FN-8296
Fusion-Task-Lineage: f94647cf-c89f-4f0e-b25f-cbf5b56683bc
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-18 18:38:47 -07:00
gsxdsm
e2b5532290
FN-8288: add native structure preview foundation
...
Provide reusable, typed previews for native dashboard structures.
- Define five-kind native structure references and preview payloads.
- Add project-scoped preview resolution API with unavailable states and capped excerpts.
- Add a callback-driven inline preview card, tests, documentation, and release note.
Files changed:
.changeset/fn-8288-native-structure-preview.md | 7 ++
docs/dashboard-guide.md | 4 +
packages/core/src/index.gate.ts | 2 +-
packages/core/src/index.ts | 1 +
packages/core/src/types.ts | 54 ++++++++++
packages/dashboard/app/api/legacy.ts | 1 +
packages/dashboard/app/api/task-content.ts | 13 ++-
.../app/components/NativeStructurePreview.css | 61 +++++++++++
.../app/components/NativeStructurePreview.tsx | 115 +++++++++++++++++++++
.../__tests__/NativeStructurePreview.test.tsx | 102 ++++++++++++++++++
packages/dashboard/src/native-structure-preview.ts | 88 ++++++++++++++++
.../native-structure-preview-routes.test.ts | 102 ++++++++++++++++++
.../src/routes/register-task-workflow-routes.ts | 23 +++++
13 files changed, 571 insertions(+), 2 deletions(-)
Fusion-Task-Id: FN-8288
Fusion-Task-Lineage: 1a4ce369-9f9e-4a45-b533-2d53b5f1020c
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-18 18:11:02 -07:00
gsxdsm
4cc8002c97
FN-8341: rework planning interviews for reactive validation
...
Make planning interviews user-controlled and context-aware from validation through task creation.
- Replace fixed-depth and deepening checkpoints with reactive follow-up questions
- Add explicit planning validation and require it before creating or breaking down work
- Expose validation through the API, CLI, routes, types, documentation, and release notes
- Update localized copy and PlanningModeModal mocks and assertions for the revised workflow
Files changed:
.changeset/fn-8341-deepening-checkpoint-removal.md | 7 +
.changeset/fn-8341-planning-reactive-backend.md | 7 +
docs/dashboard-guide.md | 8 +-
packages/cli/src/commands/task.ts | 12 +-
packages/core/src/index.gate.ts | 2 +-
packages/core/src/index.ts | 2 +-
packages/core/src/types.ts | 38 +-
packages/dashboard/app/api/legacy.ts | 15 +-
.../dashboard/app/components/PlanningModeModal.tsx | 192 +-----
.../__tests__/PlanningModeModal.autosize.test.tsx | 4 +
.../__tests__/PlanningModeModal.initial.test.tsx | 50 +-
.../PlanningModeModal.planning-flow.test.tsx | 442 +------------
.../__tests__/PlanningModeModal.test-helpers.ts | 1 +
.../PlanningModeModal.ui-interactions.test.tsx | 3 +
.../__tests__/planning-infinite-interview.test.ts | 221 +++++++
packages/dashboard/src/planning.ts | 711 ++++++---------------
.../src/routes/register-planning-subtask-routes.ts | 64 +-
packages/i18n/locales/en/app.json | 1 -
packages/i18n/locales/es/app.json | 1 -
packages/i18n/locales/fr/app.json | 1 -
packages/i18n/locales/ko/app.json | 1 -
packages/i18n/locales/zh-CN/app.json | 1 -
packages/i18n/locales/zh-TW/app.json | 1 -
23 files changed, 536 insertions(+), 1249 deletions(-)
Fusion-Task-Id: FN-8341
Fusion-Task-Lineage: 102f88af-2675-43f5-8e08-5403a0e17da8
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-18 17:53:20 -07:00
gsxdsm
7e7c3c999b
FN-8317: add reviewed report screenshots and activity traces
...
Capture optional report context while preserving scrubbed text-first filing.\n\n- Add browser screenshot capture, review, validation, and compensating upload cleanup.\n- Include bounded activity traces in report drafts and filing flows.\n- Preserve roadmap deduplication and document report privacy behavior.\n\nFiles changed:\n .changeset/fn-8317-report-context.md | 7 +
docs/dashboard-guide.md | 4 +-
packages/dashboard/app/api/report.ts | 15 +-
packages/dashboard/app/components/ReportModal.css | 5 +-
packages/dashboard/app/components/ReportModal.tsx | 52 +++----
.../app/components/__tests__/ReportModal.test.tsx | 14 ++
packages/dashboard/app/hooks/useViewState.ts | 7 +
.../app/utils/__tests__/report-capture.test.ts | 17 +++
packages/dashboard/app/utils/report-capture.ts | 47 +++++++
packages/dashboard/package.json | 1 -
.../src/__tests__/report-pipeline.test.ts | 100 +++++++++++++-
.../dashboard/src/__tests__/report-routes.test.ts | 17 +++
.../dashboard/src/__tests__/report-scrub.test.ts | 8 ++
packages/dashboard/src/github.ts | 107 +++++++++++++++
packages/dashboard/src/report-pipeline.ts | 152 ++++++++++++++++-----
packages/dashboard/src/report-scrub.ts | 8 ++
.../dashboard/src/routes/register-report-routes.ts | 103 ++++++--------
pnpm-lock.yaml | 129 +++++++++--------
18 files changed, 590 insertions(+), 203 deletions(-)
Fusion-Task-Id: FN-8317
Fusion-Task-Lineage: 9d200cee-cf69-4827-9e1e-f7789adf09e0
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-18 17:06:34 -07:00
gsxdsm
1215c76d9a
FN-8326: add roadmap report deduplication
...
Add an optional public-roadmap source for report deduplication.
- Add project settings and localized controls for roadmap matching.
- Resolve roadmap entries through the plugin API and stop strong duplicate reports before filing.
- Cover report pipeline, route, UI, and roadmap store behavior with tests.
Files changed:
.changeset/fn-8326-roadmap-report-dedup.md | 7 +++
docs/dashboard-guide.md | 2 +
docs/settings-reference.md | 1 +
.../core/src/__tests__/settings-parity.test.ts | 3 +
packages/core/src/settings-schema.ts | 1 +
packages/core/src/types.ts | 6 ++
packages/dashboard/app/components/ReportModal.tsx | 11 +++-
.../app/components/__tests__/ReportModal.test.tsx | 14 +++++
.../__tests__/SettingsModal.general.test.tsx | 2 +
.../settings/sections/GeneralSection.tsx | 10 ++++
.../settings-default-descriptions.test.tsx | 1 +
.../src/__tests__/report-pipeline.test.ts | 31 +++++++++++
.../src/__tests__/report-roadmap-source.test.ts | 32 +++++++++++
.../dashboard/src/__tests__/report-routes.test.ts | 27 +++++++--
packages/dashboard/src/index.ts | 1 +
packages/dashboard/src/report-pipeline.ts | 36 +++++++++++-
packages/dashboard/src/report-roadmap-source.ts | 64 ++++++++++++++++++++++
.../dashboard/src/routes/register-report-routes.ts | 3 +
packages/i18n/locales/en/app.json | 10 +++-
packages/i18n/locales/es/app.json | 10 +++-
packages/i18n/locales/fr/app.json | 10 +++-
packages/i18n/locales/ko/app.json | 10 +++-
packages/i18n/locales/zh-CN/app.json | 10 +++-
packages/i18n/locales/zh-TW/app.json | 10 +++-
.../src/__tests__/roadmap-store-factory.test.ts | 25 +++++++++
.../src/routes/roadmap-routes.ts | 24 +-------
plugins/fusion-plugin-roadmap/src/server/index.ts | 34 ++++++++++++
27 files changed, 360 insertions(+), 35 deletions(-)
Fusion-Task-Id: FN-8326
Fusion-Task-Lineage: e9731c3f-dd92-44ac-910b-0e0efbaaf288
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-18 14:23:14 -07:00