Commit Graph

1624 Commits

Author SHA1 Message Date
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
8d2b396e85 FN-6741: rescue core quarantine entries
Rescue the loaded @fusion/core quarantine batch while keeping the remaining lock flake quarantined.

- Remove rescued core test files from the quarantine ledger and Vitest exclude list.
- Close the settings-export TaskStore before fixture cleanup to release resources deterministically.
- Re-quarantine the store-concurrent-writes broad-lane SQLite lock flake observed during merge verification.
- Document the rescue evidence and remaining deletion-ratchet follow-up.

Files changed:
 docs/testing.md                                    |  8 ++++++-
 .../core/src/__tests__/settings-export.test.ts     |  5 ++++
 packages/core/vitest.config.ts                     | 11 +++++----
 scripts/lib/test-quarantine.json                   | 27 +---------------------
 4 files changed, 19 insertions(+), 32 deletions(-)

Fusion-Task-Id: FN-6741

Fusion-Task-Lineage: 064367a6-f1c4-4685-a766-37bf2204a42c
2026-06-19 16:47:34 -07:00
gsxdsm
60b69dd3eb FN-6739: document terminal shortcut focus preservation
Document the terminal shortcuts behavior that keeps active sessions focused during shortcut activation.

- Note that Shortcuts panel buttons preserve focus across pointer, mouse, and touch activation.
- Clarify that preserved focus keeps Ctrl combinations emitting control bytes to the shell.

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

Fusion-Task-Id: FN-6739

Fusion-Task-Lineage: f1f0ff89-e37e-4ed6-b16f-77014f5d2cc4
2026-06-19 16:47:34 -07:00
gsxdsm
4ad4f7faf0 FN-6738: document reliability charts
Document the new Reliability View chart coverage in the dashboard guide.

- Add the entered-vs-bounced trend chart to the In-review flow feature list.
- Add the merge-attempt distribution pie chart and empty-state behavior to the Merge attempts feature list.

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

Fusion-Task-Id: FN-6738

Fusion-Task-Lineage: 37e5249c-ae5e-431a-8b93-1ee098b725e7
2026-06-19 16:47:33 -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
2da55a8994 FN-6740: document quarantine ratchet follow-ups
Document the same-day flaky-test quarantine audit and ownership plan.\n\n- Record the 2026-06-19 quarantine batch expiration date and ledger/config lockstep status.\n- Split follow-up ownership across CLI, core, and dashboard quarantine rescue/delete work.\n- Add an FNXC comment explaining why the coordinated audit should stay scoped by subsystem.\n\nFiles changed:\n docs/testing.md | 4 ++++\n 1 file changed, 4 insertions(+)

Fusion-Task-Id: FN-6740

Fusion-Task-Lineage: eba08900-18d6-4768-ac8a-c673f89537ca
2026-06-19 16:47:33 -07:00
gsxdsm
259cdfb531 FN-6734: stabilize CLI extension test cleanup
Stabilize the CLI extension regression lane by closing cached stores before temp fixture removal.

- Close extension store caches and manually created TaskStore/AgentStore handles before deleting per-test fixture roots.
- Add a regression guard for the cached TaskStore close-before-remove invariant.
- Reduce oversized task-list truncation fixtures while preserving bounded-output assertions.
- Document the CLI affected-lane rescue pattern for store leaks, fixture sizing, and runtime-dist mocking order.

Files changed:
 docs/testing.md                                    |   4 +
 .../extension-agent-set-instructions.test.ts       |   3 +-
 .../__tests__/extension-goal-tools-audit.test.ts   |   3 +-
 .../cli/src/__tests__/extension-goal-tools.test.ts |   3 +-
 .../cli/src/__tests__/extension-insights.test.ts   |   3 +-
 .../__tests__/extension-mission-goal-tools.test.ts |   3 +-
 packages/cli/src/__tests__/extension.test.ts       | 221 +++++++++++++--------
 .../src/__tests__/research-extension-tools.test.ts |  40 +++-
 8 files changed, 186 insertions(+), 94 deletions(-)

Fusion-Task-Id: FN-6734

Fusion-Task-Lineage: efe91c0f-f84c-471c-8067-65a244b2aec7
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
df139ec84c FN-6736: reclaim phantom executor bindings
Recover wedged in-progress tasks by clearing stale executor bindings only after liveness proves the owner is gone.

- Add a guarded executor escape hatch that clears only stale in-memory task bookkeeping while refusing live session surfaces.
- Teach self-healing to identify phantom executor-active bindings using age, checkout, heartbeat, run-audit, and worktree liveness signals before requeueing preserved work.
- Record reclaim events in run audit and cover preserved-worktree recovery with reliability interaction tests.
- Document the recovery path and add a patch changeset for the published CLI package.

Files changed:
 .changeset/fn-6736-phantom-executor-binding.md     |   5 +
 AGENTS.md                                          |   1 +
 docs/architecture.md                               |   1 +
 .../reclaim-phantom-executor-binding.test.ts       | 244 +++++++++++++++++++++
 packages/engine/src/executor.ts                    |  35 +++
 packages/engine/src/run-audit.ts                   |   2 +
 packages/engine/src/runtimes/in-process-runtime.ts |   3 +-
 packages/engine/src/self-healing.ts                | 112 ++++++++++
 8 files changed, 402 insertions(+), 1 deletion(-)

Fusion-Task-Id: FN-6736

Fusion-Task-Lineage: c76191ba-f4c3-4832-a790-67676e258ba2
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
340da92400 FN-6735: treat benign merge-seam pause aborts as retryable
Treat benign pause/resume aborts at workflow merge seams as retryable transient merge failures.

- Classify legacy, merge-region, manual-hold, and retry node ids as merge-seam graph failures.
- Route clean in-review pause/resume aborts back through bounded auto-merge retry when eligible.
- Keep conflict, contamination, foreign-work, exhausted-retry, global/user pause, and confirmed-merge cases terminal.
- Cover the lifecycle with a reliability regression test and architecture notes.

Files changed:
 docs/architecture.md                               |   4 +-
 .../merge-node-paused-abort-retryable.test.ts      | 227 +++++++++++++++++++++
 packages/engine/src/executor.ts                    |  77 ++++++-
 packages/engine/src/workflow-graph-executor.ts     |   2 +-
 4 files changed, 301 insertions(+), 9 deletions(-)

Fusion-Task-Id: FN-6735

Fusion-Task-Lineage: 3560c1e3-91e9-405a-bdfc-a243f7052803
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
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
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
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
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
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
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
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
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
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
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
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
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
gsxdsm
504305e1cb FN-6653: add GitHub issue analytics to Command Center
Add Command Center analytics for GitHub issue activity using local task-store data.

- Aggregate filed and fixed GitHub issue counts by day and repository in core.
- Expose the GitHub analytics endpoint and CSV export fields through dashboard routes.
- Add a GitHub Command Center area with trend and repository visualizations.
- Cover analytics aggregation, API responses, CSV output, and dashboard rendering with tests.
- Document the dashboard GitHub analytics surface and add a patch changeset.

Files changed:
 .../fn-6653-command-center-github-issue-stats.md   |   5 +
 docs/dashboard-guide.md                            |   2 +
 .../src/__tests__/github-issue-analytics.test.ts   | 242 +++++++++++++++++++++
 packages/core/src/github-issue-analytics.ts        | 196 +++++++++++++++++
 packages/core/src/index.ts                         |   7 +
 .../components/command-center/CommandCenter.tsx    |   5 +
 .../__tests__/CommandCenter.mobile-scroll.test.tsx |  10 +
 .../__tests__/CommandCenter.test.tsx               |  35 ++-
 .../components/command-center/areas/GithubArea.tsx | 111 ++++++++++
 .../command-center/areas/__tests__/areas.test.tsx  |  73 +++++++
 .../register-command-center-routes.auth.test.ts    |   1 +
 .../register-command-center-routes.test.ts         |  66 ++++++
 packages/dashboard/src/command-center-csv.ts       |  20 ++
 .../src/routes/register-command-center-routes.ts   |  25 +++
 14 files changed, 796 insertions(+), 2 deletions(-)

Fusion-Task-Id: FN-6653

Fusion-Task-Lineage: fe1b0484-779e-4602-a7c2-9ba41a84916e
2026-06-18 16:18:52 -07:00
gsxdsm
11c4120705 FN-6659: keep xterm font metrics symbols-free
Keep terminal wide-glyph fallback out of xterm's measured font path while preserving Nerd Font symbols in DOM rendering.

- Split terminal font resolution into symbols-free xterm font families and scoped glyph fallback families.
- Apply the glyph fallback CSS variable to both TerminalModal and SessionTerminal surfaces.
- Update regression coverage and the documented mobile xterm wide-glyph recurrence analysis.

Files changed:
 .changeset/fn-6659-terminal-render.md              |  5 +++
 .../xterm-symbols-nerd-font-unicode-range.md       | 22 +++++++-----
 .../dashboard/app/__tests__/terminal-input.test.ts | 42 +++++++++++++---------
 .../dashboard/app/components/SessionTerminal.css   |  8 +++++
 .../dashboard/app/components/SessionTerminal.tsx   | 21 +++++++++--
 .../dashboard/app/components/TerminalModal.css     |  8 +++++
 .../dashboard/app/components/TerminalModal.tsx     | 13 ++++++-
 .../__tests__/SessionTerminal.mobile.test.tsx      |  6 ++--
 .../components/__tests__/SessionTerminal.test.tsx  | 14 ++++----
 .../components/__tests__/TerminalModal.test.tsx    |  9 +++--
 .../utils/__tests__/terminalPreferences.test.ts    |  2 +-
 .../dashboard/app/utils/terminalPreferences.ts     | 16 +++++----
 12 files changed, 117 insertions(+), 49 deletions(-)

Fusion-Task-Id: FN-6659

Fusion-Task-Lineage: e29a709d-9d9d-4a90-9616-8f08c41b126d
2026-06-18 15:59:34 -07:00
gsxdsm
f41732d04b FN-6652: add live token usage timeline
Adds live token-over-time analytics and charting to Command Center.

- Add optional token analytics time-series buckets with hour, day, and week granularity.
- Surface live-polled token series data through the Command Center tokens API.
- Render an animated, reduced-motion-safe tokens-over-time chart with granularity controls.
- Cover analytics bucketing, API query parsing, and Command Center chart behavior with tests.

Files changed:
 .changeset/fn-6652-token-usage-over-time.md        |   5 +
 docs/dashboard-guide.md                            |   4 +-
 .../core/src/__tests__/token-analytics.test.ts     |  76 ++++++++++++
 packages/core/src/index.ts                         |   2 +
 packages/core/src/token-analytics.ts               |  65 ++++++++++-
 .../components/command-center/CommandCenter.css    |  24 +++-
 .../components/command-center/CommandCenter.tsx    |  12 +-
 .../__tests__/CommandCenter.test.tsx               |  39 ++++++-
 .../command-center/__tests__/charts.test.tsx       |  44 +++++++
 .../components/command-center/areas/TokensArea.tsx |  46 +++++++-
 .../command-center/areas/__tests__/areas.test.tsx  | 128 ++++++++++++++++++++-
 .../app/components/command-center/areas/areas.css  |  57 +++++++++
 .../command-center/areas/useAnalyticsArea.ts       |  26 ++++-
 .../command-center/charts/TokenSeriesChart.tsx     |  52 +++++++++
 .../components/command-center/charts/charts.css    |  76 ++++++++++++
 .../register-command-center-routes.test.ts         |  38 +++++-
 .../src/routes/register-command-center-routes.ts   |  15 +++
 17 files changed, 691 insertions(+), 18 deletions(-)

Fusion-Task-Id: FN-6652

Fusion-Task-Lineage: ebfd1b5d-5b6c-48ef-bce3-f18bbc1605fa
2026-06-18 15:27:57 -07:00
gsxdsm
e14f33568c FN-6651: fix Command Center in-progress count
Command Center now shows current board-state in-progress tasks instead of historical funnel entries.

- Fetch the live Command Center snapshot for Overview live activity metrics.
- Source tasks-in-progress from current live column counts with loading and failure fallbacks.
- Cover populated, zero, missing-column, pending, failure, range-independent, and mobile overview cases.
- Document that the live snapshot count is independent of analytics date ranges.

Files changed:
 docs/dashboard-guide.md                            |  2 +-
 .../components/command-center/CommandCenter.tsx    | 36 +++++++-
 .../__tests__/CommandCenter.mobile-scroll.test.tsx | 12 +++
 .../__tests__/CommandCenter.test.tsx               | 98 +++++++++++++++++++++-
 4 files changed, 142 insertions(+), 6 deletions(-)

Fusion-Task-Id: FN-6651

Fusion-Task-Lineage: a4c01d6f-437f-49e0-baf9-fb6b76d5e8e8
2026-06-18 14:59:26 -07:00
gsxdsm
662a09b631 FN-6656: add live activity trend charts
Add live Command Center activity line charts with safe animated rendering.

- Replace activity sparklines with reusable SVG line charts for messages, agents, nodes, and throughput trends.
- Refresh activity analytics on a bounded interval while preserving existing data during revalidation.
- Add zero/NaN-safe chart geometry, reduced-motion styling, tests, docs, and a patch changeset.

Files changed:
 .../fn-6656-command-center-activity-line-charts.md |   5 +
 docs/dashboard-guide.md                            |   2 +-
 .../command-center/__tests__/charts.test.tsx       |  41 ++++++++
 .../command-center/areas/ActivityArea.tsx          |  62 ++++++++---
 .../command-center/areas/__tests__/areas.test.tsx  | 115 ++++++++++++++++++++-
 .../components/command-center/charts/LineChart.tsx | 108 +++++++++++++++++++
 .../components/command-center/charts/charts.css    |  62 +++++++++++
 7 files changed, 381 insertions(+), 14 deletions(-)

Fusion-Task-Id: FN-6656

Fusion-Task-Lineage: 301de13a-91c0-425d-b743-8688fed48d41
2026-06-18 14:51:47 -07:00
gsxdsm
2367918fdf FN-6650: add Overview analytics charts
Add graph-rich Overview visuals to the Command Center using existing analytics data.

- Add tokens-by-model, tool-category, and daily activity chart cards to the Overview tab.
- Style the chart section with responsive dashboard-token layouts and reduced-motion safeguards.
- Cover populated, partial, edge-case, and mobile-scroll chart rendering in tests.
- Document the Overview charts and add a patch changeset for the published CLI package.

Files changed:
 .../fn-6650-command-center-overview-charts.md      |   5 +
 docs/dashboard-guide.md                            |   2 +-
 .../components/command-center/CommandCenter.css    | 111 +++++++++++++++++++++
 .../components/command-center/CommandCenter.tsx    |  73 +++++++++++++-
 .../__tests__/CommandCenter.mobile-scroll.test.tsx |  73 +++++++++++++-
 .../__tests__/CommandCenter.test.tsx               |  58 +++++++++++
 6 files changed, 313 insertions(+), 9 deletions(-)

Fusion-Task-Id: FN-6650
Fusion-Task-Lineage: 227f5809-ed71-42fb-8847-b137dbef6ac7
2026-06-18 14:38:07 -07:00
gsxdsm
16b6e5decb FN-6638: stabilize mobile terminal font metrics
Stabilize terminal font metric remeasurement across mobile and attach surfaces.

- Add a shared terminal font metric wait helper that falls back from full font stacks to concrete individual font families before remeasurement.
- Reapply font options, refit, resize, and refresh SessionTerminal after font metrics settle to cover attached CLI terminals.
- Pin text-size adjustment on xterm measurement subtrees so mobile WebKit cannot inflate ASCII cell metrics.
- Extend terminal preference and rendering tests, documentation, and changeset coverage for the recurrence.

Files changed:
 .changeset/fn-6638-terminal-render.md              |   5 +
 .../xterm-async-font-remeasure-paste-dedupe.md     |  20 +++-
 .../dashboard/app/__tests__/terminal-input.test.ts |  26 +++++
 .../dashboard/app/components/SessionTerminal.css   |  10 ++
 .../dashboard/app/components/SessionTerminal.tsx   |  29 ++++++
 .../dashboard/app/components/TerminalModal.css     |  10 ++
 .../dashboard/app/components/TerminalModal.tsx     |  24 ++---
 .../components/__tests__/SessionTerminal.test.tsx  |  41 +++++++-
 .../components/__tests__/TerminalModal.test.tsx    |  38 ++++++++
 .../utils/__tests__/terminalPreferences.test.ts    |  29 +++++-
 .../dashboard/app/utils/terminalPreferences.ts     | 107 +++++++++++++++++++++
 11 files changed, 319 insertions(+), 20 deletions(-)

Fusion-Task-Id: FN-6638

Fusion-Task-Lineage: edbf071d-a0c1-4955-95ff-83e6996f4674
2026-06-18 13:19:43 -07:00
gsxdsm
a6a3260fa3 FN-6647: preserve completed handoffs after graph aborts
Persist completed workflow handoffs so trailing graph aborts stay benign after executor cleanup.

- Derive finalized completion state from persisted task rows when volatile executor markers are gone.
- Keep genuine pause, global-pause, merge-seam, incomplete, and failed/error rows on their existing failure paths.
- Expand executor recovery tests for no-commit completions, terminal rows, stale marker cleanup, and durable classifier controls.
- Document the persisted completion-finalize classifier contract.

Files changed:
 docs/architecture.md                               |   2 +-
 .../engine/src/__tests__/executor-recovery.test.ts | 164 ++++++++++++++++++---
 packages/engine/src/executor.ts                    |  18 ++-
 3 files changed, 160 insertions(+), 24 deletions(-)

Fusion-Task-Id: FN-6647

Fusion-Task-Lineage: 71605a4c-4077-4219-bfa9-44bba2d8372c
2026-06-18 12:36:48 -07:00
gsxdsm
3b32b535d0 FN-6644: preserve finalized graph aborts
Keep no-commit completion handoffs in review when teardown reclassifies their abort provenance.

- Track completed finalize-to-review handoffs with a durable executor marker.
- Suppress false operator-action graph failures after hard-cancel teardown overwrites completion-finalize provenance.
- Cover preserved user/global pause, merge-seam, hard-cancel, terminal, and redispatch cleanup behavior.
- Document the finalized completion abort exception and add a patch changeset.

Files changed:
 .changeset/fn-6644-finalize-to-review-abort-overwrite.md  |   5 +
 docs/architecture.md                                      |   2 +-
 packages/engine/src/__tests__/executor-recovery.test.ts   | 300 +++++++++++++++++++++
 packages/engine/src/executor.ts                           |  40 ++-
 4 files changed, 342 insertions(+), 5 deletions(-)

Fusion-Task-Id: FN-6644
Fusion-Task-Lineage: 569fa84f-2cbe-45ae-b12c-874dd45cea73
2026-06-18 11:18:03 -07:00
gsxdsm
b480699e06 FN-6642: rescue dashboard flaky test coverage
Rescue the dashboard quarantine candidates by restoring stable shared mocks and refreshing quarantine evidence.

- Remove QuickEntryBox and chat-routes from the dashboard quarantine config and ledger.
- Add iterable chat task document tool mocks across dashboard session test helpers.
- Refresh the test velocity baseline and history with zero quarantined tests.

Files changed:
 docs/test-velocity-baseline.md                     |  20 ++--
 .../src/__tests__/session-error-recovery.test.ts   |   2 +
 .../session-persistence-roundtrip.test.ts          |   2 +
 .../src/__tests__/session-reconnect.test.ts        |   2 +
 .../src/__tests__/session-resume-history.test.ts   |   2 +
 packages/dashboard/src/test/mockCoreEngine.ts      |   6 ++
 packages/dashboard/vitest.config.ts                |  13 ++-
 scripts/lib/test-quarantine.json                   |  10 --
 scripts/test-velocity-history.json                 | 111 +++++++++++++++++++++
 9 files changed, 144 insertions(+), 24 deletions(-)

Fusion-Task-Id: FN-6642

Fusion-Task-Lineage: 76e51d76-ce9a-4e68-9aa0-ad83cdf351a9
2026-06-18 09:16:32 -07:00