gsxdsm
d0a369e34d
FN-7218: default the task sidebar to active work
...
Default the right-dock task sidebar to active work and make task-detail navigation reversible.
- Filter the dock Tasks list to hide done tasks by default while keeping archived tasks out of the compact sidebar.
- Add a Show Done toggle, updated empty states, and styling for the compact controls.
- Convert the task-detail header arrow into an accessible back button that uses the existing close-detail path.
- Document the sidebar behavior, add a patch changeset, and cover the active/default/back-button flows in tests.
Files changed:
.changeset/fn-7218-task-sidebar-active-list.md | 7 ++
docs/dashboard-guide.md | 5 +-
packages/dashboard/app/components/DockTaskList.css | 37 +++++++++
packages/dashboard/app/components/DockTaskList.tsx | 53 ++++++++++---
packages/dashboard/app/components/RightDock.tsx | 17 ++++-
.../app/components/__tests__/DockTaskList.test.tsx | 89 ++++++++++++++++++++--
.../app/components/__tests__/RightDock.test.tsx | 69 ++++++++++++-----
7 files changed, 239 insertions(+), 38 deletions(-)
Fusion-Task-Id: FN-7218
Fusion-Task-Lineage: ce8fe55e-a89e-4ca6-940e-2ca06c3c26df
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-28 21:10:28 -07:00
gsxdsm
f3d9bfb27b
FN-7210: add right-dock Tasks tab
...
Add a first-class Tasks panel to the right dock while preserving Files as the default dock view.
- Register a Tasks overflow view with a compact dock task list and empty state.
- Anchor in-dock task detail to the Tasks tab so tab switches preserve the last-viewed task snapshot.
- Update right-dock controller wiring, tests, docs, and changesets for the new dock task surface.
Files changed:
...210-recover-completed-incomplete-steps-guard.md | 2 +-
.changeset/fn-7210-right-dock-tasks-tab.md | 7 ++
docs/dashboard-guide.md | 7 +-
packages/dashboard/app/components/DockTaskList.css | 36 +++++++
packages/dashboard/app/components/DockTaskList.tsx | 58 +++++++++++
packages/dashboard/app/components/RightDock.tsx | 26 ++++-
.../app/components/__tests__/DockTaskList.test.tsx | 48 ++++++++++
.../app/components/__tests__/RightDock.test.tsx | 106 +++++++++++++++++----
.../__tests__/overflowViewRegistry.test.tsx | 5 +-
.../app/components/overflowViewRegistry.tsx | 26 ++++-
.../app/components/useRightDockController.tsx | 7 +-
11 files changed, 298 insertions(+), 30 deletions(-)
Fusion-Task-Id: FN-7210
Fusion-Task-Lineage: 27468cc2-6ce9-46cc-a27e-cf5f49e93c40
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-28 20:11:43 -07:00
gsxdsm
d87db1490e
FN-7215: compact task chat tool summaries
...
Compact task-detail chat tool-call history so collapsed summaries stay scannable.
- Tighten collapsed tool-call summary styling to one-line, ellipsis-friendly rows on desktop and mobile.
- Preserve count, deduped tool names, overflow, and error indicators while keeping expanded details dense.
- Document the compact task chat behavior and add regression coverage against regular Chat styling.
Files changed:
.changeset/fn-7215-compact-task-chat-tools.md | 7 +++
docs/dashboard-guide.md | 2 +-
packages/dashboard/app/components/TaskChatTab.css | 63 +++++++++++++++-------
packages/dashboard/app/components/TaskChatTab.tsx | 4 ++
.../app/components/__tests__/TaskChatTab.test.tsx | 50 ++++++++++++++++-
5 files changed, 105 insertions(+), 21 deletions(-)
Fusion-Task-Id: FN-7215
Fusion-Task-Lineage: 0cec8c11-1539-4c11-96d9-ec5a7936862b
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-28 20:02:14 -07:00
gsxdsm
013d50fe8b
FN-7206: add Anthropic API-key authentication
...
Add Anthropic API-key authentication alongside the existing OAuth flow.
- Expose Anthropic as a built-in API-key provider without hiding its OAuth controls.
- Render dual-auth Anthropic cards in Settings and model onboarding with key hints, save, and clear actions.
- Cover API status, CLI provider classification, desktop/mobile settings, and onboarding flows with tests and docs.
Files changed:
.changeset/fn-7206-anthropic-api-key.md | 7 +
docs/dashboard-guide.md | 2 +
docs/settings-reference.md | 4 +
.../src/commands/__tests__/provider-auth.test.ts | 51 ++++---
packages/cli/src/commands/provider-auth.ts | 10 +-
packages/dashboard/app/api/legacy.ts | 2 +
.../app/components/ModelOnboardingModal.tsx | 121 +++++++++++++++-
.../__tests__/AuthenticationSection.test.tsx | 141 +++++++++++++++++++
.../__tests__/SettingsModal.models-auth.test.tsx | 51 +++++++
.../__tests__/SettingsModal.test-harness.tsx | 2 +
.../components/__tests__/onboarding-flow.test.tsx | 28 ++++
.../components/__tests__/settings-mobile.test.tsx | 16 ++-
.../settings/sections/AuthenticationSection.tsx | 153 ++++++++++-----------
.../dashboard/src/__tests__/routes-auth.test.ts | 70 ++++++++++
.../dashboard/src/routes/register-auth-routes.ts | 17 ++-
15 files changed, 569 insertions(+), 106 deletions(-)
Fusion-Task-Id: FN-7206
Fusion-Task-Lineage: 3559b7ea-47c6-4f8c-9aa1-5318f47ce07e
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-28 17:03:11 -07:00
gsxdsm
befb49b1e6
FN-7204: make narrow chat messages full width
...
Narrow chat surfaces now let messages span their constrained container width.
- Add a ChatView container query that makes all message variants full-width in narrow hosts such as Quick Chat popups and the right dock.
- Update the mobile bubble cap to full width while preserving tablet assistant widening and desktop caps.
- Cover the responsive CSS contracts in dashboard tests and document the behavior with a patch changeset.
Files changed:
.changeset/fn-7204-full-width-chat-messages.md | 7 +++++++
docs/dashboard-guide.md | 6 +++---
packages/dashboard/app/components/ChatView.css | 12 +++++++++++-
.../__tests__/ChatView.core-contracts.test.tsx | 20 +++++++++++++++++---
.../components/__tests__/ChatView.mobile.test.tsx | 4 ++--
5 files changed, 40 insertions(+), 9 deletions(-)
Fusion-Task-Id: FN-7204
Fusion-Task-Lineage: 19da0d46-f0bf-46e7-9f87-900c5184f378
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-28 14:56:52 -07:00
gsxdsm
6cf6ad3bd2
FN-7202: add Quick Chat outside-click dismissal setting
...
Add a project setting that lets operators keep Quick Chat open until explicitly closed.
- Add quickChatCloseOnOutsideClick to project settings defaults, schema, types, and app settings hook.
- Wire the Quick Chat floating window to honor the setting while preserving default outside-click dismissal.
- Add a Settings > General toggle, documentation, release changeset, and coverage for defaults, settings loading, modal form, and floating-window behavior.
Files changed:
.../fn-7202-quick-chat-outside-click-setting.md | 7 +++
docs/dashboard-guide.md | 2 +-
docs/settings-reference.md | 1 +
.../core/src/__tests__/settings-defaults.test.ts | 13 +++++
packages/core/src/settings-schema.ts | 5 ++
packages/core/src/types.ts | 6 +++
packages/dashboard/app/App.tsx | 6 ++-
.../components/__tests__/FloatingWindow.test.tsx | 13 +++++
.../__tests__/SettingsModal.general.test.tsx | 8 +++
.../settings/sections/GeneralSection.tsx | 9 ++++
.../app/hooks/__tests__/useAppSettings.test.ts | 62 ++++++++++++++++++++++
packages/dashboard/app/hooks/useAppSettings.ts | 5 ++
12 files changed, 135 insertions(+), 2 deletions(-)
Fusion-Task-Id: FN-7202
Fusion-Task-Lineage: 4d52ea30-6475-404e-b1b9-28e8e581005c
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-28 13:17:33 -07:00
gsxdsm
4405dec310
FN-7187: re-engage executors from in-review chat
...
Route user comments on in-review tasks through the executor re-engagement path.
- Reuse review-address re-engagement for Chat steering and Comments-tab user comments.
- Suppress re-engagement for open PR blockers, live sessions, and non-user task comments.
- Cover the in-review comment wake behavior with dashboard route tests and operator docs.
Files changed:
.changeset/fn-7187-in-review-chat-reengage.md | 7 +
docs/dashboard-guide.md | 2 +-
.../src/__tests__/routes-tasks-ops.test.ts | 236 +++++++++++++++++++++
.../src/routes/register-task-workflow-routes.ts | 138 +++++++++---
4 files changed, 351 insertions(+), 32 deletions(-)
Fusion-Task-Id: FN-7187
Fusion-Task-Lineage: f0984ede-4038-439a-a8b4-5d6ed6756c40
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-28 02:47:38 -07:00
gsxdsm
a0602d0d26
FN-7169: Open board tasks in the right sidebar
...
Add a default-off project setting that routes board task-card opens into the right dock when available.
- Add the openTasksInRightSidebar project setting, defaults, docs, and release changeset.
- Wire Appearance settings to save the toggle and refresh embedded settings closes.
- Render board-opened task detail inside the right dock with mobile/dock-inactive fallback to the full panel.
- Cover the setting defaults, board routing, right-dock task surface, and Appearance toggle with tests.
Files changed:
.changeset/fn-7169-open-tasks-in-right-sidebar.md | 7 ++
docs/dashboard-guide.md | 2 +
docs/settings-reference.md | 1 +
.../core/src/__tests__/settings-defaults.test.ts | 13 +++
packages/core/src/settings-schema.ts | 1 +
packages/core/src/types.ts | 7 ++
packages/dashboard/app/App.tsx | 29 +++++-
.../__tests__/App.openTasksInRightSidebar.test.ts | 16 +++
packages/dashboard/app/components/RightDock.tsx | 41 ++++++--
.../dashboard/app/components/SettingsModal.tsx | 1 +
.../app/components/__tests__/RightDock.test.tsx | 109 +++++++++++++++++++++
.../app/components/dashboard/MainContent.tsx | 13 ++-
.../__tests__/MainContent.graph-popout.test.tsx | 29 ++++++
.../dashboard/app/components/dashboard/types.ts | 2 +
.../settings/sections/AppearanceSection.tsx | 9 +-
.../sections/__tests__/AppearanceSection.test.tsx | 63 ++++++++++++
.../app/components/useRightDockController.tsx | 64 +++++++++++-
packages/dashboard/app/hooks/useAppSettings.ts | 5 +
packages/dashboard/vitest.config.ts | 1 +
19 files changed, 397 insertions(+), 16 deletions(-)
Fusion-Task-Id: FN-7169
Fusion-Task-Lineage: b135a1ac-b661-4774-9a04-91aaf5184394
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-28 02:17:25 -07:00
gsxdsm
9050ee1a42
FN-7185: add PR feedback addressing action
...
Add a dashboard action that starts an AI pass for actionable pull-request review feedback.
- Add a lifecycle route that validates linked PR tasks, seeds a ce-resolve-pr-feedback steering prompt, returns in-review tasks to active work, and wakes assigned agents when needed.
- Add shared PR feedback gating plus task-card and Review tab buttons with loading states, toasts, styling, docs, and translations.
- Cover the route, API client, task card, and Review tab behavior with regression tests.
Files changed:
.changeset/fn-7185-address-pr-feedback.md | 7 +
docs/dashboard-guide.md | 1 +
packages/dashboard/app/__tests__/api-tasks.test.ts | 12 ++
packages/dashboard/app/api/legacy.ts | 11 ++
packages/dashboard/app/components/TaskCard.css | 7 +-
packages/dashboard/app/components/TaskCard.tsx | 44 +++++-
.../dashboard/app/components/TaskReviewTab.tsx | 41 ++++-
.../app/components/__tests__/TaskCard.test.tsx | 164 +++++++++++++++++++-
.../components/__tests__/TaskReviewTab.test.tsx | 127 ++++++++++++++++
packages/dashboard/app/utils/prFeedback.ts | 22 +++
.../dashboard/src/__tests__/routes-tasks.test.ts | 165 +++++++++++++++++++++
.../src/routes/register-task-workflow-routes.ts | 67 +++++++++
packages/i18n/locales/en/app.json | 10 ++
packages/i18n/locales/es/app.json | 22 ++-
packages/i18n/locales/fr/app.json | 22 ++-
packages/i18n/locales/ko/app.json | 22 ++-
packages/i18n/locales/zh-CN/app.json | 22 ++-
packages/i18n/locales/zh-TW/app.json | 22 ++-
18 files changed, 764 insertions(+), 24 deletions(-)
Fusion-Task-Id: FN-7185
Fusion-Task-Lineage: b2e98163-4fc6-45c9-8ace-a14eeb096e10
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-28 02:04:31 -07:00
gsxdsm
dc54b615d4
FN-7182: pause auto-merge for manual pull requests
...
Manual pull requests now pause automatic merge processing until human action closes or merges the PR.
- Mark dashboard-created or linked pull requests with manual provenance and preserve it across PR refreshes and merges.
- Exclude tasks with manual open or draft PRs from automatic merge processing while preserving pipeline PR automation.
- Add regression coverage and document the manual PR handoff behavior.
Files changed:
.changeset/FN-7182-no-auto-merge-with-manual-pr.md | 7 ++
docs/architecture.md | 2 +-
docs/dashboard-guide.md | 1 +
packages/core/src/__tests__/task-helpers.test.ts | 49 ++++++++++++-
packages/core/src/__tests__/task-merge.test.ts | 60 +++++++++++++++-
packages/core/src/index.ts | 2 +-
packages/core/src/task-helpers.ts | 13 ++++
packages/core/src/task-merge.ts | 10 ++-
packages/core/src/types.ts | 6 ++
.../dashboard/src/__tests__/routes-auth.test.ts | 80 ++++++++++++++++++++++
.../dashboard/src/__tests__/routes-github.test.ts | 45 +++++++++++-
.../dashboard/src/routes/register-git-github.ts | 20 +++++-
12 files changed, 285 insertions(+), 10 deletions(-)
Fusion-Task-Id: FN-7182
Fusion-Task-Lineage: c415a9dc-43c1-4609-a032-367991e949a1
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-28 01:43:08 -07:00
gsxdsm
65abae26c6
FN-7181: improve PR metadata generation feedback
...
Ground PR metadata generation in repository evidence and make Create PR loading states explicit.
- Upgrade the PR metadata system/context prompt while preserving configurable title and description guidance.\n- Show disabled title/body skeleton states while AI metadata generates and block submission until content resolves.\n- Extend dashboard tests, docs, and changeset coverage for the improved PR prompt and loading behavior.\n\nFiles changed:\n .../fn-7181-pr-generation-prompt-and-loading.md | 7 +++\n docs/dashboard-guide.md | 2 +-\n .../dashboard/app/components/PrCreateModal.css | 62 ++++++++++++++++++++++\n .../dashboard/app/components/PrCreateModal.tsx | 47 +++++++++++++---\n .../components/__tests__/PrCreateModal.test.tsx | 60 ++++++++++++++++-----\n .../src/__tests__/pr-metadata-generator.test.ts | 44 ++++++++++++---\n packages/dashboard/src/pr-metadata-generator.ts | 33 +++++++++---\n 7 files changed, 221 insertions(+), 34 deletions(-)
Fusion-Task-Id: FN-7181
Fusion-Task-Lineage: 6565ddce-c205-4050-a37f-ffbb2f2d46d4
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-28 01:17:22 -07:00
gsxdsm
3a52c7a7cd
FN-7176: add PR body markdown preview toggle
...
Add a markdown preview mode to the Create PR body editor while preserving raw submission text.
- Add a persisted Preview/Edit toggle for the Create PR body field.
- Render body markdown through the shared sanitized markdown pipeline in preview mode.
- Style the preview region and document the modal behavior.
- Cover edit, preview, regenerate, revert, empty/fallback, and submit payload flows.
Files changed:
docs/dashboard-guide.md | 1 +
.../dashboard/app/components/PrCreateModal.css | 24 ++++-
.../dashboard/app/components/PrCreateModal.tsx | 51 +++++++++-
.../components/__tests__/PrCreateModal.test.tsx | 107 +++++++++++++++++++++
4 files changed, 181 insertions(+), 2 deletions(-)
Fusion-Task-Id: FN-7176
Fusion-Task-Lineage: 82275fb1-f89a-4fa2-9c47-7a7e7982c6cd
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-28 01:11:03 -07:00
gsxdsm
b60a743377
FN-7186: fix reviewer-agent revision requests
...
Route review revision requests through canonical review data so reviewer-agent feedback can be selected reliably.
- Rebuild /review/address validation from PR review details or direct reviewer-agent logs before matching selected items.
- Preserve addressing state while accepting log-derived reviewer-agent item ids and rejecting mismatched sources.
- Cover reviewer-agent, fallback-log, PR, and invalid-selection paths in dashboard route tests.
- Document that Review revision feedback may come from PR data or reviewer-agent logs.
- Add a patch changeset for the published Fusion package.
Files changed:
.changeset/fn-7186-review-revision-fix.md | 7 ++
docs/dashboard-guide.md | 4 +-
.../dashboard/src/__tests__/routes-tasks.test.ts | 126 +++++++++++++++++----
.../src/routes/register-task-workflow-routes.ts | 76 +++++++++----
4 files changed, 170 insertions(+), 43 deletions(-)
Fusion-Task-Id: FN-7186
Fusion-Task-Lineage: 8b0f6e4c-93b1-489c-ab96-5a2541b7c18a
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-28 00:33:26 -07:00
gsxdsm
9c207fd286
FN-7180: add configurable PR metadata prompts
...
Add project-scoped guidance fields for AI-generated Create PR metadata.
- Store PR title and description prompt guidance as project settings only.
- Surface editable guidance textareas in Project Models settings.
- Append trimmed guidance to the PR metadata system prompt without changing defaults for blank values.
- Document the settings and add release notes/tests for persistence, UI, and prompt generation.
Files changed:
.changeset/fn-7180-pr-prompt-settings.md | 7 ++
docs/dashboard-guide.md | 1 +
docs/settings-reference.md | 2 +
.../core/src/__tests__/settings-defaults.test.ts | 11 ++-
packages/core/src/__tests__/store-settings.test.ts | 19 +++++
packages/core/src/settings-schema.ts | 2 +
packages/core/src/types.ts | 12 ++++
.../app/__tests__/settings-sections.test.tsx | 54 ++++++++++++++
.../dashboard/app/components/SettingsModal.tsx | 4 ++
.../settings/sections/ProjectModelsSection.tsx | 12 ++++
.../src/__tests__/pr-metadata-generator.test.ts | 84 ++++++++++++++++++++++
packages/dashboard/src/pr-metadata-generator.ts | 23 ++++--
12 files changed, 225 insertions(+), 6 deletions(-)
Fusion-Task-Id: FN-7180
Fusion-Task-Lineage: 9bdc42d5-ffd3-4208-b64a-96d142cc1dc8
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-28 00:28:13 -07:00
gsxdsm
01fe47d50f
FN-7175: fix Create PR dialog recovery and dismissal
...
Stabilize the Create PR dialog so metadata hangs and stray clicks no longer block manual PR creation.
- Bound AI metadata generation in the dialog to a 15 second timeout that falls back to manual title/body recovery.
- Keep the floating Create PR shell dismissible only via explicit close actions and default the diff preview collapsed.
- Expand modal tests and dashboard docs for timeout recovery, collapsed preview, and dismissal behavior.
- Add a patch changeset for the published Fusion package.
Files changed:
.changeset/fn-7175-create-pr-dialog-fixes.md | 7 +++
docs/dashboard-guide.md | 6 +-
.../dashboard/app/components/PrCreateModal.tsx | 34 ++++++++++-
.../components/__tests__/PrCreateModal.test.tsx | 65 ++++++++++++++++++++--
4 files changed, 101 insertions(+), 11 deletions(-)
Fusion-Task-Id: FN-7175
Fusion-Task-Lineage: 675d2212-54a1-465f-a9bf-6af4ba33674a
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-28 00:15:21 -07:00
gsxdsm
fc958bc54b
FN-7178: improve review comment rendering
...
Render task Review tab comments with cleaner content, author context, and filter controls.
- Reuse the sanitized mailbox markdown renderer and strip GitHub HTML comments in plain-text mode.
- Add human/bot author derivation, avatars, badges, and All/Human/Bot filtering for review items.
- Cover rendering, filtering, selection pruning, and author classification with dashboard tests.
- Document the Review tab behavior and add the release changeset.
Files changed:
.../fn-7178-task-review-comment-rendering.md | 7 +
docs/dashboard-guide.md | 1 +
.../dashboard/app/components/TaskReviewTab.css | 117 ++++++++++++++++
.../dashboard/app/components/TaskReviewTab.tsx | 144 ++++++++++++-------
.../components/__tests__/TaskReviewTab.test.tsx | 153 +++++++++++++++++++++
.../utils/__tests__/githubCommentAuthor.test.ts | 46 +++++++
.../dashboard/app/utils/githubCommentAuthor.ts | 33 +++++
packages/dashboard/vitest.config.ts | 1 +
8 files changed, 455 insertions(+), 47 deletions(-)
Fusion-Task-Id: FN-7178
Fusion-Task-Lineage: 98269a09-3c57-492d-b433-d6ccb81d5b17
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-27 23:53:51 -07:00
gsxdsm
411806163f
FN-7170: make Create PR dialog draggable and resizable
...
Move the Create PR dialog onto the shared floating window shell.
- Render PrCreateModal in FloatingWindow with persisted desktop geometry and embedded-header dragging.
- Add CSS that lets the modal fill its floating panel while preserving a full-screen mobile layout.
- Update docs, release notes, and modal tests for floating behavior, resize handles, and non-overlay dismissal.
Files changed:
.changeset/fn-7170-pr-create-modal-floating.md | 7 ++
docs/dashboard-guide.md | 1 +
.../dashboard/app/components/PrCreateModal.css | 63 +++++++++++----
.../dashboard/app/components/PrCreateModal.tsx | 28 ++++---
.../__tests__/PrCreateModal.layout.test.tsx | 6 +-
.../components/__tests__/PrCreateModal.test.tsx | 94 +++++++++++++++++++---
.../app/components/__tests__/TaskCard.test.tsx | 8 +-
7 files changed, 168 insertions(+), 39 deletions(-)
Fusion-Task-Id: FN-7170
Fusion-Task-Lineage: 03452d6a-0da7-4891-a58e-6d93a93383f7
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-27 23:42:11 -07:00
gsxdsm
27b0cbb05a
FN-7183: link PR numbers to GitHub
...
Make task-detail PR numbers open their GitHub pull request when a URL is present.
- Render the PR number as a secure external link when prInfo.url is available.
- Keep the existing plain text PR number fallback when no URL is present.
- Add focus/hover styling, dashboard documentation, regression tests, and a patch changeset.
Files changed:
.changeset/fn-7183-pr-number-link.md | 7 +++++++
docs/dashboard-guide.md | 1 +
packages/dashboard/app/components/PrPanel.css | 13 ++++++++++++
packages/dashboard/app/components/PrPanel.tsx | 12 ++++++++++-
.../app/components/__tests__/PrPanel.test.tsx | 24 ++++++++++++++++++++++
5 files changed, 56 insertions(+), 1 deletion(-)
Fusion-Task-Id: FN-7183
Fusion-Task-Lineage: 0a349723-9dda-4784-b747-b140b85a3013
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-27 23:37:24 -07:00
gsxdsm
f7e20abe9f
FN-7168: add Chat to the right dock
...
Adds Chat as an inline right-dock tool with compact dock rendering and pop-out support.
- Register Chat as a built-in right-dock overflow view with its toolbar icon and lazy-loaded view.
- Add a compact ChatView layout prop so narrow dock hosts use the mobile-style list/detail flow.
- Cover Chat dock visibility, storage fallback, lazy-load docs, and compact layout behavior with tests.
- Document the updated right-dock tool roster and add a minor changeset.
Files changed:
.changeset/FN-7168-right-dock-chat.md | 7 ++
docs/dashboard-guide.md | 7 +-
.../app/__tests__/lazy-loaded-views-docs.test.ts | 6 +-
packages/dashboard/app/components/ChatView.tsx | 9 ++-
packages/dashboard/app/components/RightDock.tsx | 2 +-
.../__tests__/ChatView.sessions-rooms.test.tsx | 9 +++
.../app/components/__tests__/RightDock.test.tsx | 9 ++-
.../__tests__/overflowViewRegistry.chat.test.tsx | 90 ++++++++++++++++++++++
.../__tests__/overflowViewRegistry.test.tsx | 5 +-
.../app/components/overflowViewRegistry.tsx | 25 ++++++
10 files changed, 158 insertions(+), 11 deletions(-)
Fusion-Task-Id: FN-7168
Fusion-Task-Lineage: 194c66f6-bdd9-438e-b648-2a79629534a6
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-27 23:25:19 -07:00
gsxdsm
5d9184d380
FN-7172: add right dock pin toggle
...
Add a persisted right-dock pin control that switches between overlay and push layouts.\n\n- Add a toolbar pin button with accessible labels and persisted pinned state.\n- Switch pinned docks into the flex row so the main project content narrows instead of being overlaid.\n- Cover pin persistence, layout classes, header toggling, mobile behavior, and expanded modal independence in tests.\n- Document the overlay/push workflow and add a minor changeset for the published CLI package.\n\nFiles changed:\n .changeset/fn-7172-right-dock-pin-push-mode.md | 7 +\n docs/dashboard-guide.md | 8 +-\n packages/dashboard/app/components/RightDock.css | 9 ++\n packages/dashboard/app/components/RightDock.tsx | 45 +++++-\n .../app/components/__tests__/RightDock.test.tsx | 174 +++++++++++++++++++--\n .../app/components/useRightDockController.tsx | 21 ++-\n 6 files changed, 241 insertions(+), 23 deletions(-)
Fusion-Task-Id: FN-7172
Fusion-Task-Lineage: 1608fead-74cd-4a1e-87be-1ce27f388f34
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-27 22:55:40 -07:00
gsxdsm
2448447de6
FN-7161: add worktree grouping board setting
...
Add an opt-in project setting that controls whether board WIP columns show worktree grouping.
- Add the `showWorktreeGrouping` project setting with default-off schema, settings form wiring, and app state propagation.
- Apply the setting to board, lane, and column rendering so WIP/processing columns group by worktree only when enabled.
- Cover default persistence, settings UI, and column grouping behavior with targeted tests and document the operator-facing setting.
Files changed:
.changeset/fn-7161-worktree-grouping-setting.md | 7 ++
docs/dashboard-guide.md | 2 +
docs/settings-reference.md | 1 +
.../core/src/__tests__/settings-defaults.test.ts | 12 +++
packages/core/src/__tests__/store-settings.test.ts | 8 ++
packages/core/src/settings-schema.ts | 1 +
packages/core/src/types.ts | 7 ++
packages/dashboard/app/App.tsx | 2 +
.../app/__tests__/settings-sections.test.tsx | 32 ++++++
packages/dashboard/app/components/Board.tsx | 6 +-
packages/dashboard/app/components/Column.tsx | 28 +++---
packages/dashboard/app/components/Lane.tsx | 2 +
.../dashboard/app/components/SettingsModal.tsx | 1 +
.../app/components/__tests__/Column.test.tsx | 112 ++++++++++++++++++++-
.../app/components/dashboard/MainContent.tsx | 3 +
.../dashboard/app/components/dashboard/types.ts | 1 +
.../settings/sections/WorktreesSection.tsx | 5 +
packages/dashboard/app/hooks/useAppSettings.ts | 4 +
18 files changed, 216 insertions(+), 18 deletions(-)
Fusion-Task-Id: FN-7161
Fusion-Task-Lineage: 4482522d-ea18-4b4f-b3fb-92af5ff5b9cd
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-27 22:37:19 -07:00
gsxdsm
e5a0273282
FN-7166: Refresh artifact lists from registration events
...
Artifact list surfaces now refresh from authoritative registry and artifact-message signals.\n\n- Emit an artifact:registered TaskStore event after successful registry writes and forward it over dashboard SSE.\n- Subscribe useArtifacts to artifact/message SSE events, scope refreshes by project/task, debounce duplicate signals, and avoid loading flashes when project context is missing.\n- Document live artifact refresh behavior and add regression coverage for store events and hook refresh paths.\n\nFiles changed:\n .changeset/FN-7166-artifact-live-refresh.md | 7 +\n docs/dashboard-guide.md | 3 +-\n packages/core/src/__tests__/artifacts.test.ts | 20 +-\n packages/core/src/store.ts | 8 +-\n .../app/hooks/__tests__/useArtifacts.test.ts | 227 +++++++++++++++++++--\n packages/dashboard/app/hooks/useArtifacts.ts | 83 +++++++-\n packages/dashboard/src/sse.ts | 7 +\n 7 files changed, 335 insertions(+), 20 deletions(-)
Fusion-Task-Id: FN-7166
Fusion-Task-Lineage: f13e254d-d65c-423e-8d9c-94c31761eac2
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-27 22:15:53 -07:00
gsxdsm
bee93c3e2b
FN-7163: keep executor footer stable during stats refreshes
...
Keep the executor footer mounted while heartbeat polling refreshes stats.\n\n- Make executor stats loading initial-only per project so routine refreshes preserve populated footer state.\n- Keep the engine controls popover mounted after the first successful stats render.\n- Add regression coverage for heartbeat refreshes, project switches, and transient failures.\n- Document the stable footer behavior and add a patch changeset.\n\nFiles changed:\n .changeset/fn-7163-footer-heartbeat-blink.md | 7 +\n docs/dashboard-guide.md | 3 +-\n .../dashboard/app/components/ExecutorStatusBar.tsx | 15 ++-\n .../__tests__/ExecutorStatusBar.test.tsx | 76 +++++++++++\n .../app/hooks/__tests__/useExecutorStats.test.ts | 147 +++++++++++++++++++++\n packages/dashboard/app/hooks/useExecutorStats.ts | 67 +++++++---\n 6 files changed, 294 insertions(+), 21 deletions(-)
Fusion-Task-Id: FN-7163
Fusion-Task-Lineage: ad1d7eb2-f531-42b3-b588-fbb69d09d0f3
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-27 22:02:59 -07:00
gsxdsm
a95cfa7f92
FN-7160: unify live agent counts and fix use markers
...
Unifies running-agent slot accounting across engine, CLI, and dashboard surfaces.
- Add shared core helpers for identifying and counting active top-level agent tasks, including in-review reviewer, merger, fix, and PR merge states.
- Reuse the shared count in engine semaphore repair, project health displays, and dashboard project-store routes.
- Correct Command Center utilization markers to use a zero-based active/cap ratio.
- Cover the shared predicate and affected CLI, dashboard, and engine behaviors with regression tests.
Files changed:
.changeset/fn-7160-running-agent-count.md | 7 ++++
docs/dashboard-guide.md | 2 +-
.../cli/src/commands/__tests__/project.test.ts | 40 ++++++++++++++----
packages/cli/src/commands/project.ts | 15 +++----
.../core/src/__tests__/live-agent-count.test.ts | 47 ++++++++++++++++++++++
packages/core/src/index.ts | 2 +
packages/core/src/live-agent-count.ts | 30 ++++++++++++++
packages/core/src/types.ts | 2 +-
.../command-center/CommandCenterControls.tsx | 14 ++++---
.../__tests__/CommandCenterControls.test.tsx | 22 +++++++++-
.../dashboard/src/__tests__/project-routes.test.ts | 31 +++++++++-----
.../src/__tests__/project-store-resolver.test.ts | 20 ++++++---
packages/dashboard/src/project-store-resolver.ts | 9 ++---
.../src/routes/register-project-routes.ts | 7 ++--
packages/engine/src/__tests__/concurrency.test.ts | 18 +++++++++
packages/engine/src/concurrency.ts | 12 +++---
16 files changed, 220 insertions(+), 58 deletions(-)
Fusion-Task-Id: FN-7160
Fusion-Task-Lineage: f48332f8-ac5d-46eb-b975-d2f6c880ddd5
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-27 21:39:40 -07:00
gsxdsm
6ca51185f3
FN-7152: close Quick Chat on outside clicks
...
Quick Chat now dismisses from page clicks while other floating windows stay persistent.
- Add an opt-in outside-pointer dismissal path to FloatingWindow with safeguards for inside clicks, nested dialogs, touch compatibility events, and active drag/resize gestures.
- Enable outside-click dismissal only for the Quick Chat floating window and document the behavior.
- Cover the opt-in behavior, default persistence, nested surfaces, gesture guards, and listener cleanup with FloatingWindow tests.
- Add a release changeset for the Quick Chat dismissal feature.
Files changed:
.changeset/fn-7152-quick-chat-outside-click-close.md | 7 ++
docs/dashboard-guide.md | 1 +
packages/dashboard/app/App.tsx | 4 +
packages/dashboard/app/components/FloatingWindow.css | 5 +-
packages/dashboard/app/components/FloatingWindow.tsx | 45 +++++++++
packages/dashboard/app/components/__tests__/FloatingWindow.test.tsx | 109 +++++++++++++++++++++
6 files changed, 170 insertions(+), 1 deletion(-)
Fusion-Task-Id: FN-7152
Fusion-Task-Lineage: 5bd6c10a-3e21-4eb9-bd1e-99f3aaf9c7b6
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-27 19:48:50 -07:00
gsxdsm
100164dc50
FN-7150: show ephemeral agent token counts
...
Surface task-derived token usage for ephemeral agents in dashboard agent views.
- Attribute task token totals across assigned, source, and checkout agent links.
- Backfill zero-valued agent list token totals from linked task usage.
- Allow Agent Detail token usage windows for ephemeral/task-worker agents and cover the routes with tests.
- Document the dashboard behavior and add a patch changeset.
Files changed:
.changeset/fn-7150-ephemeral-agent-token-counts.md | 7 ++
docs/dashboard-guide.md | 1 +
.../core/src/__tests__/agent-token-usage.test.ts | 99 ++++++++++++++++++++--
packages/core/src/__tests__/team-analytics.test.ts | 48 +++++++++++
packages/core/src/agent-token-usage.ts | 83 +++++++++++++++++-
packages/core/src/index.ts | 4 +-
.../__tests__/AgentTokenStatsPanel.test.tsx | 21 +++++
.../src/__tests__/routes-agent-token-usage.test.ts | 20 ++++-
.../dashboard/src/__tests__/routes-agents.test.ts | 87 +++++++++++++++++++
.../src/routes/register-agent-core-routes.ts | 38 ++++++++-
.../src/routes/register-agent-runtime-routes.ts | 5 +-
11 files changed, 395 insertions(+), 18 deletions(-)
Fusion-Task-Id: FN-7150
Fusion-Task-Lineage: ce2661ce-5ba5-43b0-aa5c-7fddee90a915
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-27 19:37:39 -07:00
gsxdsm
63d1079d44
FN-7142: show task summary token costs
...
Add task summary visibility into token usage, model-level costs, and locale coverage.
- Render done-task Summary token usage by model with input, output, cached, total, and estimated cost columns.
- Thread global model pricing overrides into the summary cost calculation and mark unpriced models as unavailable.
- Add responsive token-cost styling, summary-tab coverage, dashboard docs, release notes, and locale keys.
Files changed:
.changeset/fn-7142-summary-token-cost.md | 7 +
docs/dashboard-guide.md | 2 +-
.../dashboard/app/components/TaskDetailModal.css | 125 +++++++++++
.../dashboard/app/components/TaskDetailModal.tsx | 2 +-
.../dashboard/app/components/TaskSummaryTab.tsx | 177 ++++++++++++++-
.../__tests__/TaskDetailModal.summary-tab.test.tsx | 241 ++++++++++++++++++++-
packages/i18n/locales/en/app.json | 11 +
packages/i18n/locales/es/app.json | 52 ++++-
packages/i18n/locales/fr/app.json | 52 ++++-
packages/i18n/locales/ko/app.json | 52 ++++-
packages/i18n/locales/zh-CN/app.json | 52 ++++-
packages/i18n/locales/zh-TW/app.json | 52 ++++-
12 files changed, 794 insertions(+), 31 deletions(-)
Fusion-Task-Id: FN-7142
Fusion-Task-Lineage: ec1c7244-4779-46e7-be7c-b0e00b361fd7
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-27 17:56:32 -07:00
gsxdsm
e8163ab81b
FN-7146: add workflow analytics to Command Center
...
Adds a read-only per-workflow analytics surface for Command Center operators.
- Add a core workflow analytics aggregator with token, cost, task status, and files-changed rollups.
- Expose workflow analytics through JSON and CSV Command Center routes using the scoped store default workflow.
- Add the Workflows Command Center tab, localized copy, docs, tests, and a release changeset.
Files changed:
.changeset/fn-7146-workflow-analytics.md | 7 +
docs/dashboard-guide.md | 7 +-
.../core/src/__tests__/workflow-analytics.test.ts | 306 +++++++++++++++++++
packages/core/src/index.ts | 7 +
packages/core/src/workflow-analytics.ts | 339 +++++++++++++++++++++
.../components/command-center/CommandCenter.tsx | 8 +
.../__tests__/CommandCenter.test.tsx | 51 +++-
.../command-center/areas/WorkflowArea.tsx | 170 +++++++++++
.../areas/__tests__/WorkflowArea.test.tsx | 136 +++++++++
.../register-command-center-routes.auth.test.ts | 5 +
.../register-command-center-routes.test.ts | 109 +++++++
packages/dashboard/src/command-center-csv.ts | 57 ++++
.../src/routes/register-command-center-routes.ts | 30 ++
packages/i18n/locales/en/app.json | 21 ++
packages/i18n/locales/es/app.json | 21 ++
packages/i18n/locales/fr/app.json | 21 ++
packages/i18n/locales/ko/app.json | 21 ++
packages/i18n/locales/zh-CN/app.json | 21 ++
packages/i18n/locales/zh-TW/app.json | 21 ++
19 files changed, 1354 insertions(+), 4 deletions(-)
Fusion-Task-Id: FN-7146
Fusion-Task-Lineage: f75e40a5-9010-45d5-a729-132e547887d7
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-27 17:46:17 -07:00
gsxdsm
c468c161c2
FN-7141: add chat context token budget indicator
...
Add a desktop Direct-chat header indicator for estimated tokens used against the active model context window.
- Estimate chat token usage client-side, including streaming text, and format compact counts.
- Render the context-window badge only for non-mobile Direct-chat threads with known model context windows.
- Cover desktop, mobile, floating-narrow, rooms, unknown-context, and streaming surfaces with tests.
- Document the dashboard behavior and add a release changeset.
Files changed:
.changeset/fn-7141-chat-context-window.md | 7 +
docs/dashboard-guide.md | 2 +
packages/dashboard/app/components/ChatView.css | 22 +++
packages/dashboard/app/components/ChatView.tsx | 35 +++-
.../__tests__/ChatView.context-window.test.tsx | 193 +++++++++++++++++++++
.../app/utils/__tests__/estimateChatTokens.test.ts | 34 ++++
packages/dashboard/app/utils/estimateChatTokens.ts | 29 ++++
packages/i18n/locales/en/app.json | 1 +
8 files changed, 322 insertions(+), 1 deletion(-)
Fusion-Task-Id: FN-7141
Fusion-Task-Lineage: 3ede9af4-b8d6-4da6-996f-cd9277ef49ac
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-27 17:22:12 -07:00
gsxdsm
9e7c57da08
FN-7139: show task columns on agent badges
...
Enrich dashboard agent task indicators with linked task column context.
- Add API-side transient taskColumn enrichment for active agent task links, including an unresolved sentinel for missing tasks.
- Render shared agent task badges across agent panels, detail views, lists, and mobile surfaces.
- Extend dashboard/API coverage and document the task-column badge behavior with a published changeset.
Files changed:
.changeset/fn-7139-agent-task-column-context.md | 7 ++
docs/dashboard-guide.md | 2 +
packages/core/src/types.ts | 5 ++
.../dashboard/app/components/ActiveAgentsPanel.tsx | 3 +-
.../dashboard/app/components/AgentDetailView.tsx | 5 +-
.../dashboard/app/components/AgentListModal.tsx | 3 +-
.../dashboard/app/components/AgentTaskBadge.tsx | 28 +++++++
packages/dashboard/app/components/AgentsView.tsx | 3 +-
.../__tests__/ActiveAgentsPanel.test.tsx | 55 ++++++++++---
.../__tests__/AgentDetailView.core.test.tsx | 65 +++++++++++++++
.../AgentDetailView.mobile-scroll.test.tsx | 16 +++-
.../components/__tests__/AgentListModal.test.tsx | 16 +++-
.../app/components/__tests__/AgentsView.test.tsx | 23 +++++-
.../dashboard/src/__tests__/routes-agents.test.ts | 92 +++++++++++++++++++++-
packages/dashboard/src/routes.ts | 13 ++-
15 files changed, 306 insertions(+), 30 deletions(-)
Fusion-Task-Id: FN-7139
Fusion-Task-Lineage: 3f6d9470-b98f-4bd3-a91e-7e69ab624d48
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-27 17:11:13 -07:00
gsxdsm
5066f90db2
FN-7137: stack queued chat messages
...
Stack queued chat sends above the composer and flush them in order.
- Persist pending chat sends as per-session FIFO arrays with legacy single-message restore fallback.
- Render stacked queued previews above the direct and quick chat composer with per-item dismissal.
- Flush one queued message after each completed or safely verified idle generation, preserving reconnect guards.
- Extend chat hook and composer tests for multi-message queuing, restore, dismissal, and FIFO sends.
- Document the queued stack behavior and add a published package changeset.
Files changed:
.changeset/fn-7137-stack-queued-chat-messages.md | 7 +
docs/dashboard-guide.md | 4 +-
packages/dashboard/app/components/ChatView.css | 15 +-
packages/dashboard/app/components/ChatView.tsx | 38 ++--
.../__tests__/ChatView.autosize.test.tsx | 2 +-
.../__tests__/ChatView.cli-mount.test.tsx | 2 +-
.../__tests__/ChatView.core-interactions.test.tsx | 27 ++-
.../__tests__/ChatView.default-model-icon.test.tsx | 2 +-
.../components/__tests__/ChatView.draft.test.tsx | 2 +-
.../__tests__/ChatView.hash-mention.test.tsx | 2 +-
.../__tests__/ChatView.mobile-render.test.tsx | 2 +-
.../components/__tests__/ChatView.rooms.test.tsx | 2 +-
.../__tests__/ChatView.scroll-to-top.test.tsx | 2 +-
.../__tests__/ChatView.swipe-back.test.tsx | 2 +-
.../components/__tests__/ChatView.test-harness.tsx | 2 +-
.../dashboard/app/hooks/__tests__/useChat.test.ts | 247 +++++++++++++++++----
.../app/hooks/chatPendingMessageStorage.ts | 38 +++-
packages/dashboard/app/hooks/useChat.ts | 125 ++++++++---
18 files changed, 390 insertions(+), 131 deletions(-)
Fusion-Task-Id: FN-7137
Fusion-Task-Lineage: 65dd5ed7-a8db-447b-9a50-ce73ea7b597f
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-27 15:56:42 -07:00
gsxdsm
39d20be05f
FN-7129: add per-step optional revision budgets
...
Add optional workflow-step revision budgets that can cap or unbound remediation loops.
- Add optional-group maxRevisions parsing, validation, exports, and docs.
- Expose numeric and unbounded revision budget controls in the workflow node editor.
- Apply per-step budgets in executor and self-healing fix loops with regression coverage.
Files changed:
.changeset/fn-7129-per-step-revision-budget.md | 7 ++
docs/dashboard-guide.md | 1 +
docs/settings-reference.md | 2 +-
docs/workflow-steps.md | 10 ++-
.../__tests__/workflow-ir-optional-group.test.ts | 29 ++++++-
packages/core/src/index.ts | 2 +
packages/core/src/workflow-ir-types.ts | 37 +++++++++
packages/core/src/workflow-ir.ts | 15 ++++
.../app/components/WorkflowNodeEditor.tsx | 87 ++++++++++++++++----
.../__tests__/WorkflowNodeEditor.test.tsx | 95 ++++++++++++++++++++++
packages/engine/src/__tests__/self-healing.test.ts | 63 ++++++++++++++
.../workflow-graph-optional-group.test.ts | 30 ++++++-
.../workflow-graph-optional-step-fix.test.ts | 53 ++++++++++++
packages/engine/src/executor.ts | 15 ++--
packages/engine/src/self-healing.ts | 64 +++++++++++----
packages/engine/src/workflow-graph-executor.ts | 6 +-
16 files changed, 469 insertions(+), 47 deletions(-)
Fusion-Task-Id: FN-7129
Fusion-Task-Lineage: dbde94e5-3c99-4f67-aed9-458563e845ae
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-27 13:05:50 -07:00
gsxdsm
a19df338ad
FN-7131: add done-task summary tab
...
Done task details now open to a read-only Summary tab before Chat.
- Add TaskSummaryTab with completion summary markdown, landed-file stats, completed steps, workflow results, and retry context.
- Default done-task detail entrypoints to Summary while preserving explicit tab selections and plugin tab typing.
- Style and localize the Summary tab, document it, and add dashboard coverage for defaulting and tab content.
- Add a minor changeset for the published CLI package.
Files changed:
.changeset/fn-7131-summary-tab.md | 7 +
docs/dashboard-guide.md | 1 +
packages/dashboard/app/App.tsx | 2 +-
.../dashboard/app/components/TaskDetailModal.css | 181 +++++++++++++++++
.../dashboard/app/components/TaskDetailModal.tsx | 63 ++++--
.../dashboard/app/components/TaskSummaryTab.tsx | 160 +++++++++++++++
.../TaskDetailModal.definition-actions.test.tsx | 56 +++---
.../__tests__/TaskDetailModal.summary-tab.test.tsx | 222 +++++++++++++++++++++
.../dashboard/app/components/dashboard/types.ts | 2 +-
.../app/hooks/__tests__/useModalManager.test.ts | 10 +-
.../dashboard/app/hooks/useMainPanelTaskDetail.ts | 9 +-
packages/dashboard/app/hooks/useModalManager.ts | 12 +-
packages/dashboard/app/plugins/types.ts | 2 +-
packages/i18n/locales/en/app.json | 16 ++
14 files changed, 687 insertions(+), 56 deletions(-)
Fusion-Task-Id: FN-7131
Fusion-Task-Lineage: e8ca4ade-9904-4705-a151-d9e55f67b398
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-27 12:15:42 -07:00
gsxdsm
b5378d232c
FN-7124: add engine-controls popover dismiss button
...
Add an explicit dismiss affordance for the footer engine-controls popover while preserving pending slider saves.
- Add a visible, localized Close engine controls X button inside the engine-control popover.
- Flush pending project concurrency debounce writes before closing via button, Escape, outside-click, or trigger toggle.
- Cover the dismiss affordance and flush behavior with dashboard tests and docs.
- Add a patch changeset for the published CLI bundle.
Files changed:
.changeset/fn-7124-engine-controls-close.md | 6 ++
docs/dashboard-guide.md | 2 +-
.../dashboard/app/components/EngineControlMenu.css | 19 +++++
.../dashboard/app/components/EngineControlMenu.tsx | 87 +++++++++++++++++-----
.../__tests__/EngineControlMenu.test.tsx | 42 +++++++++++
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 +
11 files changed, 142 insertions(+), 20 deletions(-)
Fusion-Task-Id: FN-7124
Fusion-Task-Lineage: cdd052e7-d4f1-4d4e-8348-002f7702a170
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-27 11:27:17 -07:00
gsxdsm
92436d031b
FN-7120: add mobile New Chat switcher action
...
Adds a mobile direct-chat shortcut for starting a new chat from the session switcher.
- Add a New Chat menuitem to the mobile direct-chat session dropdown using the existing NewChatDialog flow.
- Style the new mobile switcher action with touch-friendly spacing and focus handling.
- Extend mobile ChatView tests and docs, and add a changeset for the published CLI package.
Files changed:
.changeset/fn-7120-mobile-new-chat.md | 7 ++
docs/dashboard-guide.md | 2 +-
packages/dashboard/app/components/ChatView.css | 31 ++++++
packages/dashboard/app/components/ChatView.tsx | 17 +++
.../components/__tests__/ChatView.mobile.test.tsx | 115 +++++++++++++++++++--
5 files changed, 162 insertions(+), 10 deletions(-)
Fusion-Task-Id: FN-7120
Fusion-Task-Lineage: 5d066667-20c1-4015-9b84-a9e558eecd48
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-27 10:45:31 -07:00
gsxdsm
e909d41fed
FN-7116: suppress transient footer connecting flashes
...
Keep executor footer stats stable through a one-off suspension-like fetch blip.
- Debounce transient executor stats failures after a successful poll while retaining last-good stats.
- Preserve explicit error reporting for first-load, non-transient, and sustained failures.
- Cover desktop and mobile footer behavior plus hook retry and visibility-resume cases.
- Document the footer behavior and add a patch changeset for the published CLI package.
Files changed:
.changeset/fn-7116-footer-connecting-flash.md | 7 ++
docs/dashboard-guide.md | 2 +
.../__tests__/ExecutorStatusBar.test.tsx | 24 +++-
.../app/hooks/__tests__/useExecutorStats.test.ts | 132 ++++++++++++++++++++-
packages/dashboard/app/hooks/useExecutorStats.ts | 24 +++-
5 files changed, 179 insertions(+), 10 deletions(-)
Fusion-Task-Id: FN-7116
Fusion-Task-Lineage: 617b91a3-3d7c-42f1-8a44-ba3245eaf0dc
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-27 10:38:23 -07:00
gsxdsm
368f1e0e45
FN-7117: show all token models in Command Center
...
Show full-fidelity model token breakdowns in Command Center while keeping Overview compact.
- Remove the Tokens detail chart cap so bars, pies, and tables include every analytics model bucket.
- Keep Overview model summaries explicitly limited to the top consumers with a named cap.
- Add dashboard coverage and docs for full Tokens attribution versus Overview summaries.
- Add a patch changeset for the published CLI bundle.
Files changed:
.changeset/fn-7117-tokens-by-model.md | 7 ++
docs/dashboard-guide.md | 5 +-
.../components/command-center/CommandCenter.tsx | 8 ++-
.../__tests__/CommandCenter.test.tsx | 78 +++++++++++++++++++++-
.../components/command-center/areas/TokensArea.tsx | 38 ++++++-----
.../areas/__tests__/TokensArea.test.tsx | 68 +++++++++++++++++++
6 files changed, 182 insertions(+), 22 deletions(-)
Fusion-Task-Id: FN-7117
Fusion-Task-Lineage: 7bf4c090-1054-40d0-97bf-e0e495077af5
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-27 10:34:15 -07:00
gsxdsm
c61217e71a
FN-7121: show queued chat previews above composer
...
Show queued Chat messages above the composer with a clear divider and covered placement behavior.
- Move the queued-message indicator out of the textarea wrapper so it spans above the input row.
- Add divider styling and responsive pending-message alignment for the composer.
- Extend ChatView coverage for placement, dismissal, and divider removal.
- Document the queued-message preview behavior and add a patch changeset.
Files changed:
.changeset/fn-7121-queued-message-above-input.md | 7 ++++
docs/dashboard-guide.md | 2 +-
packages/dashboard/app/components/ChatView.css | 19 +++++++++--
packages/dashboard/app/components/ChatView.tsx | 35 ++++++++++++--------
.../__tests__/ChatView.core-interactions.test.tsx | 37 +++++++++++++++++++---
5 files changed, 77 insertions(+), 23 deletions(-)
Fusion-Task-Id: FN-7121
Fusion-Task-Lineage: b5cb0577-ca4e-459b-9b9e-5c60efd7bdfd
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-27 10:29:36 -07:00
gsxdsm
f34b62cef9
FN-7097: count triage planners in running agents
...
Include active triage planners in live running-agent counts so global concurrency readouts match slot usage.
- Count unpaused triage tasks with planning status alongside in-progress tasks.
- Add resolver coverage for triage-only, mixed, and multi-project running-agent counts.
- Document that concurrency readouts include active triage planners and add a patch changeset.
Files changed:
.changeset/fn-7097-triage-running-count.md | 7 +++
docs/dashboard-guide.md | 3 +-
docs/multi-project.md | 3 +-
.../src/__tests__/project-store-resolver.test.ts | 73 ++++++++++++++++++++--
packages/dashboard/src/project-store-resolver.ts | 11 +++-
5 files changed, 87 insertions(+), 10 deletions(-)
Fusion-Task-Id: FN-7097
Fusion-Task-Lineage: 705daf65-0883-40cd-b620-3be8c0f38543
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-27 09:28:29 -07:00
gsxdsm
f4b25dd2c9
FN-7096: gate approval banner to mailbox requests
...
Limit the dashboard approval banner to real mailbox approval requests instead of task plan-approval states.
- Stop awaiting-approval task updates from fabricating Open Mailbox banner candidates or refreshing mailbox counts.
- Gate DashboardBanners rendering to approval:<id> candidates while preserving pending-count race protection.
- Update dashboard tests, documentation, and release notes for mailbox-only approval banners.
Files changed:
.changeset/fn-7096-approval-banner-mailbox.md | 7 +
docs/dashboard-guide.md | 2 +-
packages/dashboard/app/App.tsx | 3 +-
.../app/components/__tests__/App.test.tsx | 33 ++--
.../app/components/dashboard/DashboardBanners.tsx | 9 +-
.../dashboard/__tests__/DashboardBanners.test.tsx | 65 +++++++-
.../hooks/__tests__/sseSplitIntegration.test.ts | 28 ++--
.../app/hooks/__tests__/useApprovalBanner.test.ts | 177 ++++++++-------------
packages/dashboard/app/hooks/useApprovalBanner.ts | 34 +---
packages/dashboard/app/hooks/useMailboxUnread.ts | 5 +-
10 files changed, 185 insertions(+), 178 deletions(-)
Fusion-Task-Id: FN-7096
Fusion-Task-Lineage: 40885aba-6a9f-4720-bea6-5a6f155c326d
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-27 09:28:29 -07:00
gsxdsm
ae0679b004
FN-7089: add other answers to interview prompts
...
Adds free-text Other answers across planning and mission interview prompts.
- Add synthetic Other options for single-select and multi-select planning, mission, milestone, and slice interviews.
- Thread reserved `_other` responses through agent-facing and history formatters.
- Cover Other-only and Other-plus-selection behavior with dashboard component and formatter tests.
- Document the behavior and add a minor changeset for the published CLI package.
Files changed:
.changeset/fn-7089-interview-other-option.md | 7 +
docs/dashboard-guide.md | 2 +
.../components/MilestoneSliceInterviewModal.tsx | 112 +++++++-
.../app/components/MissionInterviewModal.tsx | 112 +++++++-
.../dashboard/app/components/PlanningModeModal.css | 11 +-
.../dashboard/app/components/PlanningModeModal.tsx | 110 +++++++-
.../MilestoneSliceInterviewModal.test.tsx | 313 +++++++++++++++++++++
.../__tests__/MissionInterviewModal.test.tsx | 244 ++++++++++++++++
.../PlanningModeModal.planning-flow.test.tsx | 200 +++++++++++++
.../__tests__/milestone-slice-interview.test.ts | 49 +++-
.../src/__tests__/mission-interview.test.ts | 47 ++++
.../planning-interview-formatters.test.ts | 47 ++++
.../dashboard/src/milestone-slice-interview.ts | 63 ++++-
packages/dashboard/src/mission-interview.ts | 63 ++++-
packages/dashboard/src/planning.ts | 55 ++--
15 files changed, 1381 insertions(+), 54 deletions(-)
Fusion-Task-Id: FN-7089
Fusion-Task-Lineage: 1c629492-13e4-4ee7-aa37-1d7d067548b7
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-26 21:31:42 -07:00
gsxdsm
0ddfe9a422
FN-7084: add concurrency save confirmations
...
Require explicit confirmation before Command Center concurrency sliders persist live capacity changes.
- Add confirmation flows for global and project concurrency sliders after debounce settles.
- Revert pending slider values on cancel, Escape, or backdrop dismissal without saving.
- Cover single, batched, no-op, failure, and dismissal paths in Command Center control tests.
- Document the confirmation behavior and add a published package changeset.
Files changed:
.changeset/FN-7084-concurrency-confirm.md | 7 +
docs/dashboard-guide.md | 3 +-
.../command-center/CommandCenterControls.tsx | 169 ++++++++++++++---
.../__tests__/CommandCenterControls.test.tsx | 203 +++++++++++++++++----
4 files changed, 323 insertions(+), 59 deletions(-)
Fusion-Task-Id: FN-7084
Fusion-Task-Lineage: f1ebe1f7-f570-4bcb-9dad-7c8f03808d54
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-26 18:01:21 -07:00
gsxdsm
93b01c8ea9
FN-7076: show Command Center concurrency utilization
...
Surface Command Center concurrency utilization beside the editable caps.
- Add loaded-only running-agent readouts for global and current-project concurrency.
- Render clamped current-use markers on the global and project max-concurrent sliders without intercepting drags.
- Cover loaded, zero, unavailable, over-subscribed, and persistence behavior in Command Center tests.
- Document the utilization indicators and add a release changeset.
Files changed:
.../fn-7076-command-center-concurrency-counts.md | 7 ++
docs/dashboard-guide.md | 3 +-
.../command-center/CommandCenterControls.css | 22 ++++
.../command-center/CommandCenterControls.tsx | 103 ++++++++++++++-----
.../__tests__/CommandCenterControls.test.tsx | 111 +++++++++++++++++++++
5 files changed, 219 insertions(+), 27 deletions(-)
Fusion-Task-Id: FN-7076
Fusion-Task-Lineage: 540a57aa-a31b-4a57-aff6-47b373713ab3
2026-06-26 14:38:12 -07:00
gsxdsm
7137e36ccb
FN-7073: serve file previews inline
...
File viewer previews now request inline-safe responses while downloads remain attachments.
- Add an inline preview query option to file download URL helpers and preview consumers.
- Serve known media and PDF preview extensions with real MIME types, inline disposition, nosniff, and sandbox CSP headers.
- Keep explicit downloads and unknown file types on attachment/octet-stream behavior.
- Cover preview and download header behavior with dashboard route and component tests.
Files changed:
.changeset/fn-7073-file-viewer-inline-preview.md | 7 +
docs/dashboard-guide.md | 2 +-
packages/dashboard/app/api/legacy.ts | 9 +-
.../dashboard/app/components/DockFilesView.tsx | 2 +-
.../dashboard/app/components/FileBrowserModal.tsx | 2 +-
.../components/__tests__/DockFilesView.test.tsx | 14 +-
.../components/__tests__/FileBrowserModal.test.tsx | 12 +-
.../register-file-workspace-routes.test.ts | 141 +++++++++++++++++++++
.../src/routes/register-file-workspace-routes.ts | 111 +++++++++++-----
9 files changed, 260 insertions(+), 40 deletions(-)
Fusion-Task-Id: FN-7073
Fusion-Task-Lineage: 922b4aa4-ac6d-4a59-b94f-bab4eeb65530
2026-06-26 14:33:58 -07:00
gsxdsm
2db8ead842
FN-7071: show concurrency utilization in the footer panel
...
Expose live running-agent utilization in the footer concurrency controls.
- Show all-project and current-project running counts beside the matching concurrency sliders.
- Add clamped current-use markers on global and project slider tracks.
- Preserve shared global-concurrency hook state with utilization counts and cover the new UI behavior with tests.
- Document the footer panel utilization indicators and add a release changeset.
Files changed:
.changeset/fn-7071-concurrency-running-counts.md | 7 ++
docs/dashboard-guide.md | 2 +-
.../dashboard/app/components/EngineControlMenu.css | 23 ++++
.../dashboard/app/components/EngineControlMenu.tsx | 103 +++++++++++++-----
.../__tests__/EngineControlMenu.test.tsx | 117 ++++++++++++++++++++-
.../hooks/__tests__/useGlobalConcurrency.test.ts | 96 +++++++++++++++++
.../dashboard/app/hooks/useGlobalConcurrency.ts | 41 +++++++-
packages/i18n/locales/en/app.json | 4 +-
packages/i18n/locales/es/app.json | 4 +-
packages/i18n/locales/fr/app.json | 4 +-
packages/i18n/locales/ko/app.json | 4 +-
packages/i18n/locales/zh-CN/app.json | 4 +-
packages/i18n/locales/zh-TW/app.json | 4 +-
13 files changed, 373 insertions(+), 40 deletions(-)
Fusion-Task-Id: FN-7071
Fusion-Task-Lineage: db95d50a-c042-4972-a462-1987b7bca61e
2026-06-26 13:57:00 -07:00
gsxdsm
f685518a93
FN-7064: discover MCP servers in settings
...
Add read-only MCP discovery with settings UI controls that keep discovered secrets bound to Fusion secret references.
- Add core MCP discovery source resolution and parsing for supported global and project tool configs.
- Expose discovered MCP server candidates through the dashboard API and engine discovery service.
- Surface discovered servers in global and project MCP settings with explicit add flows and configured-state handling.
- Require discovered sensitive env/header/token descriptors to stay locked until bound or created as Fusion secret references.
- Document discovery behavior and add a published package changeset.
Files changed:
.changeset/fn-7064-mcp-auto-discovery.md | 7 ++
docs/dashboard-guide.md | 3 +-
docs/mcp.md | 53 ++++++++-
docs/settings-reference.md | 4 +-
packages/core/src/__tests__/mcp-discovery.test.ts | 74 ++++++++++++
packages/core/src/index.ts | 7 ++
packages/core/src/mcp-discovery.ts | 125 ++++++++++++++++++++
.../__tests__/SettingsModal.mcp.test.tsx | 76 +++++++++++-
.../settings/sections/McpServersCard.css | 34 +++++-
.../settings/sections/McpServersCard.tsx | 130 ++++++++++++++++++++-
.../src/__tests__/mcp-discovered-route.test.ts | 109 +++++++++++++++++
packages/dashboard/src/routes.ts | 46 ++++++++
.../src/__tests__/mcp-discovery-service.test.ts | 60 ++++++++++
packages/engine/src/index.ts | 1 +
packages/engine/src/mcp-discovery-service.ts | 65 +++++++++++
15 files changed, 782 insertions(+), 12 deletions(-)
Fusion-Task-Id: FN-7064
Fusion-Task-Lineage: ef5dc53f-f8d1-4cc8-bdaf-e98d63ee8406
2026-06-26 11:56:12 -07:00
gsxdsm
3bfdb16650
FN-7033: document MCP operator workflows
...
Add a canonical MCP guide with operator workflows and contract coverage.
- Add docs/mcp.md covering MCP settings resolution, transports, secret references, validation, dashboard management, CLI commands, import/export, and AI lane forwarding.
- Link the MCP guide from the docs index, CLI reference, settings reference, secrets docs, and dashboard guide.
- Add a documentation contract test that checks required guide sections and source-aligned MCP surfaces.
Files changed:
docs/README.md | 1 +
docs/cli-reference.md | 2 +-
docs/dashboard-guide.md | 2 +-
docs/mcp.md | 221 +++++++++++++++++++++
docs/secrets.md | 2 +-
docs/settings-reference.md | 2 +
.../src/__tests__/mcp-documentation.test.ts | 65 ++++++
7 files changed, 292 insertions(+), 3 deletions(-)
Fusion-Task-Id: FN-7033
Fusion-Task-Lineage: 530abc69-0247-49ee-9487-54d8e2a1b988
2026-06-26 02:52:51 -07:00
gsxdsm
8131d541ca
FN-7038: add live automation run output
...
Add configurable automation tool access with live manual-run streaming for schedules and routines.
- Add an automation tool allowlist model and dashboard selectors for AI prompt steps.
- Stream manual automation and routine run progress, output, step updates, and tool events over SSE.
- Surface live run transcripts in automation/routine cards and document the operator workflow.
- Cover validation, runner callbacks, API streaming, and UI behavior with targeted tests.
Files changed:
.changeset/fn-7038-automation-tools-live-output.md | 7 +
docs/dashboard-guide.md | 9 +
packages/core/src/__tests__/automation.test.ts | 27 +-
packages/core/src/automation.ts | 18 +
packages/core/src/index.ts | 4 +-
packages/core/src/types.ts | 6 +
packages/dashboard/app/api/legacy.ts | 48 +++
packages/dashboard/app/components/RoutineCard.tsx | 16 +-
packages/dashboard/app/components/ScheduleForm.tsx | 53 ++-
.../app/components/ScheduleStepsEditor.tsx | 49 ++-
.../app/components/ScheduledTasksModal.tsx | 72 +++-
packages/dashboard/app/components/ScriptsModal.css | 79 ++++
.../app/components/__tests__/RoutineCard.test.tsx | 45 +++
.../app/components/__tests__/ScheduleForm.test.tsx | 100 +++++-
.../__tests__/ScheduleStepsEditor.test.tsx | 67 +++-
.../__tests__/ScheduledTasksModal.test.tsx | 36 +-
.../src/__tests__/routes-automation.test.ts | 151 +++++++-
packages/dashboard/src/routes.ts | 400 ++++++++++++++++++++-
packages/dashboard/src/server.ts | 7 +-
packages/engine/src/__tests__/cron-runner.test.ts | 56 ++-
.../src/__tests__/pi-create-fn-agent.test.ts | 44 +++
.../engine/src/__tests__/routine-runner.test.ts | 28 ++
packages/engine/src/cron-runner.ts | 20 +-
packages/engine/src/pi.ts | 32 +-
packages/engine/src/routine-runner.ts | 39 +-
packages/i18n/locales/en/app.json | 9 +
packages/i18n/src/resources.d.ts | 21 ++
27 files changed, 1374 insertions(+), 69 deletions(-)
Fusion-Task-Id: FN-7038
Fusion-Task-Lineage: 7f5871d0-1de0-4d22-a9c9-ee9418658677
2026-06-26 02:45:29 -07:00
gsxdsm
301f25da06
FN-7025: add MCP server management settings UI
...
Adds dashboard controls for managing MCP server configuration across global and project scopes.
- Add global and project MCP settings sections with server cards, validation, inheritance status, and import/export controls.
- Wire MCP settings into split-save behavior, browser-safe core exports, localization, and dashboard documentation.
- Cover MCP settings interactions and save routing with dashboard tests.
Files changed:
.changeset/fn-7025-mcp-dashboard-ui.md | 7 +
docs/dashboard-guide.md | 14 +
packages/core/src/types.ts | 4 +
.../app/__tests__/settings-save-split.test.ts | 25 +
.../dashboard/app/components/SettingsModal.tsx | 25 +
.../__tests__/SettingsModal.mcp.test.tsx | 228 +++++++++
.../app/components/settings/save-split.ts | 5 +
.../settings/sections/GlobalMcpSection.tsx | 26 ++
.../settings/sections/McpServersCard.css | 177 +++++++
.../settings/sections/McpServersCard.tsx | 515 +++++++++++++++++++++
.../settings/sections/ProjectMcpSection.tsx | 27 ++
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 +-
17 files changed, 1107 insertions(+), 6 deletions(-)
Fusion-Task-Id: FN-7025
Fusion-Task-Lineage: e4e59431-c819-464b-a04b-e470ac51c460
2026-06-26 02:30:34 -07:00
gsxdsm
afa33b76d3
FN-7055: fix task workflow detail rendering
...
Fix task-detail workflow rendering so inherited workflow data and live results refresh reliably.
- Clear stale workflow selections and result rows while switching between tasks.
- Load inherited/default workflow graphs and avoid empty graph previews during loading.
- Alias optional template IDs to materialized workflow steps so configured details populate.
- Cover task switching, inherited workflows, and optional step detail rendering with dashboard tests.
Files changed:
.changeset/fn-7055-workflow-tab-graph-step-details.md | 7 +++
docs/dashboard-guide.md | 1 +
packages/dashboard/app/components/TaskDetailModal.tsx | 5 ++
packages/dashboard/app/components/WorkflowResultsTab.tsx | 35 +++++++++--
packages/dashboard/app/components/__tests__/TaskDetailModal.models-progress-workflow.test.tsx | 56 +++++++++++++++++
packages/dashboard/app/components/__tests__/WorkflowResultsTab.test.tsx | 72 ++++++++++++++++++++++
6 files changed, 171 insertions(+), 5 deletions(-)
Fusion-Task-Id: FN-7055
Fusion-Task-Lineage: a28dd138-3c2f-43bc-81f9-fb47799f5251
2026-06-26 02:04:53 -07:00