gsxdsm
bdf95f8d65
FN-6770: localize dashboard workflow and task UI strings
...
Localize dashboard workflow, task, setup, and pull request UI copy through the shared i18n resources.
- Replace hardcoded dashboard strings in workflow, task detail/chat/comment, setup wizard, PR, and related modal components with translation lookups.
- Add app/common namespace keys across English and secondary locale catalogs, plus regenerated i18n resource types.
- Add the published package changeset and clear the now-localized component files from the i18n lint deferral list.
Files changed:
.changeset/fn-6770-localize-workflow-task-pr.md | 5 +
i18next.config.ts | 17 +-
packages/dashboard/app/components/Board.tsx | 10 +-
.../dashboard/app/components/PrCreateModal.tsx | 38 +--
packages/dashboard/app/components/PrPanel.tsx | 2 +-
.../dashboard/app/components/PullRequestView.tsx | 51 ++--
.../dashboard/app/components/SettingsModal.tsx | 92 +++----
.../dashboard/app/components/SetupWizardModal.tsx | 8 +-
packages/dashboard/app/components/TaskChatTab.tsx | 107 ++++----
packages/dashboard/app/components/TaskComments.tsx | 2 +-
.../dashboard/app/components/TaskDetailModal.tsx | 54 ++--
.../app/components/WorkflowNodeEditor.tsx | 109 +++++----
.../app/components/WorkflowResultsTab.tsx | 190 +++++++-------
.../dashboard/app/components/WorkflowSelector.tsx | 20 +-
packages/i18n/locales/en/app.json | 268 ++++++++++++++++++--
packages/i18n/locales/en/common.json | 28 +--
packages/i18n/locales/es/app.json | 268 ++++++++++++++++++--
packages/i18n/locales/es/common.json | 28 +--
packages/i18n/locales/fr/app.json | 268 ++++++++++++++++++--
packages/i18n/locales/fr/common.json | 28 +--
packages/i18n/locales/ko/app.json | 268 ++++++++++++++++++--
packages/i18n/locales/ko/common.json | 28 +--
packages/i18n/locales/zh-CN/app.json | 268 ++++++++++++++++++--
packages/i18n/locales/zh-CN/common.json | 28 +--
packages/i18n/locales/zh-TW/app.json | 268 ++++++++++++++++++--
packages/i18n/locales/zh-TW/common.json | 28 +--
packages/i18n/src/resources.d.ts | 272 ++++++++++++++++++---
27 files changed, 2144 insertions(+), 609 deletions(-)
Fusion-Task-Id: FN-6770
Fusion-Task-Lineage: 393b6b8a-1902-4e46-a53e-b4a0793022ca
2026-06-20 10:35:40 -07:00
gsxdsm
eca96fbd0b
FN-6771: localize settings section copy
...
Localize dashboard settings section text and restore i18n lint coverage for those files.
- Replace hardcoded settings section labels, help text, placeholders, and status copy with i18n lookups.
- Add settings translation keys across supported app and common locale catalogs and refresh generated resource types.
- Remove the settings sections from the i18n lint deferral list and document that coverage requirement.
- Add a patch changeset for the published Fusion package.
Files changed:
.changeset/fn-6771-localize-settings-sections.md | 5 +
docs/i18n-contributing.md | 3 +-
i18next.config.ts | 26 +-
.../settings/sections/AgentPermissionsSection.tsx | 55 +-
.../settings/sections/AppearanceSection.tsx | 91 +-
.../settings/sections/AuthenticationSection.tsx | 457 +++-------
.../settings/sections/BackupsSection.tsx | 229 ++---
.../settings/sections/CommandsSection.tsx | 49 +-
.../settings/sections/ExperimentalSection.tsx | 109 +--
.../settings/sections/GeneralSection.tsx | 487 ++++-------
.../settings/sections/GlobalGeneralSection.tsx | 183 +---
.../settings/sections/GlobalModelsSection.tsx | 525 ++++-------
.../components/settings/sections/MemorySection.tsx | 458 +++-------
.../components/settings/sections/MergeSection.tsx | 863 ++++++------------
.../settings/sections/NodeRoutingSection.tsx | 108 +--
.../settings/sections/NodeSyncSection.tsx | 105 +--
.../settings/sections/NotificationsSection.tsx | 484 ++++------
.../settings/sections/PluginsSection.tsx | 105 +--
.../settings/sections/ProjectModelsSection.tsx | 971 ++++++++-------------
.../components/settings/sections/RemoteSection.tsx | 560 +++++-------
.../settings/sections/ResearchGlobalSection.tsx | 314 ++-----
.../settings/sections/ResearchProjectSection.tsx | 226 ++---
.../settings/sections/RuntimesSections.tsx | 40 +-
.../settings/sections/ScheduledEvalsSection.tsx | 169 ++--
.../settings/sections/SchedulingSection.tsx | 381 ++------
.../settings/sections/WorktreesSection.tsx | 330 ++-----
packages/i18n/locales/en/app.json | 698 ++++++++++++++-
packages/i18n/locales/en/common.json | 8 +
packages/i18n/locales/es/app.json | 698 ++++++++++++++-
packages/i18n/locales/es/common.json | 8 +
packages/i18n/locales/fr/app.json | 698 ++++++++++++++-
packages/i18n/locales/fr/common.json | 8 +
packages/i18n/locales/ko/app.json | 698 ++++++++++++++-
packages/i18n/locales/ko/common.json | 8 +
packages/i18n/locales/zh-CN/app.json | 698 ++++++++++++++-
packages/i18n/locales/zh-CN/common.json | 8 +
packages/i18n/locales/zh-TW/app.json | 698 ++++++++++++++-
packages/i18n/locales/zh-TW/common.json | 8 +
packages/i18n/src/resources.d.ts | 706 ++++++++++++++-
39 files changed, 7178 insertions(+), 5097 deletions(-)
Fusion-Task-Id: FN-6771
Fusion-Task-Lineage: cdf9b36f-414e-4084-b661-b578a4c27314
2026-06-20 08:57:45 -07:00
gsxdsm
48e7a9d5e9
FN-6785: guard productivity metrics defaults
...
Productivity metrics now tolerate incomplete analytics payloads without crashing.\n\n- Default missing LOC and hours-saved metric objects to unavailable sentinels.\n- Render dash placeholders for incomplete productivity analytics payloads.\n- Add regression coverage for missing productivity metric fields.\n\nFiles changed:\n .../command-center/areas/ProductivityArea.tsx | 13 ++++++++----\n .../command-center/areas/__tests__/areas.test.tsx | 23 ++++++++++++++++++++++\n 2 files changed, 32 insertions(+), 4 deletions(-)
Fusion-Task-Id: FN-6785
Fusion-Task-Lineage: 0600a88e-58ae-4f81-9871-c5879b49810f
2026-06-20 05:23:05 -07:00
gsxdsm
b760fa0df9
FN-6769: localize remaining dashboard strings
...
Localize the remaining dashboard UI clusters and refresh the generated i18n resources.
- Replace hardcoded labels across agent, plugin, mission, workflow node, research, document, activity, and miscellaneous dashboard components with app namespace translations.
- Add and synchronize locale catalog entries for English, Spanish, French, Korean, Simplified Chinese, and Traditional Chinese.
- Update i18n lint configuration and generated resource types, with a patch changeset for the published CLI package.
Files changed:
.changeset/fn-6769-i18n-cluster.md | 5 +
i18next.config.ts | 47 +--
.../dashboard/app/components/ActiveAgentsPanel.tsx | 2 +-
packages/dashboard/app/components/ActivityFeed.tsx | 12 +-
.../dashboard/app/components/ActivityLogModal.tsx | 4 +-
packages/dashboard/app/components/AddNodeModal.tsx | 4 +-
.../dashboard/app/components/AgentDetailView.tsx | 6 +-
.../app/components/AgentGenerationModal.tsx | 2 +-
.../dashboard/app/components/AgentImportModal.tsx | 4 +-
.../app/components/AgentOnboardingModal.tsx | 4 +-
.../app/components/AgentPromptsManager.tsx | 2 +-
.../dashboard/app/components/AgentRunHistory.tsx | 2 +-
.../dashboard/app/components/AgentsOverviewBar.tsx | 2 +-
.../dashboard/app/components/BranchGroupCard.tsx | 4 +-
.../dashboard/app/components/CliBinaryPanel.tsx | 8 +-
.../app/components/CursorCliProviderCard.tsx | 4 +-
.../dashboard/app/components/DashboardLoader.tsx | 4 +-
.../dashboard/app/components/DevServerView.tsx | 8 +-
.../dashboard/app/components/DocumentsView.tsx | 6 +-
.../dashboard/app/components/ErrorBoundary.tsx | 9 +-
.../dashboard/app/components/ExecutorStatusBar.tsx | 5 +-
.../dashboard/app/components/GitHubStarPrompt.tsx | 14 +-
.../dashboard/app/components/GitManagerModal.tsx | 4 +-
.../dashboard/app/components/GroupTaskModal.tsx | 2 +-
packages/dashboard/app/components/Header.tsx | 4 +-
.../dashboard/app/components/HermesRuntimeCard.tsx | 2 +-
packages/dashboard/app/components/InsightsView.tsx | 2 +-
.../dashboard/app/components/IssueMentionPopup.tsx | 5 +-
packages/dashboard/app/components/MailboxView.tsx | 6 +-
.../components/MilestoneSliceInterviewModal.tsx | 2 +-
.../app/components/MissionInterviewModal.tsx | 2 +-
.../dashboard/app/components/MissionManager.tsx | 8 +-
.../app/components/ModelOnboardingModal.tsx | 2 +-
.../dashboard/app/components/NodeDetailModal.tsx | 2 +-
.../app/components/PiExtensionsManager.tsx | 10 +-
.../dashboard/app/components/ProjectSelector.tsx | 6 +-
packages/dashboard/app/components/QuickChatFAB.tsx | 44 +--
packages/dashboard/app/components/ResearchView.tsx | 2 +-
packages/dashboard/app/components/RoutineCard.tsx | 6 +-
.../dashboard/app/components/RoutineEditor.tsx | 2 +-
packages/dashboard/app/components/RoutingTab.tsx | 2 +-
packages/dashboard/app/components/ScheduleCard.tsx | 6 +-
packages/dashboard/app/components/ScheduleForm.tsx | 2 +-
packages/dashboard/app/components/ScriptsModal.tsx | 2 +-
.../app/components/StashConflictModal.tsx | 4 +-
.../dashboard/app/components/TerminalModal.tsx | 2 +-
.../app/components/nodes/WorkflowNodeTypes.tsx | 47 +--
packages/i18n/locales/en/app.json | 274 +++++++--------
packages/i18n/locales/es/app.json | 144 ++++++--
packages/i18n/locales/fr/app.json | 144 ++++++--
packages/i18n/locales/ko/app.json | 144 ++++++--
packages/i18n/locales/zh-CN/app.json | 144 ++++++--
packages/i18n/locales/zh-TW/app.json | 144 ++++++--
packages/i18n/src/resources.d.ts | 375 +++++++++++++++++++--
54 files changed, 1261 insertions(+), 442 deletions(-)
Fusion-Task-Id: FN-6769
Fusion-Task-Lineage: a8733dc9-3b48-47e6-88c4-020f83ab41de
2026-06-20 05:04:25 -07:00
gsxdsm
fec197afdf
FN-6774: remove colored card edge accents
...
Remove saturated edge stripes from stuck task and agent cards while preserving state legibility.
- Keep stuck task board cards and list rows on neutral borders with tinted backgrounds and existing status badges.
- Replace agent card status edge accents with subtle state backgrounds and a selected-card inset ring.
- Add CSS regression coverage to prevent colored edge-border variants from returning.
Files changed:
packages/dashboard/app/components/AgentsView.css | 46 ++++++++---
packages/dashboard/app/components/ListView.css | 5 +-
packages/dashboard/app/components/TaskCard.css | 5 +-
.../__tests__/stuck-and-agent-card-border.test.ts | 92 ++++++++++++++++++++++
4 files changed, 133 insertions(+), 15 deletions(-)
Fusion-Task-Id: FN-6774
Fusion-Task-Lineage: da49ca64-2c10-4594-888f-332cf4f9c8c8
2026-06-20 04:51:57 -07:00
gsxdsm
adbb1bbaaf
FN-6787: remove duplicate sidebar branding
...
Keep project identity controls in the Header while preserving sidebar navigation behavior.
- Remove the Fusion logo, wordmark, and project selector from the experimental left sidebar.
- Keep the sidebar collapse control reachable in expanded and collapsed modes.
- Update sidebar tests and dashboard docs to cover the simplified navigation surface.
Files changed:
docs/dashboard-guide.md | 2 +-
.../dashboard/app/components/LeftSidebarNav.css | 35 +-----------
.../dashboard/app/components/LeftSidebarNav.tsx | 33 ++----------
.../components/__tests__/LeftSidebarNav.test.tsx | 63 +++++++++++++++++++++-
4 files changed, 67 insertions(+), 66 deletions(-)
Fusion-Task-Id: FN-6787
Fusion-Task-Lineage: 18321939-4a68-48c2-bdbe-18e69e198a57
2026-06-20 04:19:48 -07:00
gsxdsm
a98a0ae23e
FN-6768: show actual concurrency slider values
...
Command Center concurrency controls now preserve persisted scheduler values and improve mobile slider handling.
- Load concurrency defaults from project settings and display persisted values without clamping the readout.
- Expand range slider maxima when existing settings exceed normal UI bounds while keeping edits bounded.
- Add mobile touch-drag affordance styling and regression coverage for actual values, overflow values, and CSS contracts.
Files changed:
.../command-center/CommandCenterControls.css | 26 +++++++-
.../command-center/CommandCenterControls.tsx | 63 +++++++++++++-----
.../__tests__/CommandCenterControls.test.tsx | 74 +++++++++++++++++++++-
3 files changed, 143 insertions(+), 20 deletions(-)
Fusion-Task-Id: FN-6768
Fusion-Task-Lineage: 2508c2ab-9e57-4d29-934c-828a015bdfe1
2026-06-20 03:08:19 -07:00
gsxdsm
d2c7ff5f95
FN-6751: show idle task chat warning
...
Make task-detail chat disclose when sent guidance will not receive an immediate agent reply.
- Add an idle session hint for non-done tasks without an active steerable agent while keeping the composer sendable.
- Style the idle hint with warning color and expose a stable test id for regression coverage.
- Expand TaskChatTab tests across inline, expanded, empty, populated, paused, and non-live session states.
- Document the idle saved-guidance behavior in the dashboard guide.
Files changed:
docs/dashboard-guide.md | 2 +-
packages/dashboard/app/components/TaskChatTab.css | 5 ++
packages/dashboard/app/components/TaskChatTab.tsx | 13 ++-
.../app/components/__tests__/TaskChatTab.test.tsx | 95 +++++++++++++++++++---
4 files changed, 99 insertions(+), 16 deletions(-)
Fusion-Task-Id: FN-6751
Fusion-Task-Lineage: 21f0764d-23db-49ca-b737-3b6a8be7a918
2026-06-20 02:56:51 -07:00
gsxdsm
2ca2627533
FN-6788: verify bottom settings placement
...
Expand LeftSidebarNav tests to lock the settings control at the sidebar footer.
- Assert the settings button renders as the last sidebar button in the footer.
- Preserve bottom settings coverage when optional destinations are gated off and when the rail is collapsed.
- Cover clicking the settings button without an optional handler.
Files changed:
.../components/__tests__/LeftSidebarNav.test.tsx | 26 +++++++++++++++++++---
1 file changed, 23 insertions(+), 3 deletions(-)
Fusion-Task-Id: FN-6788
Fusion-Task-Lineage: 7f378f59-094f-4be1-9fee-eafb1b631cf8
2026-06-20 02:46:54 -07:00
gsxdsm
98720f3626
FN-6766: fix mobile nav icon spacing
...
Keeps mobile bottom navigation icons evenly centered across tab variants.
- Make each mobile nav tab an equal-width flex column that ignores intrinsic label width.
- Center and truncate labels without affecting icon spacing.
- Add coverage for optional tabs, active tabs, badges, status dots, and overflow plugin views.
- Add a patch changeset for the published CLI bundle.
Files changed:
.changeset/fn-6766-mobile-nav-spacing.md | 5 ++
packages/dashboard/app/components/MobileNavBar.css | 18 ++--
.../app/components/__tests__/MobileNavBar.test.tsx | 95 ++++++++++++++++++++++
3 files changed, 113 insertions(+), 5 deletions(-)
Fusion-Task-Id: FN-6766
Fusion-Task-Lineage: 0fe92813-9110-4bc9-b0d0-39d98dc7dba9
2026-06-20 02:38:27 -07:00
gsxdsm
c4f34ceed1
FN-6767: make agents sidebar resizable
...
Make the Agents split view wider by default and persist user-adjusted sidebar widths.
- Add a desktop/tablet resize handle with pointer and keyboard controls, clamped accessible values, and per-project storage.\n- Update split-layout CSS so mobile remains stacked while non-mobile views reserve a resize affordance column.\n- Cover default, stored, clamped, pointer, keyboard, mobile, and org-chart sidebar behaviors in tests.\n- Add a patch changeset for the published Fusion package.\n\nFiles changed:\n .changeset/fn-6767-agents-sidebar.md | 5 +\n packages/dashboard/app/components/AgentsView.css | 47 ++++++--\n packages/dashboard/app/components/AgentsView.tsx | 101 +++++++++++++++-\n .../app/components/__tests__/AgentsView.test.tsx | 132 +++++++++++++++++++++\n .../app/utils/__tests__/projectStorage.test.ts | 3 +-\n packages/dashboard/app/utils/projectStorage.ts | 1 +\n 6 files changed, 280 insertions(+), 9 deletions(-)
Fusion-Task-Id: FN-6767
Fusion-Task-Lineage: 93605e16-7524-4577-bbcd-666c105a867b
2026-06-20 02:25:11 -07:00
gsxdsm
7eceec00cc
FN-6763: add themed workflow status switcher
...
Add a reusable dashboard workflow picker that shows inline task status counts across board and list views.
- Replace native workflow selects with a themed accessible dropdown component.
- Share workflow status count calculation between board and list views.
- Add styling, i18n labels, tests, and dashboard docs for the switcher behavior.
Files changed:
docs/dashboard-guide.md | 3 +-
packages/dashboard/app/components/Board.tsx | 28 +--
packages/dashboard/app/components/Lane.css | 2 +
.../dashboard/app/components/LeftSidebarNav.tsx | 2 +-
packages/dashboard/app/components/ListView.css | 17 --
packages/dashboard/app/components/ListView.tsx | 31 ++-
.../dashboard/app/components/WorkflowSwitcher.css | 186 ++++++++++++++
.../dashboard/app/components/WorkflowSwitcher.tsx | 270 +++++++++++++++++++++
.../app/components/__tests__/Board.test.tsx | 60 +++--
.../app/components/__tests__/ListView.test.tsx | 79 +++++-
.../components/__tests__/WorkflowSwitcher.test.tsx | 92 +++++++
.../__tests__/workflowStatusCounts.test.ts | 122 ++++++++++
.../app/components/workflowStatusCounts.ts | 54 +++++
packages/i18n/locales/en/app.json | 9 +
packages/i18n/locales/es/app.json | 9 +
packages/i18n/locales/fr/app.json | 9 +
packages/i18n/locales/ko/app.json | 9 +
packages/i18n/locales/zh-CN/app.json | 9 +
packages/i18n/locales/zh-TW/app.json | 9 +
19 files changed, 930 insertions(+), 70 deletions(-)
Fusion-Task-Id: FN-6763
Fusion-Task-Lineage: 3503ea85-841a-4cd3-9960-1b22ef2cd4ea
2026-06-20 02:08:36 -07:00
gsxdsm
1ab2d4161a
FN-6789: make dashboard utility views fill flex rows
...
Goals, Research, and Stash Recovery now keep full-width layouts inside the project-content flex row.
- Add flex growth, zero min-width, and full-width root sizing to Goals, Research, and Stash Recovery views.
- Document the view-level flex sizing requirement with FNXC comments.
- Add CSS contract tests for both bundled and base CSS fixtures.
Files changed:
packages/dashboard/app/components/GoalsView.css | 7 +++++++
packages/dashboard/app/components/ResearchView.css | 7 +++++++
.../dashboard/app/components/StashRecoveryView.css | 7 +++++++
.../app/components/__tests__/GoalsView.test.tsx | 20 ++++++++++++++++++++
.../app/components/__tests__/ResearchView.test.tsx | 19 +++++++++++++++++++
.../components/__tests__/StashRecoveryView.test.tsx | 20 ++++++++++++++++++++
6 files changed, 80 insertions(+)
Fusion-Task-Id: FN-6789
Fusion-Task-Lineage: f650d95b-583b-48c8-a2e4-fe63317b4576
2026-06-20 01:52:26 -07:00
gsxdsm
58a6dccfb2
FN-6758: set shadcn theme accent orange
...
Update the default shadcn dashboard theme to use orange highlight accents while keeping its neutral base.\n\n- Set dark and light shadcn accent tokens and accent text for orange highlights.\n- Update shadcn theme swatches and documentation to reflect the orange accent.\n- Adjust theme tests to assert the orange accent token and preserved glow neutralization.\n\nFiles changed:\n docs/dashboard-guide.md | 2 +-\n packages/dashboard/app/components/ThemeSelector.css | 4 ++--\n packages/dashboard/app/hooks/__tests__/useTheme.test.ts | 12 ++++++++----\n packages/dashboard/app/public/theme-data.css | 11 +++++++----\n 4 files changed, 18 insertions(+), 11 deletions(-)
Fusion-Task-Id: FN-6758
Fusion-Task-Lineage: b4fe5a6d-416e-4cd1-be57-7e6da5a07f59
2026-06-20 01:43:20 -07:00
gsxdsm
7559883940
FN-6765: fix mobile nav mailbox duplication
...
Keep Mailbox as a single top-level entry while Todos stays in overflow navigation.
- Remove the duplicate Mailbox action from the mobile More sheet while preserving its primary-tab badges.
- Cover desktop, tablet, and mobile navigation placement expectations for Todos and Mailbox.
- Update dashboard docs to describe compact Header and mobile bottom-nav mailbox indicators.
Files changed:
docs/dashboard-guide.md | 2 +-
.../mobile-feature-access-regression.test.tsx | 3 +-
packages/dashboard/app/components/MobileNavBar.tsx | 22 +++---------
.../app/components/__tests__/Header.test.tsx | 19 +++++++----
.../app/components/__tests__/MobileNavBar.test.tsx | 39 ++++++++++++++++++----
5 files changed, 52 insertions(+), 33 deletions(-)
Fusion-Task-Id: FN-6765
Fusion-Task-Lineage: e32f271e-7dab-43e0-b824-da598641aa77
2026-06-20 01:34:51 -07:00
gsxdsm
10208ecd63
FN-6764: make research and insights tablet layouts full width
...
Research and Insights now reflow at tablet widths to avoid cut-off content while preserving mobile and desktop behavior.
- Add tablet-specific full-width Research layout rules with shrink-safe reader/history containers.
- Add tablet-specific Insights layout rules that stack the category rail above the detail pane.
- Cover Research and Insights responsive CSS contracts across desktop, mobile, and tablet tiers.
Files changed:
packages/dashboard/app/components/InsightsView.css | 67 ++++++++++++++++++++++
packages/dashboard/app/components/ResearchView.css | 47 +++++++++++++++
.../app/components/__tests__/InsightsView.test.tsx | 20 +++++++
.../app/components/__tests__/ResearchView.test.tsx | 13 +++++
4 files changed, 147 insertions(+)
Fusion-Task-Id: FN-6764
Fusion-Task-Lineage: ed528038-e69b-4794-9885-fb3b5f47b3ed
2026-06-20 01:27:54 -07:00
gsxdsm
aaa1aa2fed
FN-6786: narrow experimental sidebar labels
...
Refine the experimental left sidebar so it uses shorter labels in a narrower layout.
- Reduce the default and tokenized sidebar width while preserving resize bounds.
- Switch sidebar entries to noun labels and remove plugin "view" suffixes.
- Shorten the Compound Engineering plugin label to Compound and cover the behavior in sidebar tests.
- Add localized nav label keys for supported app locales.
Files changed:
.../dashboard/app/components/LeftSidebarNav.css | 2 +-
.../dashboard/app/components/LeftSidebarNav.tsx | 34 ++++++++++++------
.../components/__tests__/LeftSidebarNav.test.tsx | 40 ++++++++++++++++++++++
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 ++
9 files changed, 76 insertions(+), 12 deletions(-)
Fusion-Task-Id: FN-6786
Fusion-Task-Lineage: e8a35018-3b9c-44f6-a4ae-5b6a59281df3
2026-06-20 01:11:42 -07:00
gsxdsm
2e3b965909
FN-6757: smooth mobile Quick Chat keyboard resizing
...
Smooth Quick Chat mobile panel height changes while keeping viewport sampling synchronous.\n\n- Add Android resize-content detection that toggles height easing only for coarse keyboard viewport samples.\n- Clear smoothing and viewport CSS variables on blur, unmount, and suppressed shrink paths.\n- Cover Android smoothing, iOS offsetTop refocus, Latest gate, and streaming state with Quick Chat regression tests.\n- Document the mobile keyboard smoothing behavior and add a published package changeset.\n\nFiles changed:\n .changeset/smooth-mobile-quick-chat-keyboard.md | 5 +\n docs/dashboard-guide.md | 1 +\n .../quick-chat-mobile-keyboard-board-shift.md | 2 +\n packages/dashboard/app/components/QuickChatFAB.css | 8 ++\n packages/dashboard/app/components/QuickChatFAB.tsx | 17 +++\n .../app/components/__tests__/QuickChatFAB.test.tsx | 141 +++++++++++++++++++++\n 6 files changed, 174 insertions(+)
Fusion-Task-Id: FN-6757
Fusion-Task-Lineage: d301aee8-ef76-4d70-a4cd-91641bb05259
2026-06-20 00:41:36 -07:00
gsxdsm
24fd4952bb
FN-6753: isolate routes-auth from dashboard backfill
...
Preserve auth route coverage by moving the suite out of the contended API backfill shard.\n\n- Add routes-auth to the curated dashboard API quality shard.\n- Document the FN-6753 suite-load coupling classification and shard-isolation remedy.\n\nFiles changed:\n docs/testing.md | 4 ++++\n packages/dashboard/vitest.config.ts | 7 ++++++-\n 2 files changed, 10 insertions(+), 1 deletion(-)
Fusion-Task-Id: FN-6753
Fusion-Task-Lineage: 4da2f45f-87ba-4b80-baed-68dbde93a09e
2026-06-20 00:30:54 -07:00
gsxdsm
9483670d6a
FN-6755: move org chart and heartbeat controls to Team
...
Relocate Command Center team operations out of Overview and into the Team section.
- Render the agent org chart and heartbeat pause/resume controls above Team analytics.
- Keep Overview controls focused on global engine, concurrency, and theme settings.
- Add Team-specific styling and tests for org chart, heartbeat, and responsive placement.
- Update Command Center documentation to describe the new Team operations layout.
Files changed:
docs/dashboard-guide.md | 5 +-
.../components/command-center/CommandCenter.tsx | 2 +-
.../command-center/CommandCenterControls.css | 61 ------
.../command-center/CommandCenterControls.tsx | 188 +------------------
.../__tests__/CommandCenter.mobile-scroll.test.tsx | 8 +-
.../__tests__/CommandCenter.tablet-layout.test.tsx | 2 +-
.../__tests__/CommandCenter.test.tsx | 4 +
.../__tests__/CommandCenterControls.test.tsx | 89 +--------
.../components/command-center/areas/TeamArea.tsx | 204 ++++++++++++++++++++-
.../command-center/areas/__tests__/areas.test.tsx | 123 ++++++++++++-
.../app/components/command-center/areas/areas.css | 181 ++++++++++++++++++
11 files changed, 526 insertions(+), 341 deletions(-)
Fusion-Task-Id: FN-6755
Fusion-Task-Lineage: 63ceb609-f0e3-4e02-8fea-c97cfc18ccf2
2026-06-20 00:15:25 -07:00
gsxdsm
24246fba2b
FN-6772: add experimental left sidebar navigation
...
Add a flag-gated desktop/tablet sidebar navigation surface while preserving mobile navigation behavior.
- Add LeftSidebarNav with project selection, primary and overflow destinations, badges, collapsed state, and resize persistence.
- Wire the experimental flag through App and Header so the sidebar owns non-mobile navigation when enabled.
- Style the sidebar shell, resize handle, collapsed rail, and project selector adaptations.
- Document the experiment and cover sidebar/mobile navigation regressions with tests.
Files changed:
docs/dashboard-guide.md | 10 +
packages/dashboard/app/App.tsx | 52 ++-
.../mobile-feature-access-regression.test.tsx | 94 ++++-
packages/dashboard/app/components/Header.tsx | 12 +-
.../dashboard/app/components/LeftSidebarNav.css | 217 ++++++++++
.../dashboard/app/components/LeftSidebarNav.tsx | 465 +++++++++++++++++++++
.../dashboard/app/components/ProjectSelector.css | 20 +
.../dashboard/app/components/SettingsModal.tsx | 1 +
.../components/__tests__/LeftSidebarNav.test.tsx | 201 +++++++++
9 files changed, 1063 insertions(+), 9 deletions(-)
Fusion-Task-Id: FN-6772
Fusion-Task-Lineage: 13ba4ea0-e64b-47a0-abf0-3134a750007a
2026-06-19 23:28:35 -07:00
gsxdsm
a326e8e684
FN-6717: move Nodes into Command Center
...
Move node management into the Command Center experience while removing the separate Nodes overlay entry points.
- Add a gated Nodes tab to Command Center and pass toast wiring through from App.
- Remove top-level header and mobile-nav Nodes overlay controls and overlay-only styling.
- Let NodesView render without a close button when embedded as a tab.
- Update navigation, lazy-load docs, mobile access, and Command Center tests for the new surface.
Files changed:
AGENTS.md | 3 +-
packages/dashboard/app/App.tsx | 57 ++-------------
.../app/__tests__/lazy-loaded-views-docs.test.ts | 11 +--
.../mobile-feature-access-regression.test.tsx | 12 ++--
packages/dashboard/app/components/Header.tsx | 33 +--------
packages/dashboard/app/components/MobileNavBar.tsx | 16 -----
packages/dashboard/app/components/NodesView.css | 37 ----------
packages/dashboard/app/components/NodesView.tsx | 22 +++---
.../app/components/__tests__/Header.test.tsx | 22 ++----
.../app/components/__tests__/MobileNavBar.test.tsx | 22 +-----
.../app/components/__tests__/NodesView.test.tsx | 81 +++-------------------
...-merge-toggle-blank.mobile-integration.test.tsx | 1 -
.../components/command-center/CommandCenter.tsx | 17 ++++-
.../__tests__/CommandCenter.mobile-scroll.test.tsx | 2 +-
.../__tests__/CommandCenter.tablet-layout.test.tsx | 2 +-
.../__tests__/CommandCenter.test.tsx | 40 ++++++++++-
packages/dashboard/app/styles.css | 2 +-
packages/i18n/locales/en/app.json | 1 +
18 files changed, 106 insertions(+), 275 deletions(-)
Fusion-Task-Id: FN-6717
Fusion-Task-Lineage: 89306335-c247-4c66-8937-adfdf8c3cbb8
2026-06-19 23:16:19 -07:00
gsxdsm
f3343ca79f
FN-6754: restore Command Center tablet API mocks
...
Restore the Command Center tablet layout test mock contract so hook refresh calls resolve cleanly.
- Export fetchConfig, fetchSettings, and updateSettings from the tablet test api mock.
- Document why the real useAppSettings hook requires the full api mock surface.
- Preserve task fixture updates for populated productivity metrics.
Files changed:
.../command-center/__tests__/CommandCenter.mobile-scroll.test.tsx | 2 +-
.../command-center/__tests__/CommandCenter.tablet-layout.test.tsx | 8 ++++++--
2 files changed, 7 insertions(+), 3 deletions(-)
Fusion-Task-Id: FN-6754
Fusion-Task-Lineage: 5c5955e3-7b23-4fb3-baf5-4ba9dcfeef2e
2026-06-19 23:06:44 -07:00
gsxdsm
28ba1bce85
FN-6784: keep Command Center numbers on one line
...
Command Center token totals now shrink to fit instead of wrapping digit groups.
- Add inline-size containers around stat cards and live metrics for container-query scaling.
- Replace digit wrapping with nowrap overflow clipping and clamp-based numeric font sizes.
- Strengthen Command Center tests for exact live metric values and CSS no-wrap shrink contracts.
Files changed:
.../app/components/command-center/CommandCenter.css | 17 ++++++++++++-----
.../command-center/__tests__/CommandCenter.test.tsx | 3 ++-
.../CommandCenter.token-validity.css.test.ts | 19 +++++++++++++++----
3 files changed, 29 insertions(+), 10 deletions(-)
Fusion-Task-Id: FN-6784
Fusion-Task-Lineage: dfe165f4-7304-49eb-b46b-83c0a9e2c4a3
2026-06-19 22:31:57 -07:00
gsxdsm
a63cf1c911
FN-6750: harden task chat steering coverage
...
Verify task chat timestamps and immediate steering delivery across UI, route, and executor surfaces.
- Assert inline and expanded TaskChatTab timestamp parity for agent output and user steering comments.
- Cover steering route wake payloads so assigned agents receive the newest steering comment id immediately.
- Harden executor real-time steering tests for seen-before-inject ordering, queued prompt delivery, duplicate suppression, and empty-comment no-ops.
Files changed:
.../app/components/__tests__/TaskChatTab.test.tsx | 79 +++++++++++-
.../src/__tests__/routes-tasks-ops.test.ts | 136 +++++++++++++++++++++
.../src/__tests__/executor-step-session.test.ts | 116 ++++++++++++++++--
3 files changed, 316 insertions(+), 15 deletions(-)
Fusion-Task-Id: FN-6750
Fusion-Task-Lineage: 48e1d57d-fd37-4d45-9b98-766c4a2f704d
2026-06-19 22:24:18 -07:00
gsxdsm
d4d7623ee0
FN-6749: rebaseline i18n lint guardrail
...
Rebaseline the i18n hardcoded-string lint guardrail for shipping dashboard surfaces.
- Add scoped i18n lint ignores for non-shipping tests, stories, and deferred source-copy files with follow-up rationale.
- Localize remaining plugin/view copy and replace technical glyph literals that should not be linted as prose.
- Refresh synced locale catalogs and generated resource types, and document the lint baseline policy.
Files changed:
.changeset/fn-6749-i18n-lint-rebaseline.md | 5 +
docs/i18n-contributing.md | 14 +
i18next.config.ts | 96 ++
.../dashboard/app/components/AgentDetailView.tsx | 4 +-
.../app/components/ConversationHistory.tsx | 4 +-
.../app/components/DockerNodeOnboardingModal.tsx | 8 +-
.../components/MilestoneSliceInterviewModal.tsx | 4 +-
.../app/components/MissionInterviewModal.tsx | 4 +-
.../app/components/ModelSelectionModal.tsx | 4 +-
.../dashboard/app/components/NodeDetailModal.tsx | 15 +-
.../dashboard/app/components/PlanningModeModal.tsx | 4 +-
.../dashboard/app/components/SessionTerminal.tsx | 15 +-
.../app/components/SubtaskBreakdownModal.tsx | 4 +-
packages/dashboard/app/components/TaskForm.tsx | 4 +-
.../dashboard/app/components/TerminalModal.tsx | 18 +-
.../dashboard/app/plugins/pluginViewRegistry.tsx | 7 +-
packages/i18n/locales/en/app.json | 890 +++++++++---
packages/i18n/locales/en/common.json | 82 +-
packages/i18n/locales/es/app.json | 986 ++++++++++---
packages/i18n/locales/es/common.json | 82 +-
packages/i18n/locales/fr/app.json | 986 ++++++++++---
packages/i18n/locales/fr/common.json | 82 +-
packages/i18n/locales/ko/app.json | 1482 ++++++++++++++------
packages/i18n/locales/ko/cli.json | 8 +-
packages/i18n/locales/ko/common.json | 82 +-
packages/i18n/locales/zh-CN/app.json | 1482 ++++++++++++++------
packages/i18n/locales/zh-CN/cli.json | 8 +-
packages/i18n/locales/zh-CN/common.json | 82 +-
packages/i18n/locales/zh-TW/app.json | 1482 ++++++++++++++------
packages/i18n/locales/zh-TW/cli.json | 8 +-
packages/i18n/locales/zh-TW/common.json | 82 +-
packages/i18n/src/resources.d.ts | 459 +++---
32 files changed, 6055 insertions(+), 2438 deletions(-)
Fusion-Task-Id: FN-6749
Fusion-Task-Lineage: 789a7cbb-fdf8-4190-8cd2-6bf7d5e2d552
2026-06-19 22:14:57 -07:00
gsxdsm
a3be2351d1
Fix Full Suite test failures: productivity fixtures + delete teardown race
...
Three failures in the non-blocking Full Suite:
- CommandCenter mobile-scroll / tablet-layout regression tests rendered with
productivity fixtures missing the `hoursSaved` field added in FN-6721. That
made ProductivityArea throw on `data.hoursSaved.unavailable`, an uncaught
exception that crashed the CommandCenter render (no `command-center` testid)
and polluted the shared worker, causing collateral QuickEntryBox failures.
Add `hoursSaved` to both fixtures.
- github-tracking-delete route test failed intermittently with
`ENOTEMPTY: ... rmdir '.../.fusion'` because the fire-and-forget delete
handler can write into `.fusion` while afterEach removes the temp dir. Make
rm tolerant via maxRetries/retryDelay.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-19 21:09:12 -07:00
gsxdsm
0c0fda1d7d
FN-6781: keep Command Center inline in the header
...
Keep Command Center anchored as an inline header destination while preserving changed-test coverage selection.
- Render Command Center immediately after Agents on tablet and desktop instead of moving it into the More views overflow.
- Update header and tablet tests plus docs to lock the stable inline navigation contract.
- Treat the quarantine data file as test-irrelevant so edits do not force gate mode and drop affected-package tests.
Files changed:
.changeset/fix-quarantine-json-gate-mode.md | 5 ++
.changeset/fn-6781-command-center-header.md | 5 ++
CONCEPTS.md | 3 +
docs/dashboard-guide.md | 4 +-
...data-file-forces-gate-mode-dropping-coverage.md | 74 ++++++++++++++++++++++
.../app/__tests__/tablet-header-controls.test.tsx | 7 +-
packages/dashboard/app/components/Header.tsx | 51 +++++----------
.../app/components/__tests__/Header.test.tsx | 8 ++-
scripts/__tests__/test-changed.test.mjs | 20 ++++++
scripts/test-changed.mjs | 8 +++
10 files changed, 142 insertions(+), 43 deletions(-)
Fusion-Task-Id: FN-6781
Fusion-Task-Lineage: d328501d-7ec4-40ac-a140-6a491ea560e2
2026-06-19 20:59:05 -07:00
gsxdsm
1a565a368b
FN-6744: rescue WorkflowNodeEditor merge seam guard
...
Rescue the WorkflowNodeEditor quarantine by making duplicate merge seam detection reliable during initial canvas load.
- Derive fragment seam conflicts from the loaded workflow IR until React Flow nodes materialize.
- Treat IR merge nodes as merge seams so duplicate merge fragments are rejected consistently.
- Cover desktop and mobile duplicate merge fragment insertion paths and remove the test from quarantine.
- Document the FN-6744 rescue evidence and deletion-ratchet update.
Files changed:
docs/testing.md | 6 +++-
.../app/components/WorkflowNodeEditor.tsx | 11 +++++--
.../__tests__/WorkflowNodeEditor.test.tsx | 34 ++++++++++++++++------
.../app/components/workflow-flow-mapping.ts | 10 +++++++
packages/dashboard/vitest.config.ts | 8 +++--
scripts/lib/test-quarantine.json | 5 ----
6 files changed, 54 insertions(+), 20 deletions(-)
Fusion-Task-Id: FN-6744
Fusion-Task-Lineage: 0f5b167a-8efc-4458-ac9d-e719320b751f
2026-06-19 18:38:17 -07:00
gsxdsm
d06d1052db
FN-6743: rescue QuickEntryBox focus restoration
...
Restore reliable QuickEntryBox post-submit focus and return its test to the dashboard suite.
- Replace the ref-gated focus effect with a state-driven post-submit focus request.
- Cover desktop Enter, Save, duplicate-confirmed submit, mobile non-focus, and failed-submit draft preservation.
- Remove QuickEntryBox from dashboard quarantine while keeping the remaining workflow editor quarantine.
Files changed:
.../dashboard/app/components/QuickEntryBox.tsx | 46 +++++++++++++++++-----
.../components/__tests__/QuickEntryBox.test.tsx | 29 +++++++++++++-
packages/dashboard/vitest.config.ts | 5 ++-
scripts/lib/test-quarantine.json | 5 ---
4 files changed, 69 insertions(+), 16 deletions(-)
Fusion-Task-Id: FN-6743
Fusion-Task-Lineage: 2d458631-3ff3-4d96-8d91-bc2a17538be2
2026-06-19 17:49:06 -07:00
gsxdsm
5117944371
FN-6720: add productivity task duration stats
...
Adds completed-task active-duration analytics to the Command Center Productivity surface.\n\n- Aggregate average, median, p90, total, and completed-task duration metrics from done tasks with recorded active time.\n- Render duration stat cards with unavailable dash sentinels and export matching CSV rows.\n- Cover analytics, dashboard, route, CSV, mobile/tablet layout, and documentation behavior.\n\nFiles changed:\n .changeset/soft-badgers-measure.md | 5 +\n docs/architecture.md | 4 +-\n docs/dashboard-guide.md | 2 +-\n docs/storage.md | 2 +\n .../src/__tests__/productivity-analytics.test.ts | 105 ++++++++++++++++++++-\n packages/core/src/productivity-analytics.ts | 83 +++++++++++++++-\n .../__tests__/CommandCenter.mobile-scroll.test.tsx | 16 ++++\n .../__tests__/CommandCenter.tablet-layout.test.tsx | 19 ++++\n .../command-center/areas/ProductivityArea.tsx | 65 ++++++++++++-\n .../command-center/areas/__tests__/areas.test.tsx | 65 ++++++++++++-\n .../components/command-center/areas/areaShared.ts | 12 +++\n .../src/__tests__/command-center-csv.test.ts | 8 ++\n .../register-command-center-routes.test.ts | 22 +++++\n packages/dashboard/src/command-center-csv.ts | 5 +\n 14 files changed, 404 insertions(+), 9 deletions(-)
Fusion-Task-Id: FN-6720
Fusion-Task-Lineage: aa0980eb-d156-4dca-b6b8-1788570c166b
2026-06-19 17:25:35 -07:00
gsxdsm
f01ede2523
FN-6742: rescue session cross-tab tests
...
Rescue the dashboard session cross-tab test before its deletion-ratchet deadline.
- Dispose the API router and session cleanup scheduler before closing test stores.
- Hide unused TaskStore EventEmitter hooks in the route-only harness to avoid background route subscribers reopening temp fixtures.
- Remove the session-cross-tab quarantine ledger entry and dashboard Vitest exclude in lockstep.
- Document the rescue evidence and teardown pattern for future dashboard session tests.
Files changed:
docs/testing.md | 6 ++++-
.../src/__tests__/session-cross-tab.test.ts | 30 +++++++++++++++++++---
packages/dashboard/vitest.config.ts | 5 +++-
scripts/lib/test-quarantine.json | 5 ----
4 files changed, 36 insertions(+), 10 deletions(-)
Fusion-Task-Id: FN-6742
Fusion-Task-Lineage: e26d70eb-f139-45f7-8ddd-bde2d172c291
2026-06-19 16:47:34 -07:00
gsxdsm
fc0636fe90
FN-6748: add Air dashboard theme
...
Adds a minimal, borderless Air color theme across dashboard theme selection and bootstrap validation.
- Register Air in the core theme union, dashboard theme options, and browser/desktop bootstrap validators.
- Add dark and light Air token blocks with flattened chrome styling and matching swatch samples.
- Cover Air registration and CSS invariants with a focused dashboard test.
- Document the Air theme alongside the existing Shadcn theme in dashboard theming guidance.
Files changed:
docs/dashboard-guide.md | 2 +-
packages/core/src/types.ts | 2 +
packages/dashboard/app/__tests__/air-theme.test.ts | 58 ++++++++++++
.../dashboard/app/components/ThemeSelector.css | 14 +++
packages/dashboard/app/components/themeOptions.ts | 1 +
packages/dashboard/app/index.html | 2 +-
packages/dashboard/app/public/theme-data.css | 101 +++++++++++++++++++++
packages/desktop/src/renderer/index.html | 1 +
8 files changed, 179 insertions(+), 2 deletions(-)
Fusion-Task-Id: FN-6748
Fusion-Task-Lineage: a0caf14f-673d-485c-8886-97e4b273b624
2026-06-19 16:47:34 -07:00
gsxdsm
e19f7c2008
FN-6747: add shadcn dashboard theme
...
Add a shadcn-inspired dashboard theme across the theme picker, persisted startup validation, and public theme tokens.
- Register the Shadcn color theme in core and dashboard theme option lists.
- Add zinc-neutral dark and light CSS tokens with Geist typography, 1px borders, subtle shadows, and neutralized glow effects.
- Add theme swatches, documentation, startup allow-list support, regression coverage, and a published package changeset.
Files changed:
.changeset/shadcn-dashboard-theme.md | 5 +
docs/dashboard-guide.md | 2 +-
packages/core/src/types.ts | 1 +
.../dashboard/app/components/ThemeSelector.css | 14 ++
packages/dashboard/app/components/themeOptions.ts | 1 +
.../dashboard/app/hooks/__tests__/useTheme.test.ts | 28 ++++
packages/dashboard/app/index.html | 2 +-
packages/dashboard/app/public/theme-data.css | 166 +++++++++++++++++++++
8 files changed, 217 insertions(+), 2 deletions(-)
Fusion-Task-Id: FN-6747
Fusion-Task-Lineage: cf0d6732-aa4f-457d-ae6c-e54fca0191b2
2026-06-19 16:47:34 -07:00
gsxdsm
59d3eee7f4
FN-6721: estimate productivity hours saved
...
Estimate human hours saved from productivity LOC analytics and expose it consistently.
- Add a shared human-lines-per-hour conversion and hoursSaved summary to productivity analytics.
- Show human hours saved in the Command Center productivity area with unavailable-state handling.
- Include hoursSaved in productivity CSV exports, docs, tests, and the release changeset.
Files changed:
.changeset/fuzzy-productivity-hours.md | 5 ++++
docs/architecture.md | 4 +--
docs/storage.md | 4 +--
.../src/__tests__/productivity-analytics.test.ts | 29 ++++++++++++++++------
packages/core/src/index.ts | 3 ++-
packages/core/src/productivity-analytics.ts | 28 +++++++++++++++++++--
.../command-center/areas/ProductivityArea.tsx | 24 ++++++++++++++++++
.../command-center/areas/__tests__/areas.test.tsx | 9 ++++++-
.../src/__tests__/command-center-csv.test.ts | 29 +++++++++++++++++++++-
.../register-command-center-routes.test.ts | 1 +
packages/dashboard/src/command-center-csv.ts | 1 +
11 files changed, 120 insertions(+), 17 deletions(-)
Fusion-Task-Id: FN-6721
Fusion-Task-Lineage: 80114bfc-7d7f-4659-983a-9488660e5f0f
2026-06-19 16:47:34 -07:00
gsxdsm
c158dda8a6
FN-6745: add xhigh thinking level support
...
Adds the xhigh reasoning option across settings, task flows, APIs, and model adapter tests.
- Extend the shared thinking-level enum, validation paths, generated resource types, and settings documentation for `xhigh`.
- Surface `xhigh` in task, agent, and global model selectors with localized labels.
- Cover task route handling, task form rendering, and Pi adapter mapping behavior with regression tests.
- Add a patch changeset for the published Fusion package.
Files changed:
.changeset/fn-6745-xhigh-thinking-level.md | 5 +
docs/settings-reference.md | 2 +-
.../core/src/__tests__/thinking-levels.test.ts | 9 ++
packages/core/src/types.ts | 10 +-
packages/dashboard/app/api/legacy.ts | 6 +-
.../dashboard/app/components/AgentDetailView.tsx | 2 +-
.../dashboard/app/components/ModelSelectorTab.tsx | 1 +
.../dashboard/app/components/NewAgentDialog.tsx | 3 +-
packages/dashboard/app/components/NewTaskModal.tsx | 2 +-
.../dashboard/app/components/TaskDetailModal.tsx | 2 +-
packages/dashboard/app/components/TaskForm.tsx | 2 +
.../app/components/__tests__/TaskForm.test.tsx | 14 +++
.../settings/sections/GlobalModelsSection.tsx | 1 +
.../src/__tests__/routes-tasks-ops.test.ts | 8 +-
.../dashboard/src/__tests__/routes-tasks.test.ts | 8 +-
packages/dashboard/src/agent-generation.ts | 4 +-
packages/dashboard/src/agent-onboarding.ts | 4 +-
.../src/routes/register-task-workflow-routes.ts | 5 +-
packages/engine/src/__tests__/pi.test.ts | 25 ++++
packages/i18n/locales/en/app.json | 3 +
packages/i18n/locales/es/app.json | 3 +
packages/i18n/locales/fr/app.json | 3 +
packages/i18n/locales/ko/app.json | 3 +
packages/i18n/locales/zh-CN/app.json | 3 +
packages/i18n/locales/zh-TW/app.json | 3 +
packages/i18n/src/resources.d.ts | 126 ++++++++++++++++++++-
26 files changed, 229 insertions(+), 28 deletions(-)
Fusion-Task-Id: FN-6745
Fusion-Task-Lineage: 779e1517-607b-482b-83a1-0f2bb94ae736
2026-06-19 16:47:34 -07:00
gsxdsm
5145e609cc
FN-6727: add Command Center operator controls
...
Add operator controls to the Command Center overview and reuse a shared theme dropdown.
- Add Command Center controls for org chart status, pause toggles, heartbeat, concurrency settings, and theme selection.
- Extract theme option metadata and a reusable ThemeDropdown for app-level and Command Center theme controls.
- Update localization, documentation, and dashboard tests for the new controls and mobile layout behavior.
Files changed:
docs/dashboard-guide.md | 1 +
docs/settings-reference.md | 6 +-
packages/dashboard/app/App.tsx | 8 +-
.../dashboard/app/components/ThemeDropdown.css | 96 +++++
.../dashboard/app/components/ThemeDropdown.tsx | 175 +++++++++
.../dashboard/app/components/ThemeSelector.tsx | 65 +---
.../components/__tests__/ThemeDropdown.test.tsx | 76 ++++
.../components/__tests__/ThemeSelector.test.tsx | 18 +
.../components/command-center/CommandCenter.tsx | 52 ++-
.../command-center/CommandCenterControls.css | 193 ++++++++++
.../command-center/CommandCenterControls.tsx | 424 +++++++++++++++++++++
.../__tests__/CommandCenter.mobile-scroll.test.tsx | 17 +
.../__tests__/CommandCenter.test.tsx | 26 +-
.../__tests__/CommandCenterControls.test.tsx | 241 ++++++++++++
packages/dashboard/app/components/themeOptions.ts | 70 ++++
packages/i18n/locales/en/app.json | 47 +++
16 files changed, 1442 insertions(+), 73 deletions(-)
Fusion-Task-Id: FN-6727
Fusion-Task-Lineage: bd7752cf-9f6e-4359-a5bc-d2a4b68d086b
2026-06-19 16:47:33 -07:00
gsxdsm
87f18f87ed
FN-6705: add plugin activation analytics
...
Record plugin activation events and expose them to Command Center analytics.
- Add plugin activation persistence, aggregation helpers, and exports.
- Record load/reload activation events through the plugin loader and store APIs.
- Surface plugin activation counts in the Command Center Ecosystem area and API route.
- Cover migrations, aggregation behavior, plugin loader recording, route auth, UI rendering, and quarantined flaky suites.
Files changed:
.changeset/fn-6705-plugin-activation-analytics.md | 5 +
docs/architecture.md | 2 +-
docs/dashboard-guide.md | 2 +-
packages/cli/vitest.config.ts | 8 +
packages/core/src/__tests__/db-migrate.test.ts | 34 ++---
packages/core/src/__tests__/db.test.ts | 59 ++++----
packages/core/src/__tests__/goals-schema.test.ts | 6 +-
packages/core/src/__tests__/insight-store.test.ts | 12 +-
.../src/__tests__/merge-request-record.test.ts | 3 +-
packages/core/src/__tests__/mission-store.test.ts | 6 +-
.../__tests__/plugin-activation-analytics.test.ts | 67 ++++++++
packages/core/src/__tests__/plugin-loader.test.ts | 168 ++++++++++++++++++++-
packages/core/src/__tests__/run-audit.test.ts | 6 +-
.../core/src/__tests__/store-merge-queue.test.ts | 3 +-
.../src/__tests__/store-plugin-activations.test.ts | 52 +++++++
packages/core/src/__tests__/task-documents.test.ts | 3 +-
packages/core/src/db.ts | 35 ++++-
packages/core/src/index.ts | 8 +
packages/core/src/plugin-activation-analytics.ts | 104 +++++++++++++
packages/core/src/plugin-loader.ts | 27 ++++
packages/core/src/store.ts | 24 ++-
packages/core/src/types.ts | 22 +++
packages/core/vitest.config.ts | 12 ++
.../command-center/areas/EcosystemArea.tsx | 40 +++--
.../command-center/areas/__tests__/areas.test.tsx | 52 ++++++-
.../register-command-center-routes.auth.test.ts | 1 +
.../register-command-center-routes.test.ts | 29 ++++
.../src/routes/register-command-center-routes.ts | 20 +++
.../src/store/__tests__/roadmap-store.test.ts | 9 +-
scripts/boot-smoke.mjs | 24 ++-
scripts/lib/test-quarantine.json | 55 +++++++
31 files changed, 799 insertions(+), 99 deletions(-)
Fusion-Task-Id: FN-6705
Fusion-Task-Lineage: 12ed6227-f935-4038-bbe9-a605a054850e
2026-06-19 16:47:33 -07:00
gsxdsm
25ba732598
FN-6718: surface session counts in Command Center overview
...
Surface selected-range session totals in the Command Center overview stat grid.
- Add a Sessions stat card backed by existing ActivityAnalytics data.
- Keep Overview populated when sessions are the only activity and default missing session values to zero.
- Cover populated, zero, omitted, and empty Overview session states in tests.
- Document the Overview sessions metric source in the dashboard guide.
Files changed:
docs/dashboard-guide.md | 2 +-
.../components/command-center/CommandCenter.tsx | 10 +++-
.../__tests__/CommandCenter.test.tsx | 53 ++++++++++++++++++++++
3 files changed, 62 insertions(+), 3 deletions(-)
Fusion-Task-Id: FN-6718
Fusion-Task-Lineage: 5e41d3dc-2f69-48e0-aceb-848cb111ea3b
2026-06-19 16:47:33 -07:00
gsxdsm
22c936d8e8
FN-6728: enlarge Agent Detail tab labels
...
Improves Agent Detail tab readability on tablet and mobile without changing scrolling behavior.
- Set Agent Detail tab labels to 0.875rem in base and mobile rules.
- Document the tablet readability requirement next to the tab styling.
- Add coverage for readable tab label sizing across tablet/base and mobile CSS states.
Files changed:
.../dashboard/app/components/AgentDetailView.css | 8 ++-
.../AgentDetailView.mobile-scroll.test.tsx | 84 ++++++++++++++--------
2 files changed, 61 insertions(+), 31 deletions(-)
Fusion-Task-Id: FN-6728
Fusion-Task-Lineage: 6be99919-d0b4-4387-875b-88445b78a196
2026-06-19 16:47:33 -07:00
gsxdsm
e6f611169b
FN-6737: preserve terminal Ctrl shortcuts
...
Keep terminal shortcut focus stable so Ctrl combinations emit control bytes reliably.
- Prevent pointer, mouse, and touch activation on terminal shortcut buttons from stealing xterm focus.
- Expand terminal shortcut coverage for Ctrl control codes, touch focus preservation, and platform copy modifiers.
- Add a patch changeset for the published CLI package.
Files changed:
.changeset/fn-6737-terminal-ctrl-shortcuts.md | 5 +++
.../dashboard/app/components/TerminalModal.tsx | 31 +++++++++++++--
.../components/__tests__/TerminalModal.test.tsx | 46 +++++++++++++++++++---
3 files changed, 73 insertions(+), 9 deletions(-)
Fusion-Task-Id: FN-6737
Fusion-Task-Lineage: e27439e0-b2c5-44c1-8584-848e61d41e1b
2026-06-19 16:47:33 -07:00
gsxdsm
8927173ae0
FN-6726: prevent Command Center token totals from overflowing
...
Contain Command Center token totals so large formatted values stay inside their stat surfaces.
- Add shrink and wrap containment to stat and live metric value styles.
- Cover large comma-grouped token totals across Overview, Tokens, and Team surfaces.
- Guard the emitted CSS declarations and quarantine an unrelated WorkflowNodeEditor flake observed during verification.
Files changed:
.../components/command-center/CommandCenter.css | 10 +++++
.../__tests__/CommandCenter.test.tsx | 9 ++++
.../CommandCenter.token-validity.css.test.ts | 21 ++++++++++
.../command-center/areas/__tests__/areas.test.tsx | 48 ++++++++++++++++++----
packages/dashboard/vitest.config.ts | 5 +++
scripts/lib/test-quarantine.json | 5 +++
6 files changed, 89 insertions(+), 9 deletions(-)
Fusion-Task-Id: FN-6726
Fusion-Task-Lineage: 8a26ca5c-fdbe-4e68-a9d2-ae93340fe685
2026-06-19 16:47:33 -07:00
gsxdsm
26e5514a8e
FN-6724: add Factory Mono theme
...
Add a monochrome Factory theme with red accents and no glow effects.
- Register Factory Mono across theme validation, typing, selector UI, and startup hydration.
- Define dark and light Factory Mono CSS tokens, swatches, red CTA accents, uppercase controls, and glow-free active states.
- Cover Factory Mono token behavior with a theme hook regression test and document the expanded theme count.
- Add a minor changeset for the published Fusion package.
Files changed:
.changeset/factory-mono-theme.md | 5 +
docs/dashboard-guide.md | 2 +-
packages/core/src/types.ts | 1 +
.../dashboard/app/components/ThemeSelector.css | 14 ++
.../dashboard/app/components/ThemeSelector.tsx | 1 +
.../dashboard/app/hooks/__tests__/useTheme.test.ts | 28 ++++
packages/dashboard/app/index.html | 2 +-
packages/dashboard/app/public/theme-data.css | 177 +++++++++++++++++++++
8 files changed, 228 insertions(+), 2 deletions(-)
Fusion-Task-Id: FN-6724
Fusion-Task-Lineage: 861fbcef-d1b1-4bfb-bd60-0196ce825771
2026-06-19 16:47:33 -07:00
gsxdsm
c16557fb16
FN-6725: preserve responsive command center nav order
...
Reassert the responsive Command Center placement contracts for tablet and mobile navigation.
- Document the tablet contract that keeps Command Center after Agents while Documents remains in overflow.
- Document the mobile contract that keeps Command Center after Mailbox without duplicating it in More.
- Extend the mobile nav regression test to cover mailbox badges and primary plugin overflow behavior.
Files changed:
packages/dashboard/app/components/Header.tsx | 3 +++
packages/dashboard/app/components/MobileNavBar.tsx | 3 +++
.../app/components/__tests__/MobileNavBar.test.tsx | 20 ++++++++++++++++++--
3 files changed, 24 insertions(+), 2 deletions(-)
Fusion-Task-Id: FN-6725
Fusion-Task-Lineage: 9130b2d9-4163-4fed-bdc4-96ee6e1f4855
2026-06-19 16:47:33 -07:00
gsxdsm
d3a32f0e5f
FN-6730: stabilize dashboard async test seams
...
Stabilize dashboard tests around async view commands and ReactFlow node readiness.
- Await the Insights overflow command before exercising lazy-view routing and preference persistence assertions.
- Assert Insights rendering through the test id users rely on instead of querying the DOM class directly.
- Wait for the base workflow node before measuring fragment insertion side effects.
Files changed:
packages/dashboard/app/components/__tests__/App.test.tsx | 17 +++++++++++------
packages/dashboard/app/components/__tests__/WorkflowNodeEditor.test.tsx | 6 ++++++
2 files changed, 17 insertions(+), 6 deletions(-)
Fusion-Task-Id: FN-6730
Fusion-Task-Lineage: f9c248c1-5253-449f-b30f-7696fda00e73
2026-06-19 16:47:33 -07:00
gsxdsm
8f052c6b92
FN-6723: normalize activity trend chart scaling
...
Normalize Command Center activity chart lines so low-volume agent series remain visible beside message volume.
- Add an opt-in per-series scale mode to the Recharts line chart while preserving shared scaling by default.
- Enable per-series scaling for the Activity trend chart and expose scale mode for regression coverage.
- Cover mixed-unit, non-finite, and finite chart geometry cases across Command Center chart tests.
- Add a patch changeset for the published Fusion package.
Files changed:
.../fn-6723-command-center-activity-charts.md | 5 +++
.../command-center/__tests__/charts.test.tsx | 8 ++++
.../command-center/areas/ActivityArea.tsx | 5 +++
.../command-center/areas/__tests__/areas.test.tsx | 42 ++++++++++++++++++
.../command-center/charts/recharts/LineChart.tsx | 50 +++++++++++++++++-----
.../charts/recharts/__tests__/LineChart.test.tsx | 34 ++++++++++++++-
6 files changed, 131 insertions(+), 13 deletions(-)
Fusion-Task-Id: FN-6723
Fusion-Task-Lineage: 8f7ee1cb-5488-4237-b0c1-b4547fa4961d
2026-06-19 16:47:33 -07:00
gsxdsm
ee72c942f1
FN-6715: move Overview funnel below charts
...
Move the Command Center Overview funnel to the bottom while expanding chart palette coverage.
- Render the SDLC throughput funnel after loading, error, empty, and populated Overview content.
- Broaden hand-rolled chart primitive colors across existing semantic theme tokens.
- Add regression coverage for Overview ordering, palette cycling, and safe chart geometry.
- Document the Overview funnel placement and add a patch changeset.
Files changed:
.../fn-6715-command-center-overview-funnel.md | 5 +
docs/dashboard-guide.md | 4 +-
.../components/command-center/CommandCenter.tsx | 13 +-
.../__tests__/CommandCenter.test.tsx | 20 +--
.../command-center/__tests__/charts.test.tsx | 103 ++++++++++++++-
.../components/command-center/charts/charts.css | 141 +++++++++++++++++++++
6 files changed, 263 insertions(+), 23 deletions(-)
Fusion-Task-Id: FN-6715
Fusion-Task-Lineage: 27fafdff-6cd8-4497-ab52-6f28f3100df1
2026-06-19 16:47:33 -07:00
gsxdsm
b87fc6ffd8
Merge pull request #1649 from Runfusion/agent/ceo/960946e0
...
FUS-7: keep activity modal on screen
2026-06-20 07:37:07 +08:00
gsxdsm
82068f0b59
FN-6719: add reliability charts to Command Center
...
Adds visual reliability trends and distributions alongside the existing Command Center reliability tables.
- Render an entered-vs-bounced line chart from the filtered reliability per-day rows.
- Render a merge-attempts pie chart from the sorted histogram entries.
- Add scoped chart layout styles and regression coverage for populated, empty, and filtered chart states.
Files changed:
.../dashboard/app/components/ReliabilityView.css | 37 +++++++++++
.../dashboard/app/components/ReliabilityView.tsx | 50 ++++++++++++--
.../components/__tests__/ReliabilityView.test.tsx | 76 +++++++++++++++++++++-
3 files changed, 158 insertions(+), 5 deletions(-)
Fusion-Task-Id: FN-6719
Fusion-Task-Lineage: 4b366f66-1fa2-4014-a51a-cb1c992447db
2026-06-19 08:06:38 -07:00
gsxdsm
c75135d9be
FN-6716: raise daily activity line chart
...
Reorders the Command Center overview charts so the richer daily activity line appears higher in the grid.
- Render the daily activity multi-series line card before the sparkline trend card while preserving existing data gates.
- Add a regression assertion for the overview chart ordering and empty-state absence.
- Update dashboard documentation and align the mailbox modal font-size expectation with the current tokenized CSS.
Files changed:
docs/dashboard-guide.md | 2 +-
.../app/components/__tests__/MailboxModal.test.tsx | 2 +-
.../components/command-center/CommandCenter.tsx | 28 ++++++++++++----------
.../__tests__/CommandCenter.test.tsx | 9 +++++++
4 files changed, 27 insertions(+), 14 deletions(-)
Fusion-Task-Id: FN-6716
Fusion-Task-Lineage: 0424f561-65f7-475a-a213-b12994c599c7
2026-06-19 07:50:18 -07:00