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
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
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
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
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
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
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
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
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
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>
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
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
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
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
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
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
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
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
Tokenise the mobile mailbox tab font size while defining the shared xs dashboard token.
- Replace both mobile mailbox modal and mailbox view tab font sizes with var(--font-size-xs, 0.8rem).
- Define --font-size-xs in the dashboard typography token set.
- Document the FN-6703 styling contract with FNXC comments.
Files changed:
packages/dashboard/app/components/MailboxModal.css | 5 +++--
packages/dashboard/app/styles.css | 3 ++-
2 files changed, 5 insertions(+), 3 deletions(-)
Fusion-Task-Id: FN-6703
Fusion-Task-Lineage: af2073bd-fdde-497e-896a-ce9906459c6a
Place the Command Center throughput section first across overview states.
- Render the throughput funnel before loading, error, empty, and populated overview content.
- Preserve throughput test anchors while documenting the top-of-page ordering requirement.
- Add regression coverage for throughput ordering in loading, empty, populated, and error overview branches.
Files changed:
.../app/components/command-center/CommandCenter.tsx | 11 +++++++----
.../command-center/__tests__/CommandCenter.test.tsx | 21 +++++++++++++++++++++
2 files changed, 28 insertions(+), 4 deletions(-)
Fusion-Task-Id: FN-6707
Fusion-Task-Lineage: 9b004ab4-e36b-4d83-804a-32503a7d8d72