Commit Graph

9256 Commits

Author SHA1 Message Date
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
c093f4a1e6 fix(desktop): skip native rebuild in electron-builder to unblock Windows release
electron-builder's default @electron/rebuild step walked the desktop app's
whole dependency tree and tried to source-build @homebridge/node-pty-prebuilt-multiarch
(Node-ABI prebuilds only, none for Electron) via node-gyp, which fails on the
Windows runner with "Could not find any Visual Studio installation". The app
bundles no native addon needing an Electron-ABI rebuild (it uses node:sqlite;
keytar/node-pty aren't in the files list and are loaded optionally), so the
rebuild was pointless. Set npmRebuild: false to skip it on all platforms.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-19 08:14:22 -07: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
gsxdsm
70cce18c31 FN-6712: add managed agent instructions tool
Add a scoped extension tool for managers to update report instructions through AgentStore.

- Register fn_agent_set_instructions with validation, hierarchy authorization, and config-revision persistence.
- Cover direct, indirect, privileged, denied, missing-target, and field-clearing behaviors with CLI extension tests.
- Document the new agent-management tool in agent docs, Fusion skill references, and a published package changeset.

Files changed:
 .changeset/fn-6712-agent-set-instructions-tool.md  |   5 +
 docs/agents.md                                     |  12 ++
 packages/cli/skill/fusion/SKILL.md                 |   2 +-
 .../cli/skill/fusion/references/extension-tools.md |  10 +
 .../skill/fusion/references/fusion-capabilities.md |   1 +
 .../extension-agent-set-instructions.test.ts       | 235 +++++++++++++++++++++
 packages/cli/src/extension.ts                      |  94 +++++++++
 7 files changed, 358 insertions(+), 1 deletion(-)

Fusion-Task-Id: FN-6712
Fusion-Task-Lineage: 1fac1ff0-283d-4911-8fbf-f15c5de6b902
2026-06-19 07:41:44 -07:00
gsxdsm
4373946a07 chore(release): v0.44.0
Version bump via changesets.
2026-06-19 07:34:26 -07:00
gsxdsm
c81899ba6e FN-6713: clarify Command Center design tokens
Clarify the Command Center documentation vocabulary for spacing and border design tokens.

- Replace the outdated --space-3 reference with the named --space-md token.
- Document the canonical 4px spacing scale vocabulary for Command Center surfaces.
- Specify the tokenized subtle border form used by those card-like surfaces.

Files changed:
 docs/dashboard-guide.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Fusion-Task-Id: FN-6713

Fusion-Task-Lineage: 928db804-091c-4c7e-a283-9f28d2d4be36
2026-06-19 07:12:22 -07:00
gsxdsm
da240931bf FN-6703: tokenise mobile mailbox tab font size
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
2026-06-19 07:08:05 -07:00
gsxdsm
44a7c83b23 FN-6707: move throughput card atop overview
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
2026-06-19 06:59:02 -07:00
gsxdsm
47e7b4a150 FN-6704: capture merge LOC for productivity analytics
Capture merge-time diff stats so Command Center Productivity can report real Lines changed when available.

- Add nullable additions/deletions columns to task commit associations with migration and storage normalization.
- Persist git shortstat counts from merge association paths without blocking merges when stats are unavailable.
- Aggregate Productivity LOC from recorded commit stats while preserving the unavailable sentinel for historical unknowns.
- Cover migration, store upsert, analytics, and merger association stats behavior with tests and documentation.

Files changed:
 .changeset/fn-6704-command-center-loc.md           |  5 ++
 docs/architecture.md                               |  4 +-
 docs/storage.md                                    |  3 +
 packages/core/src/__tests__/db-migrate.test.ts     | 32 ++++----
 packages/core/src/__tests__/db.test.ts             | 90 ++++++++++++++++------
 .../src/__tests__/productivity-analytics.test.ts   | 47 +++++++++--
 packages/core/src/__tests__/store-upsert.test.ts   | 40 ++++++++++
 packages/core/src/db.ts                            | 14 +++-
 packages/core/src/productivity-analytics.ts        | 56 +++++++++-----
 packages/core/src/store.ts                         | 17 +++-
 packages/core/src/task-lineage.ts                  |  2 +
 packages/core/src/types.ts                         |  2 +
 .../merger-commit-association-stats.test.ts        | 90 ++++++++++++++++++++++
 packages/engine/src/merger-ai.ts                   |  2 +
 packages/engine/src/merger.ts                      | 17 +++-
 15 files changed, 349 insertions(+), 72 deletions(-)

Fusion-Task-Id: FN-6704

Fusion-Task-Lineage: f079fecb-eade-4318-bc55-23aa48097b4a
2026-06-19 06:51:57 -07:00
gsxdsm
0ba4bbebf4 FN-6700: reduce Command Center card gradients
Tone down the Command Center main overview card accents while keeping layered surfaces intact.

- Lower live-strip gradient, glow, and sweep accent intensity.
- Lower overview chart-card gradient, glow, and sheen accent intensity.
- Add CSS regression coverage for capped accent color-mix values and preserved surface layers.

Files changed:
 .../components/command-center/CommandCenter.css    | 20 +++++---
 .../CommandCenter.token-validity.css.test.ts       | 57 ++++++++++++++++++++++
 2 files changed, 70 insertions(+), 7 deletions(-)

Fusion-Task-Id: FN-6700

Fusion-Task-Lineage: de49162b-3c1d-4f2a-8824-f6adcb125fc6
2026-06-19 06:46:43 -07:00
gsxdsm
3df9107e58 FN-6710: use Working for chat wait states
Chat now labels pre-stream assistant activity as work in progress instead of a connection step.

- Switch full Chat and Quick Chat waiting copy to the chat.workingStatus translation key.
- Rename localized chat loading text from Connecting to Working across shipped locales and generated resource types.
- Update chat recovery docs, implementation comments, and tests to expect the Working indicator.

Files changed:
 docs/dashboard-guide.md                                        |  2 +-
 packages/dashboard/app/components/ChatView.tsx                 |  6 +++++-
 packages/dashboard/app/components/QuickChatFAB.tsx             |  2 +-
 packages/dashboard/app/components/__tests__/ChatView.test.tsx  | 10 +++++-----
 .../dashboard/app/components/__tests__/QuickChatFAB.test.tsx   |  4 ++--
 packages/dashboard/app/hooks/useChat.ts                        |  4 ++--
 packages/dashboard/app/hooks/useQuickChat.ts                   |  2 +-
 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 +-
 packages/i18n/src/resources.d.ts                               |  2 +-
 14 files changed, 24 insertions(+), 20 deletions(-)

Fusion-Task-Id: FN-6710

Fusion-Task-Lineage: a7592c7d-605f-4a9b-b0d3-be875ed2eff5
2026-06-19 06:41:28 -07:00
gsxdsm
cfddde5a45 FN-6699: fix Command Center chart rendering
Command Center charts now reserve enough geometry and wrapper size to render activity graphs reliably.

- Pad SVG line chart coordinates so endpoints and zero/max values do not clip at the viewBox edge.
- Give shared Recharts wrappers a default measurable height and import the shared chart CSS from Recharts chart components.
- Add regression coverage for chart wrapper sizing, non-clipped activity graph points, and the retained Mailbox mobile tab font-size rule.
- Add a patch changeset for the published Fusion package.

Files changed:
 .changeset/fn-6699-command-center-charts.md        |  5 ++++
 packages/dashboard/app/components/MailboxModal.css |  4 +--
 .../app/components/__tests__/MailboxModal.test.tsx |  2 +-
 .../CommandCenter.mobile-chart-layout.test.ts      |  1 +
 .../command-center/__tests__/charts.test.tsx       | 35 ++++++++++++++++++++--
 .../command-center/areas/__tests__/areas.test.tsx  | 32 ++++++++++++++++++++
 .../components/command-center/charts/LineChart.tsx |  9 ++++--
 .../components/command-center/charts/charts.css    | 12 ++++++++
 .../command-center/charts/recharts/LineChart.tsx   |  4 +++
 .../command-center/charts/recharts/PieChart.tsx    |  4 +++
 10 files changed, 100 insertions(+), 8 deletions(-)

Fusion-Task-Id: FN-6699
Fusion-Task-Lineage: 8227a7be-e855-462a-aa0d-368890398a4c
2026-06-19 06:21:11 -07:00
gsxdsm
898ac1e85f FN-6698: back command center signals with incidents
Replace the Command Center signals placeholders with incidents-backed analytics.

- Add core signal aggregation over the incidents table with date filtering, breakdowns, and MTTR handling.
- Expose the signals analytics through the Command Center API and update dashboard areas to consume real data.
- Cover empty, scoped, auth, and rendered signal states with tests and update docs/changeset.

Files changed:
 .changeset/command-center-signals.md               |   5 +
 docs/architecture.md                               |   1 +
 docs/dashboard-guide.md                            |   6 +-
 .../core/src/__tests__/signals-analytics.test.ts   | 114 ++++++++++++
 packages/core/src/index.ts                         |   8 +
 packages/core/src/signals-analytics.ts             | 195 +++++++++++++++++++++
 .../components/command-center/CommandCenter.tsx    |  49 +-----
 .../command-center/areas/EcosystemArea.tsx         |   9 +-
 .../command-center/areas/ProductivityArea.tsx      |   3 +
 .../command-center/areas/SignalsArea.tsx           |  63 +------
 .../register-command-center-routes.auth.test.ts    |   1 +
 .../register-command-center-routes.test.ts         |  54 ++++++
 .../src/routes/register-command-center-routes.ts   |  23 +++
 13 files changed, 431 insertions(+), 100 deletions(-)

Fusion-Task-Id: FN-6698

Fusion-Task-Lineage: 9ce41fb2-9a92-4863-8aa7-ae124294fe09
2026-06-19 06:04:20 -07:00
gsxdsm
c9eff71de9 FN-6702: move Reliability into Command Center
Move Reliability from standalone dashboard navigation into Command Center while preserving legacy entry points.

- Remove the top-level Reliability view from desktop and mobile navigation.
- Add Reliability as a Command Center subtab backed by the existing ReliabilityView.
- Migrate persisted and linked legacy reliability view values to Command Center.
- Update docs and regression coverage for the new navigation surface.

Files changed:
 AGENTS.md                                          |  3 +-
 docs/dashboard-guide.md                            |  9 ++--
 packages/dashboard/app/App.tsx                     | 12 -----
 .../app/__tests__/lazy-loaded-views-docs.test.ts   | 11 +++--
 .../mobile-feature-access-regression.test.tsx      | 17 ++-----
 packages/dashboard/app/components/Header.tsx       | 14 +-----
 packages/dashboard/app/components/MobileNavBar.tsx | 11 -----
 .../components/command-center/CommandCenter.tsx    |  8 ++++
 .../__tests__/CommandCenter.test.tsx               | 54 +++++++++++++++++++++-
 .../app/hooks/__tests__/useViewState.test.ts       | 44 ++++++++++++++++++
 packages/dashboard/app/hooks/useViewState.ts       | 23 +++++++--
 packages/i18n/locales/en/app.json                  |  1 +
 12 files changed, 141 insertions(+), 66 deletions(-)

Fusion-Task-Id: FN-6702
Fusion-Task-Lineage: 2d1ca07c-9619-438d-b09e-73fe124a5ffb
2026-06-19 05:50:13 -07:00
gsxdsm
6ff930e2f2 FN-6701: theme workflow editor controls
Theme workflow editor controls and checkbox affordances with Fusion tokens.

- Add scoped React Flow zoom control and mini-map theme overrides for the workflow editor canvas.
- Apply the workflow accent token to workflow settings, field, and column-trait checkboxes.
- Cover the CSS contract with assertions against hardcoded white backgrounds and missing token usage.

Files changed:
 .../app/components/WorkflowFieldsPanel.css         |  8 +++
 .../app/components/WorkflowNodeEditor.css          | 55 +++++++++++++++++++
 .../app/components/WorkflowSettingsPanel.css       |  8 +++
 .../__tests__/WorkflowNodeEditor.css.test.ts       | 64 ++++++++++++++++++++++
 4 files changed, 135 insertions(+)

Fusion-Task-Id: FN-6701

Fusion-Task-Lineage: e2e510ca-e1f7-408b-b113-ec30c9a3763a
2026-06-19 05:31:47 -07:00
gsxdsm
c16c9fd234 FN-6697: preserve terminal shortcut keyboard focus
Preserve xterm focus while terminal shortcut buttons send control and literal input.

- Prevent shortcut button mousedown from stealing focus away from the xterm helper textarea.
- Refocus the terminal after modifier, literal, arrow, and Ctrl/Alt shortcut actions.
- Add desktop and touch-primary regression coverage for shortcut byte delivery with hardware-keyboard focus.
- Quarantine an unrelated QuickEntryBox focus-timing flake observed during workspace verification.

Files changed:
 .../dashboard/app/components/TerminalModal.tsx     |  79 ++++++++---
 .../components/__tests__/TerminalModal.test.tsx    | 151 +++++++++++++++++++++
 packages/dashboard/vitest.config.ts                |   9 +-
 scripts/lib/test-quarantine.json                   |   5 +
 4 files changed, 225 insertions(+), 19 deletions(-)

Fusion-Task-Id: FN-6697
Fusion-Task-Lineage: 558cfb44-ca48-4223-97d1-c3b6bc39b2fd
2026-06-19 05:25:02 -07:00
gsxdsm
8b8e25c501 FN-6696: promote Command Center in responsive navigation
Promote Command Center into fixed responsive nav positions while preserving overflow access for displaced views.

- Add tablet Header behavior that shows Command Center inline after Agents and moves Documents to the overflow menu.
- Add mobile top-level Command Center tab immediately after Mailbox and demote primary plugin tabs to More.
- Update navigation tests for tablet, desktop, mobile, and plugin overflow ordering.
- Add an xs font-size token for mailbox tab reuse.

Files changed:
 .../app/__tests__/tablet-header-controls.test.tsx  | 24 +++++++
 packages/dashboard/app/components/Header.tsx       | 82 ++++++++++++++++------
 packages/dashboard/app/components/MailboxModal.css |  4 +-
 packages/dashboard/app/components/MobileNavBar.tsx | 31 ++++----
 .../app/components/__tests__/Header.test.tsx       | 24 +++++++
 .../app/components/__tests__/MobileNavBar.test.tsx | 47 ++++++++++++-
 packages/dashboard/app/styles.css                  |  3 +-
 7 files changed, 174 insertions(+), 41 deletions(-)

Fusion-Task-Id: FN-6696

Fusion-Task-Lineage: e24bb740-7429-40f1-8612-d9af03486d26
2026-06-19 05:18:29 -07:00
gsxdsm
3383a095b7 FN-6694: add workflow reliability release-check harness
Add an on-demand executable release-check lane for custom workflow reliability signoff.

- Add a manifest-backed release-check runner with dry-run, JSON output, validation, and targeted Vitest command planning.
- Define the custom workflow reliability checklist seams and cover runner validation, planning, reporting, and failure behavior with node tests.
- Document the QA signoff command and manifest mapping while keeping the lane out of the merge gate.

Files changed:
 docs/custom-workflow-reliability-acceptance-map.md |  29 +-
 docs/testing.md                                    |   3 +
 package.json                                       |   1 +
 .../workflow-reliability-release-check.test.mjs    | 138 +++++++++
 .../lib/workflow-reliability-release-check.json    | 102 +++++++
 scripts/workflow-reliability-release-check.mjs     | 312 +++++++++++++++++++++
 6 files changed, 579 insertions(+), 6 deletions(-)

Fusion-Task-Id: FN-6694

Fusion-Task-Lineage: 21d45bb5-6c45-4cb7-8b29-9eaea8b29ad4
2026-06-19 05:13:39 -07:00
gsxdsm
3566cf8a1d FN-6695: block unsafe in-review branch rebinds
Protect in-review branch metadata repair from overriding user or checkout ownership.

- Replace the stale optional auto-mutate TODO with an explicit rebind safety gate.
- Skip and audit rebind attempts for user-paused tasks or live checked-out tasks.
- Extend reliability coverage for safe autoMerge=false repairs and existing skip outcomes.
- Document the self-healing contract for unsafe metadata repair skips.

Files changed:
 docs/architecture.md                               |   2 +-
 .../in-review-branch-rebind.test.ts                | 131 ++++++++++++++++++++-
 packages/engine/src/self-healing.ts                |  64 ++++++++--
 3 files changed, 187 insertions(+), 10 deletions(-)

Fusion-Task-Id: FN-6695

Fusion-Task-Lineage: dfed3013-3bbf-433d-bb3e-434f6a6fe0e9
2026-06-19 05:02:29 -07:00
gsxdsm
4711e875e5 Command Center fixes 2026-06-19 04:37:04 -07:00
gsxdsm
87e87a8f1a FN-6693: enforce dashboard CSS token references
Extend the dashboard CSS token guard and replace stale custom-property references with defined design tokens.

- Add a dashboard-wide CSS token validity test that scans component/app CSS for undefined custom-property references.
- Include dashboard CSS tests in the dashboard Vitest config and document the guard in testing guidance.
- Remap undefined CSS variables across dashboard components and command-center styles to existing semantic or local tokens.

Files changed:
 docs/testing.md                                    |   3 +
 .../dashboard-css-token-validity.css.test.ts       | 165 +++++++++++++++++++++
 .../dashboard/app/components/ActiveAgentsPanel.css |  10 +-
 .../dashboard/app/components/AgentLogViewer.css    |   2 +-
 .../app/components/AgentReflectionsTab.css         |  10 +-
 packages/dashboard/app/components/AgentsView.css   |   6 +-
 .../dashboard/app/components/BranchGroupCard.css   |   6 +-
 packages/dashboard/app/components/ChatView.css     |  12 +-
 .../app/components/CliBinaryInstallBanner.css      |   2 +-
 .../dashboard/app/components/CliBinaryPanel.css    |   2 +-
 .../app/components/ConversationHistory.css         |  12 +-
 .../dashboard/app/components/DashboardLoader.css   |   2 +-
 .../dashboard/app/components/DesktopLaunchGate.css |   4 +-
 .../dashboard/app/components/DirectoryPicker.css   |   2 +-
 .../dashboard/app/components/FileMentionPopup.css  |   4 +-
 .../dashboard/app/components/GitHubImportModal.css |  10 +-
 packages/dashboard/app/components/GoalsView.css    |   2 +-
 .../dashboard/app/components/GroupTaskModal.css    |  18 +--
 packages/dashboard/app/components/InsightsView.css |  10 +-
 packages/dashboard/app/components/Lane.css         |   8 +-
 .../dashboard/app/components/LanguageSelector.css  |   8 +-
 packages/dashboard/app/components/MailboxModal.css |  62 ++++----
 .../app/components/MergeAdvanceNotice.css          |   2 +-
 .../dashboard/app/components/MissionManager.css    |  10 +-
 .../app/components/MobileWorkflowGraphView.css     |   2 +-
 .../app/components/ModelOnboardingModal.css        |  12 +-
 .../app/components/OnboardingDisclosure.css        |   4 +-
 .../dashboard/app/components/PlanningModeModal.css |   2 +-
 .../dashboard/app/components/PluginManager.css     |  58 ++++----
 .../components/PostOnboardingRecommendations.css   |   4 +-
 .../dashboard/app/components/PullRequestView.css   |  32 ++--
 packages/dashboard/app/components/QuickChatFAB.css |   4 +-
 .../dashboard/app/components/QuickEntryBox.css     |   6 +-
 .../dashboard/app/components/ReliabilityView.css   |   6 +-
 packages/dashboard/app/components/ScriptsModal.css |  34 ++---
 .../dashboard/app/components/SessionTerminal.css   |  28 ++--
 .../dashboard/app/components/SettingsModal.css     |   6 +-
 .../dashboard/app/components/SkillMultiselect.css  |   2 +-
 packages/dashboard/app/components/TaskCard.css     |  24 +--
 .../dashboard/app/components/TaskDocumentsTab.css  |   8 +-
 .../dashboard/app/components/TaskFieldsSection.css |  20 +--
 .../dashboard/app/components/TerminalModal.css     |  22 +--
 .../app/components/WorkflowFieldsPanel.css         |   6 +-
 .../app/components/WorkflowNodeEditor.css          |  30 ++--
 .../dashboard/app/components/WorkspaceSelector.css |   2 +-
 .../components/command-center/CommandCenter.css    | 106 ++++++-------
 .../components/command-center/DateRangePicker.css  |  18 +--
 .../command-center/MissionControlPanel.css         |  14 +-
 .../app/components/command-center/SdlcFunnel.css   |   2 +-
 .../command-center/areas/SystemStatsArea.css       |  24 +--
 .../app/components/command-center/areas/areas.css  |  62 ++++----
 .../components/command-center/charts/charts.css    | 104 ++++++-------
 packages/dashboard/vitest.config.ts                |   1 +
 53 files changed, 592 insertions(+), 423 deletions(-)

Fusion-Task-Id: FN-6693

Fusion-Task-Lineage: e9ccf3e6-fee9-47e0-9474-7b5580adbf31
2026-06-19 04:27:01 -07:00
gsxdsm
9d07e85232 FN-6690: preload lazy-view CSS chunks
Ensure persisted lazy dashboard views request their extracted CSS before first paint.

- Carry CSS asset paths through the Vite view chunk manifest.
- Inject stylesheet links alongside modulepreload links for persisted lazy views.
- Cover Command Center CSS preloading and served CSS availability in dashboard tests.
- Quarantine the unrelated session cross-tab cleanup flake observed during verification.

Files changed:
 .changeset/fn-6690-lazy-view-css.md                |   5 +
 .../__tests__/board-mobile-initial-render.test.tsx |  16 ++-
 .../src/__tests__/server-view-preload.test.ts      | 152 ++++++++++++++++++++-
 .../src/__tests__/view-chunk-manifest.test.ts      |  57 ++++++--
 packages/dashboard/src/server.ts                   |  16 ++-
 packages/dashboard/src/view-chunk-manifest.ts      |  26 +++-
 packages/dashboard/vitest.config.ts                |   6 +-
 scripts/lib/test-quarantine.json                   |   5 +
 8 files changed, 253 insertions(+), 30 deletions(-)

Fusion-Task-Id: FN-6690

Fusion-Task-Lineage: 6ac0d06f-14db-4302-98f8-0e742172ed7f
2026-06-19 03:49:56 -07:00
gsxdsm
df390ed5fd FN-6691: speed shared-branch lifecycle slow tests
Optimizes shared branch group lifecycle coverage by bypassing repeated mock merger sessions where full merge behavior is not under test.

- Add a deterministic fast integration helper that merges staged member branches into the shared group branch and records merge metadata.
- Keep routing and self-healing cases on the full aiMergeTask path while using the faster seam for promotion and gating assertions.
- Preserve FN-5820 shared branch completion and auto-merge-off expectations with less slow-test overhead.

Files changed:
 .../shared-branch-group-lifecycle.slow.test.ts     | 54 ++++++++++++++++++----
 1 file changed, 46 insertions(+), 8 deletions(-)

Fusion-Task-Id: FN-6691

Fusion-Task-Lineage: 5f01318c-20b0-4f11-ad3c-c2e1b8cd0f3e
2026-06-19 03:11:31 -07:00
gsxdsm
c8daf21cd0 FN-6685: add Command Center chart browser smoke
Add real-browser coverage for Command Center chart sizing and overflow across mobile and desktop.

- Include emitted lazy CSS chunks in dashboard browser-layout smoke fixtures.
- Add a Command Center charts smoke fixture with populated pie/line charts and an empty state.
- Assert chart heights, SVG visibility, overflow containment, and scroll-owner behavior at mobile and desktop breakpoints.
- Document the browser smoke requirement alongside the Command Center responsive chart testing guidance.

Files changed:
 docs/dashboard-guide.md                            |   1 +
 docs/testing.md                                    |   3 +-
 .../CommandCenter.mobile-chart-layout.test.ts      |   6 +
 .../dashboard/scripts/browser-layout-smoke.mjs     | 220 ++++++++++++++++++++-
 4 files changed, 226 insertions(+), 4 deletions(-)

Fusion-Task-Id: FN-6685

Fusion-Task-Lineage: 456d51e2-ffaa-442d-bfa2-5ba17ff6724f
2026-06-19 02:14:31 -07:00
gsxdsm
6210031602 FN-6689: route planning executor selection
Route planning executor selection through a shared engine seam for model and CLI-agent sessions.

- Add a planning executor selection type with model and CLI-agent variants.
- Wrap CLI-agent planning as a one-shot interactive session that returns terminal complete, question, or error events.
- Export the resolver and wire the core interactive adapter through the model-backed default path.
- Cover resolver behavior for default model sessions, CLI-agent terminal events, and CLI-agent failures.

Files changed:
 .../src/__tests__/interactive-ai-session.test.ts   | 91 ++++++++++++++++++++
 packages/engine/src/index.ts                       | 13 ++-
 packages/engine/src/interactive-ai-session.ts      | 97 ++++++++++++++++++++--
 3 files changed, 190 insertions(+), 11 deletions(-)

Fusion-Task-Id: FN-6689

Fusion-Task-Lineage: b2fc0589-621e-44dd-a470-49107b0ad69f
2026-06-19 01:56:52 -07:00
gsxdsm
282b06949e FN-6688: replace dashboard primary text alias
Replace undefined dashboard primary text aliases with the canonical theme-aware text token.

- Swap non-Command-Center CSS references from `--text-primary` to `--text` across dashboard components.
- Extend text token canonicalization tests to block future `--text-primary` usage and root alias definitions.
- Document the dashboard CSS token rule and add a patch changeset for the published CLI bundle.

Files changed:
 .changeset/fn-6688-text-primary-cleanup.md          |  5 +++++
 docs/dashboard-guide.md                             |  2 ++
 .../__tests__/text-token-canonicalization.test.ts   | 18 ++++++++++++++++--
 .../dashboard/app/components/ActiveAgentsPanel.css  |  4 ++--
 .../dashboard/app/components/CliBinaryPanel.css     |  2 +-
 .../app/components/ConversationHistory.css          |  6 +++---
 .../dashboard/app/components/DesktopLaunchGate.css  |  2 +-
 packages/dashboard/app/components/ErrorBoundary.css |  2 +-
 .../dashboard/app/components/LanguageSelector.css   |  2 +-
 packages/dashboard/app/components/MobileNavBar.css  |  4 ++--
 packages/dashboard/app/components/QuickEntryBox.css |  6 +++---
 packages/dashboard/app/components/ScriptsModal.css  | 21 +++++++++++++--------
 .../dashboard/app/components/SkillMultiselect.css   |  2 +-
 .../dashboard/app/components/TaskFieldsSection.css  |  4 ++--
 .../app/components/WorkflowFieldsPanel.css          |  2 +-
 packages/dashboard/app/styles.css                   |  2 +-
 16 files changed, 55 insertions(+), 29 deletions(-)

Fusion-Task-Id: FN-6688

Fusion-Task-Lineage: 96e47af2-8bf5-4326-be24-2816530fd646
2026-06-19 01:33:13 -07:00
gsxdsm
0f021aee4f FN-6686: canonicalize Command Center CSS tokens
Canonicalize Command Center CSS token references so chart accents and primary text no longer rely on undefined aliases.

- Replace Command Center uses of `--color-accent` with `--accent` and `--text-primary` with `--text` across shell, chart, area, and control styles.
- Add a scoped CSS token canonicalization regression test for Command Center styles.
- Document the Command Center token-only rule and add a patch changeset for the published package.

Files changed:
 .changeset/fn-6686-command-center-css-token-fix.md |  5 +++
 docs/dashboard-guide.md                            |  2 +-
 .../components/command-center/CommandCenter.css    | 28 +++++++--------
 .../components/command-center/DateRangePicker.css  |  2 +-
 .../command-center/MissionControlPanel.css         |  2 +-
 ...mmand-center-css-token-canonicalization.test.ts | 40 ++++++++++++++++++++++
 .../command-center/areas/SystemStatsArea.css       |  4 +--
 .../app/components/command-center/areas/areas.css  | 14 ++++----
 .../components/command-center/charts/charts.css    | 39 ++++++++++++---------
 9 files changed, 93 insertions(+), 43 deletions(-)

Fusion-Task-Id: FN-6686

Fusion-Task-Lineage: 10a79117-9716-4228-b2db-78791ec73d0d
2026-06-19 01:21:39 -07:00
gsxdsm
5e1a4ff3fd FN-6684: add Command Center chart coverage
Adds remaining Command Center pie and line chart surfaces with regression coverage.

- Add pie and trend charts to Team, Ecosystem, GitHub, Signals, and System areas using existing analytics data.
- Extend Command Center tests for the new chart surfaces, empty states, mobile scrolling, and system stats rendering.
- Document the expanded Command Center visualizations and add a patch changeset for the published package.

Files changed:
 .changeset/fn-6684-command-center-charts.md        |   5 +
 docs/dashboard-guide.md                            |  18 +-
 .../__tests__/CommandCenter.mobile-scroll.test.tsx |  16 +-
 .../__tests__/SystemStatsArea.test.tsx             |   9 +
 .../command-center/areas/EcosystemArea.tsx         |  40 +++-
 .../components/command-center/areas/GithubArea.tsx |  34 ++++
 .../command-center/areas/SignalsArea.tsx           |  20 ++
 .../command-center/areas/SystemStatsArea.tsx       |  34 ++++
 .../components/command-center/areas/TeamArea.tsx   |  15 ++
 .../command-center/areas/__tests__/areas.test.tsx  | 216 ++++++++++++++++++++-
 10 files changed, 390 insertions(+), 17 deletions(-)

Fusion-Task-Id: FN-6684

Fusion-Task-Lineage: dc4eda2f-bc1b-4b51-9317-19ab6ddcdba7
2026-06-19 01:02:50 -07:00
gsxdsm
99d799cb31 FN-6683: add analytics pie and line charts
Add chart coverage to Command Center analytics without replacing existing surfaces.

- Add pie and Recharts line visualizations to Overview, Tokens, Tools, Activity, and Productivity analytics areas.
- Reuse existing analytics payloads while preserving current bars, sparklines, tables, live refresh, and empty/loading branches.
- Extend Command Center tests and documentation for the new chart affordances.
- Add a patch changeset for the published Fusion package.

Files changed:
 .changeset/fn-6683-command-center-charts.md        |   5 +
 docs/dashboard-guide.md                            |  14 +-
 .../components/command-center/CommandCenter.css    |  15 +-
 .../components/command-center/CommandCenter.tsx    |  37 +++++
 .../__tests__/CommandCenter.mobile-scroll.test.tsx |   6 +-
 .../__tests__/CommandCenter.test.tsx               |  17 +-
 .../command-center/areas/ActivityArea.tsx          |  42 +++++
 .../command-center/areas/ProductivityArea.tsx      |  27 +++
 .../components/command-center/areas/TokensArea.tsx |  45 +++++
 .../components/command-center/areas/ToolsArea.tsx  |  22 +++
 .../command-center/areas/__tests__/areas.test.tsx  | 184 ++++++++++++++++++++-
 .../app/components/command-center/areas/areas.css  |  11 ++
 12 files changed, 407 insertions(+), 18 deletions(-)

Fusion-Task-Id: FN-6683

Fusion-Task-Lineage: ca9d3103-5132-41f8-a9ce-39e0bff581b8
2026-06-19 00:07:50 -07:00
gsxdsm
fe207ca960 FN-6680: fix Command Center mobile chart layouts
Fix Command Center chart rendering and visual rhythm on constrained mobile layouts.

- Bound chart primitives, text labels, and grid tracks so mobile Command Center charts do not overflow, collapse, or steal scrolling.
- Normalize stat, table, team, and system chart card surfaces around shared dashboard spacing, border, radius, and surface tokens.
- Add CSS regression coverage and documentation for mobile chart layout limits beyond jsdom.
- Add a patch changeset for the published dashboard bundle.

Files changed:
 .../fn-6680-command-center-mobile-chart-fix.md     |  5 ++
 docs/dashboard-guide.md                            |  3 +-
 docs/testing.md                                    |  3 +
 .../components/command-center/CommandCenter.css    | 16 +++--
 .../CommandCenter.mobile-chart-layout.test.ts      | 72 ++++++++++++++++++++++
 .../__tests__/CommandCenter.mobile-scroll.test.tsx |  4 ++
 .../command-center/areas/SystemStatsArea.css       | 14 ++++-
 .../app/components/command-center/areas/areas.css  | 19 +++---
 .../components/command-center/charts/charts.css    | 45 +++++++++++++-
 9 files changed, 156 insertions(+), 25 deletions(-)

Fusion-Task-Id: FN-6680

Fusion-Task-Lineage: 4dc731c4-6408-4b05-84f7-916bbc572a5d
2026-06-18 23:08:08 -07:00
gsxdsm
d6e2f920e4 FN-6682: add themed recharts chart wrappers
Add shared Recharts-powered chart wrappers for Command Center visuals.

- Add reusable themed pie and line chart wrappers with responsive sizing and reduced-motion behavior.
- Sanitize invalid or empty chart inputs and expose accessible empty states.
- Cover wrapper rendering, sanitization, theming, and reduced-motion behavior with dashboard tests.
- Add the recharts dependency and a patch changeset for the published CLI bundle.

Files changed:
 .changeset/fn-6681-recharts-charts.md              |   5 +
 .../command-center/charts/recharts/LineChart.tsx   | 128 +++++++
 .../command-center/charts/recharts/PieChart.tsx    | 104 ++++++
 .../charts/recharts/__tests__/LineChart.test.tsx   |  83 +++++
 .../charts/recharts/__tests__/PieChart.test.tsx    |  83 +++++
 .../command-center/charts/recharts/index.ts        |  15 +
 .../command-center/charts/recharts/theme.ts        |  84 +++++
 packages/dashboard/package.json                    |   1 +
 pnpm-lock.yaml                                     | 390 ++++++++++++++++++++-
 9 files changed, 882 insertions(+), 11 deletions(-)

Fusion-Task-Id: FN-6682

Fusion-Task-Lineage: f3253f7a-d0a3-43ef-a7c1-f7d887ec8629
2026-06-18 22:30:01 -07:00
gsxdsm
8ecd14b5aa FN-6679: fix Command Center tablet overflow
Stabilize Command Center tablet layouts by restoring a bounded flex scroll chain and responsive chart grids.

- Add tablet-specific Command Center CSS to keep the tabpanel as the scroll owner and prevent inline document overflow.
- Collapse live strips, overview charts, Team chart grids, and stat grids within tablet viewport widths.
- Cover tablet layout invariants across overview, Team, Tokens, Tools, and Activity areas with regression tests.
- Document the tablet rendering invariant in the dashboard guide.

Files changed:
 docs/dashboard-guide.md                            |   1 +
 .../components/command-center/CommandCenter.css    |  41 ++
 .../__tests__/CommandCenter.tablet-layout.test.tsx | 463 +++++++++++++++++++++
 .../app/components/command-center/areas/areas.css  |  19 +
 packages/dashboard/app/styles.css                  |  14 +
 5 files changed, 538 insertions(+)

Fusion-Task-Id: FN-6679
Fusion-Task-Lineage: 2cd6bfca-2a52-47ed-ad7b-c8c85343bd70
2026-06-18 22:20:46 -07:00
gsxdsm
a3161bb91c FN-6678: define dashboard surface tokens
Add missing dashboard theme tokens so surface and border styling resolves consistently across themes.

- Define --surface-1, --surface-2, and --border-subtle in base and light dashboard theme blocks.
- Keep the new tokens derived from existing theme variables with color-mix for dark and light mode consistency.
- Add a dashboard CSS guard that requires these tokens in both theme blocks without raw color definitions.

Files changed:
 .../dashboard-component-color-tokenization.test.ts | 81 ++++++++++++++++++++++
 packages/dashboard/app/styles.css                  | 10 +++
 2 files changed, 91 insertions(+)

Fusion-Task-Id: FN-6678

Fusion-Task-Lineage: a866af20-fbbb-46c6-9403-f395708bcd3f
2026-06-18 21:38:24 -07:00
gsxdsm
999163954e FN-6677: replace raw rgba Command Center fallbacks
Command Center CSS now avoids raw rgb/rgba fallbacks while preserving existing colors.

- Replace rgba fallback colors in date range and mission control styles with color-mix equivalents.
- Add a command-center CSS hygiene test that rejects raw rgb/rgba usage in nested component CSS.
- Document the stricter Command Center styling invariant with FNXC comments.

Files changed:
 .../__tests__/component-css-no-raw-rgba.test.ts    | 27 ++++++++++++++++++++++
 .../components/command-center/DateRangePicker.css  |  9 +++++---
 .../command-center/MissionControlPanel.css         | 11 +++++----
 3 files changed, 40 insertions(+), 7 deletions(-)

Fusion-Task-Id: FN-6677

Fusion-Task-Lineage: 72096bb3-e7b6-4e57-b616-2e218c07ab3d
2026-06-18 21:24:50 -07:00
gsxdsm
20597901a0 FN-6675: add GitHub close-time backfill action
Add a Command Center operator path to backfill exact GitHub source-issue close times.

- Add a dashboard API client for the paginated GitHub source-issue closed-at backfill endpoint.
- Add a GitHub Command Center button, progress/error/result state, and styling for manual backfills.
- Cover backfill success, empty, error, and pagination behavior with area tests and document the operator flow.

Files changed:
 .../fn-6675-github-closed-at-backfill-dashboard.md |   5 +
 docs/dashboard-guide.md                            |   4 +-
 docs/storage.md                                    |   2 +-
 packages/dashboard/app/api/legacy.ts               |  25 ++++
 .../components/command-center/CommandCenter.css    |  39 ++++++
 .../components/command-center/areas/GithubArea.tsx | 117 ++++++++++++++++-
 .../command-center/areas/__tests__/areas.test.tsx  | 140 ++++++++++++++++++++-
 7 files changed, 326 insertions(+), 6 deletions(-)

Fusion-Task-Id: FN-6675

Fusion-Task-Lineage: 09e43b60-b9db-421f-a131-740a0d3164fe
2026-06-18 19:50:58 -07:00
gsxdsm
21d8076ae2 FN-6664: polish Command Center mobile charts
Polish Command Center chart surfaces and mobile scrolling behavior.

- Keep mobile Command Center chart tabs constrained to the tabpanel scroll owner without clipping or stretch artifacts.
- Normalize chart, stat, table, gauge, and team panel card styling around shared design tokens.
- Expand regression coverage for mobile chart sizing, overflow ownership, and tokenized area styling.
- Document the mobile rendering and token-only invariants and add a patch changeset.

Files changed:
 .../fn-6664-command-center-mobile-chart-polish.md  |   5 +
 docs/dashboard-guide.md                            |   6 +
 .../components/command-center/CommandCenter.css    | 112 ++++++++++-------
 .../__tests__/CommandCenter.mobile-scroll.test.tsx | 128 ++++++++++++++++++-
 .../command-center/areas/__tests__/areas.test.tsx  |  47 ++++++-
 .../app/components/command-center/areas/areas.css  |  63 ++++++----
 .../components/command-center/charts/charts.css    | 135 +++++++++++++--------
 7 files changed, 375 insertions(+), 121 deletions(-)

Fusion-Task-Id: FN-6664

Fusion-Task-Lineage: 14afa9c5-7287-4db1-beea-3bf7cbb70e7b
2026-06-18 19:29:40 -07:00
gsxdsm
9b396b6378 FN-6674: backfill GitHub source issue close times
Add an opt-in sweep to populate historical GitHub source issue close timestamps from GitHub.

- Add a project-scoped backfill endpoint with offset/limit pagination for missing sourceIssueClosedAt values.
- Implement reconciler logic that fetches real closed_at values, skips open or already-filled tasks, and logs per-task failures.
- Cover the route and reconciler backfill behavior with tests, plus document the manual sweep and release note.

Files changed:
 .../fn-6674-source-issue-closed-at-backfill.md     |   5 +
 docs/dashboard-guide.md                            |   2 +-
 docs/storage.md                                    |   2 +-
 .../github-source-issue-reconciler.test.ts         | 105 ++++++++++++++++++++
 .../__tests__/register-git-github.backfill.test.ts | 110 +++++++++++++++++++++
 .../dashboard/src/github-tracking-reconciler.ts    |  71 +++++++++++++
 .../dashboard/src/routes/register-git-github.ts    |  31 ++++++
 7 files changed, 324 insertions(+), 2 deletions(-)

Fusion-Task-Id: FN-6674
Fusion-Task-Lineage: 5231b107-79f3-4326-9093-c70182bc0dc8
2026-06-18 19:12:58 -07:00
gsxdsm
af31f7ddfa FN-6657: embed system stats in Command Center
Move system telemetry out of the global header modal and into Command Center as a dedicated System area.

- add a Command Center System tab with live CPU, memory, heap, process, task, agent, and vitest controls
- remove the legacy System Stats modal entry points from desktop and mobile navigation
- update modal manager, docs, and regression coverage for the new embedded System area
- add a patch changeset for the published Fusion package

Files changed:
 .../fn-6657-system-stats-into-command-center.md    |   5 +
 docs/architecture.md                               |   2 +-
 docs/dashboard-guide.md                            |   4 +-
 packages/dashboard/app/App.tsx                     |   7 -
 packages/dashboard/app/components/AppModals.tsx    |  12 -
 packages/dashboard/app/components/Header.tsx       |   9 -
 packages/dashboard/app/components/MobileNavBar.tsx |  12 -
 .../dashboard/app/components/SystemStatsModal.css  | 319 -------------
 .../dashboard/app/components/SystemStatsModal.tsx  | 523 ---------------------
 .../app/components/__tests__/AppModals.test.tsx    |  51 --
 .../app/components/__tests__/Header.test.tsx       |  12 -
 .../app/components/__tests__/MobileNavBar.test.tsx |  13 -
 .../components/__tests__/SystemStatsModal.test.tsx | 329 -------------
 ...-merge-toggle-blank.mobile-integration.test.tsx |   1 -
 .../components/command-center/CommandCenter.tsx    |   5 +
 .../__tests__/CommandCenter.mobile-scroll.test.tsx |  46 ++
 .../__tests__/CommandCenter.test.tsx               |  57 ++-
 .../__tests__/SystemStatsArea.test.tsx             | 229 +++++++++
 .../command-center/areas/SystemStatsArea.css       | 122 +++++
 .../command-center/areas/SystemStatsArea.tsx       | 440 +++++++++++++++++
 .../app/hooks/__tests__/useModalManager.test.ts    |  23 -
 packages/dashboard/app/hooks/useModalManager.ts    |  12 -
 22 files changed, 906 insertions(+), 1327 deletions(-)

Fusion-Task-Id: FN-6657

Fusion-Task-Lineage: 7593ee86-671e-4c95-96f8-a8dc8861e7b7
2026-06-18 18:58:21 -07:00
gsxdsm
94a081f4f3 FN-6666: store GitHub issue closure timestamps
Persist GitHub source issue closure timestamps so Fixed by Fusion analytics can use exact close dates.

- add nullable sourceIssueClosedAt storage, migration coverage, serialization, and task source issue typing
- persist observed or newly closed GitHub issue closed timestamps during source issue reconciliation
- update GitHub issue analytics to prefer sourceIssueClosedAt with updatedAt fallback and cover the behavior in tests
- document the stored timestamp and publish a patch changeset

Files changed:
 .changeset/fn-6666-source-issue-closed-at.md       |  5 ++
 docs/dashboard-guide.md                            |  2 +-
 docs/storage.md                                    |  2 +
 packages/core/src/__tests__/db-migrate.test.ts     | 94 +++++++++++++++++----
 packages/core/src/__tests__/db.test.ts             | 89 ++++++++++++++------
 .../src/__tests__/github-issue-analytics.test.ts   | 47 ++++++++++-
 packages/core/src/db-migrate.ts                    |  5 +-
 packages/core/src/db.ts                            | 12 ++-
 packages/core/src/github-issue-analytics.ts        | 28 +++----
 packages/core/src/store.ts                         |  7 +-
 packages/core/src/types.ts                         |  6 ++
 .../__tests__/github-tracking-reconciler.test.ts   | 80 +++++++++++++++++-
 packages/dashboard/src/__tests__/github.test.ts    | 95 +++++++++++++++++++++-
 .../dashboard/src/github-tracking-reconciler.ts    | 37 ++++++++-
 packages/dashboard/src/github.ts                   | 20 ++++-
 15 files changed, 457 insertions(+), 72 deletions(-)

Fusion-Task-Id: FN-6666

Fusion-Task-Lineage: 0fa8e824-14de-400e-b2a3-aa55d126e218
2026-06-18 18:48:05 -07:00
gsxdsm
36f1feef31 FN-6655: add Command Center team analytics
Adds a live Team area to Command Center with per-agent analytics and supporting API data.\n\n- Add read-only core aggregation for agent tokens, cost, changed files, and task status counts.\n- Expose the team metrics through the Command Center API and render a responsive Team dashboard with charts and tables.\n- Cover aggregation, route, desktop, and mobile Command Center behavior with tests.\n- Document the Team area and add a patch changeset for the published CLI bundle.\n\nFiles changed:\n .changeset/fn-6655-command-center-team-view.md     |   5 +\n docs/dashboard-guide.md                            |   2 +\n packages/core/src/__tests__/team-analytics.test.ts | 315 +++++++++++++++++++++\n packages/core/src/index.ts                         |   7 +\n packages/core/src/team-analytics.ts                | 315 +++++++++++++++++++++\n .../components/command-center/CommandCenter.tsx    |   9 +\n .../__tests__/CommandCenter.mobile-scroll.test.tsx |  22 ++\n .../__tests__/CommandCenter.test.tsx               | 148 +++++++++-\n .../components/command-center/areas/TeamArea.tsx   | 265 +++++++++++++++++\n .../app/components/command-center/areas/areas.css  |  89 ++++++\n .../register-command-center-routes.auth.test.ts    |   1 +\n .../register-command-center-routes.test.ts         |  69 +++++\n .../src/routes/register-command-center-routes.ts   |  24 ++\n 13 files changed, 1269 insertions(+), 2 deletions(-)

Fusion-Task-Id: FN-6655

Fusion-Task-Lineage: 366170f4-a250-49ce-8ca6-aea865ab0b84
2026-06-18 17:52:08 -07:00
gsxdsm
317b08b227 FN-6669: price token costs from usage snapshots
Resolved-model task usage now contributes priced Command Center token costs without mutating model-resolution fields.

- Use token usage provider/model snapshots before legacy task model columns for cost attribution.
- Cover model, provider, node, agent, and time-series analytics with snapshot pricing tests.
- Document snapshot-first cost attribution and add a patch changeset for the published CLI package.

Files changed:
 .changeset/fn-6669-resolved-model-cost.md          |  5 ++
 docs/dashboard-guide.md                            |  2 +-
 docs/storage.md                                    |  2 +-
 .../core/src/__tests__/token-analytics.test.ts     | 82 ++++++++++++++++++++++
 packages/core/src/token-analytics.ts               |  9 ++-
 5 files changed, 97 insertions(+), 3 deletions(-)

Fusion-Task-Id: FN-6669

Fusion-Task-Lineage: 193a51f7-3328-44b2-b28b-25cd4f61d360
2026-06-18 17:14:19 -07:00
gsxdsm
ef544597da FN-6665: group token analytics by runtime model
Record runtime model snapshots so token analytics group usage by the model that actually generated it.

- Add token-usage provider/model snapshot columns, store mapping, and migration support.
- Preserve actually-used session model metadata during executor/session token accumulation without changing task model overrides.
- Prefer runtime model snapshots in token provider/model aggregation and cover the behavior with regression tests and docs.

Files changed:
 .changeset/fn-6665-tokens-by-model.md              |  5 ++
 docs/dashboard-guide.md                            |  2 +-
 docs/storage.md                                    |  2 +
 .../core/src/__tests__/store-token-usage.test.ts   |  4 ++
 .../core/src/__tests__/token-analytics.test.ts     | 54 ++++++++++++++++++++-
 packages/core/src/db.ts                            | 12 ++++-
 packages/core/src/store.ts                         | 10 +++-
 packages/core/src/token-analytics.ts               | 12 ++++-
 packages/core/src/types.ts                         | 10 ++++
 .../src/__tests__/session-token-usage.test.ts      | 55 ++++++++++++++++++++--
 packages/engine/src/executor.ts                    | 37 +++++++++++++--
 packages/engine/src/session-token-usage.ts         |  7 +++
 12 files changed, 194 insertions(+), 16 deletions(-)

Fusion-Task-Id: FN-6665

Fusion-Task-Lineage: e103de14-6298-4a9e-93af-4dd15798fde5
2026-06-18 16:58:11 -07:00
gsxdsm
64092ca0aa FN-6654: add Command Center agent-run sheets
Surface agent heartbeat-run analytics in the Command Center activity views and exports.

- Add agent-run summary and daily aggregation to activity analytics with zero-value fallback for older databases.
- Render overview and Activity stat cards plus a daily agent-runs sparkline.
- Include agent-run values in Activity CSV exports, docs, release notes, and regression coverage.

Files changed:
 .changeset/fn-6654-agent-runs-sheets.md            |   5 +
 docs/dashboard-guide.md                            |   5 +-
 .../core/src/__tests__/activity-analytics.test.ts  |  66 +++++++++++++
 packages/core/src/activity-analytics.ts            | 102 +++++++++++++++++++--
 .../components/command-center/CommandCenter.tsx    |   7 +-
 .../__tests__/CommandCenter.test.tsx               |  27 +++++-
 .../command-center/areas/ActivityArea.tsx          |  37 +++++++-
 .../command-center/areas/__tests__/areas.test.tsx  |  50 +++++++++-
 .../src/__tests__/command-center-csv.test.ts       |  46 +++++++++-
 .../register-command-center-routes.test.ts         |  14 +++
 packages/dashboard/src/command-center-csv.ts       |  12 ++-
 11 files changed, 348 insertions(+), 23 deletions(-)

Fusion-Task-Id: FN-6654

Fusion-Task-Lineage: d5c78ec1-8aef-4fdf-8a11-ee337da4cb00
2026-06-18 16:51:56 -07:00
gsxdsm
deb1717812 FN-6667: add real iOS Safari acceptance harness
Add a real iOS Safari acceptance harness and documentation for terminal verification gates.

- Add an `ios:acceptance` script with check, dry-run, and real WebDriver session modes.
- Support BrowserStack, Sauce Labs, and LambdaTest credential discovery with redacted capability planning.
- Document the real-iOS provisioning workflow and link it from testing docs.
- Cover credential selection, URL validation, capability shaping, and CLI behavior with node tests.

Files changed:
 docs/README.md                            |   1 +
 docs/ios-acceptance.md                    | 144 ++++++++++++++++
 docs/testing.md                           |   3 +
 package.json                              |   1 +
 scripts/__tests__/ios-acceptance.test.mjs | 131 +++++++++++++++
 scripts/ios-acceptance.mjs                | 264 ++++++++++++++++++++++++++++++
 scripts/lib/ios-acceptance.mjs            | 243 +++++++++++++++++++++++++++
 7 files changed, 787 insertions(+)

Fusion-Task-Id: FN-6667

Fusion-Task-Lineage: 9eee6dbe-646e-4fff-a1da-fd59cdd2cb59
2026-06-18 16:47:09 -07:00