gsxdsm
82fa5375dd
Merge pull request #1688 from Runfusion/fix/compound-engineering-dist-freshness
...
Build Compound Engineering plugin dist before its tests (fix Full Suite)
2026-06-20 11:49:31 +08:00
gsxdsm
8b5b9a75ad
Build Compound Engineering plugin dist before its tests
...
dist-freshness.test.ts reads the plugin's compiled dist/settings.js and
dist/session/orchestrator.js to guard against stale dist (FN-6596), but the
plugin had no pretest build and was missing from ensure-test-artifacts.mjs.
On a fresh CI checkout dist/ does not exist, so the guard threw "dist/ is
missing" — failing the non-blocking Full Suite on every main commit.
Register the plugin's required artifacts in ensure-test-artifacts.mjs and add
a `pretest` hook that builds them, matching the dependency-graph / hermes /
openclaw plugins. Verified locally: with dist/ absent, `pnpm --filter
@fusion-plugin-examples/compound-engineering test` now builds dist via the
pretest and all 192 plugin tests pass (incl. the two dist-freshness cases).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-19 20:47:32 -07:00
gsxdsm
a9b65ac83f
Merge pull request #1686 from Runfusion/fix/quarantine-json-forces-gate-mode
...
Stop quarantine-list edits from forcing pnpm test into gate mode
2026-06-20 11:34:41 +08:00
gsxdsm
b9c5b4a2a6
docs: capture gate-mode-drops-coverage learning
...
Document the test-changed shared-infra catch-all trap (gate mode replaces
affected-package coverage instead of augmenting it) under docs/solutions/,
and add an "Affected-package test selection" concept to CONCEPTS.md.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-19 19:10:27 -07:00
gsxdsm
24ff12471f
Stop quarantine-list edits from forcing pnpm test into gate mode
...
scripts/lib/test-quarantine.json is runtime data (which tests are
quarantined), not executable test infra, but it tripped the shared-infra
catch-all in isSharedInfraChange. That forced mode=gate, which runs only
the fixed engine-core + cli-shape gate suite and returns before the
affected packages -- so a dev's real changes (e.g. @fusion/core,
@fusion/dashboard) got zero coverage whenever they also touched the
quarantine list. Classify the file as test-irrelevant so the diff stays
in changed mode and the affected packages run.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-19 19:05:49 -07:00
gsxdsm
1a565a368b
FN-6744: rescue WorkflowNodeEditor merge seam guard
...
Rescue the WorkflowNodeEditor quarantine by making duplicate merge seam detection reliable during initial canvas load.
- Derive fragment seam conflicts from the loaded workflow IR until React Flow nodes materialize.
- Treat IR merge nodes as merge seams so duplicate merge fragments are rejected consistently.
- Cover desktop and mobile duplicate merge fragment insertion paths and remove the test from quarantine.
- Document the FN-6744 rescue evidence and deletion-ratchet update.
Files changed:
docs/testing.md | 6 +++-
.../app/components/WorkflowNodeEditor.tsx | 11 +++++--
.../__tests__/WorkflowNodeEditor.test.tsx | 34 ++++++++++++++++------
.../app/components/workflow-flow-mapping.ts | 10 +++++++
packages/dashboard/vitest.config.ts | 8 +++--
scripts/lib/test-quarantine.json | 5 ----
6 files changed, 54 insertions(+), 20 deletions(-)
Fusion-Task-Id: FN-6744
Fusion-Task-Lineage: 0f5b167a-8efc-4458-ac9d-e719320b751f
2026-06-19 18:38:17 -07:00
gsxdsm
d06d1052db
FN-6743: rescue QuickEntryBox focus restoration
...
Restore reliable QuickEntryBox post-submit focus and return its test to the dashboard suite.
- Replace the ref-gated focus effect with a state-driven post-submit focus request.
- Cover desktop Enter, Save, duplicate-confirmed submit, mobile non-focus, and failed-submit draft preservation.
- Remove QuickEntryBox from dashboard quarantine while keeping the remaining workflow editor quarantine.
Files changed:
.../dashboard/app/components/QuickEntryBox.tsx | 46 +++++++++++++++++-----
.../components/__tests__/QuickEntryBox.test.tsx | 29 +++++++++++++-
packages/dashboard/vitest.config.ts | 5 ++-
scripts/lib/test-quarantine.json | 5 ---
4 files changed, 69 insertions(+), 16 deletions(-)
Fusion-Task-Id: FN-6743
Fusion-Task-Lineage: 2d458631-3ff3-4d96-8d91-bc2a17538be2
2026-06-19 17:49:06 -07:00
gsxdsm
5117944371
FN-6720: add productivity task duration stats
...
Adds completed-task active-duration analytics to the Command Center Productivity surface.\n\n- Aggregate average, median, p90, total, and completed-task duration metrics from done tasks with recorded active time.\n- Render duration stat cards with unavailable dash sentinels and export matching CSV rows.\n- Cover analytics, dashboard, route, CSV, mobile/tablet layout, and documentation behavior.\n\nFiles changed:\n .changeset/soft-badgers-measure.md | 5 +\n docs/architecture.md | 4 +-\n docs/dashboard-guide.md | 2 +-\n docs/storage.md | 2 +\n .../src/__tests__/productivity-analytics.test.ts | 105 ++++++++++++++++++++-\n packages/core/src/productivity-analytics.ts | 83 +++++++++++++++-\n .../__tests__/CommandCenter.mobile-scroll.test.tsx | 16 ++++\n .../__tests__/CommandCenter.tablet-layout.test.tsx | 19 ++++\n .../command-center/areas/ProductivityArea.tsx | 65 ++++++++++++-\n .../command-center/areas/__tests__/areas.test.tsx | 65 ++++++++++++-\n .../components/command-center/areas/areaShared.ts | 12 +++\n .../src/__tests__/command-center-csv.test.ts | 8 ++\n .../register-command-center-routes.test.ts | 22 +++++\n packages/dashboard/src/command-center-csv.ts | 5 +\n 14 files changed, 404 insertions(+), 9 deletions(-)
Fusion-Task-Id: FN-6720
Fusion-Task-Lineage: aa0980eb-d156-4dca-b6b8-1788570c166b
2026-06-19 17:25:35 -07:00
gsxdsm
711bf3e1b8
FN-6746: attribute token analytics per runtime model
...
Persist and expand per-model token usage so Command Center reports every model used by a task.
- Add a nullable per-model token usage column and task model bucket types.
- Merge session token deltas into provider/model buckets while retaining task-level totals.
- Expand model/provider analytics from per-model buckets with legacy fallbacks for older rows.
- Cover persistence, migration, aggregation, and session accumulation behavior with tests.
- Document the per-model storage contract alongside existing token analytics tables.
Files changed:
docs/storage.md | 2 +
packages/core/src/__tests__/db-migrate.test.ts | 62 ++++++++++
.../core/src/__tests__/store-persistence.test.ts | 49 ++++++++
.../core/src/__tests__/token-analytics.test.ts | 127 ++++++++++++++++++++-
packages/core/src/db.ts | 13 ++-
packages/core/src/index.ts | 2 +-
packages/core/src/store.ts | 7 +-
packages/core/src/token-analytics.ts | 58 ++++++++--
packages/core/src/types.ts | 32 ++++++
.../src/__tests__/session-token-usage.test.ts | 23 ++++
packages/engine/src/executor.ts | 20 +++-
packages/engine/src/session-token-usage.ts | 50 +++++++-
packages/engine/src/step-session-executor.ts | 7 ++
13 files changed, 429 insertions(+), 23 deletions(-)
Fusion-Task-Id: FN-6746
Fusion-Task-Lineage: 1b1a3b31-b669-4e89-ac38-a871f3349015
2026-06-19 16:47:34 -07:00
gsxdsm
f01ede2523
FN-6742: rescue session cross-tab tests
...
Rescue the dashboard session cross-tab test before its deletion-ratchet deadline.
- Dispose the API router and session cleanup scheduler before closing test stores.
- Hide unused TaskStore EventEmitter hooks in the route-only harness to avoid background route subscribers reopening temp fixtures.
- Remove the session-cross-tab quarantine ledger entry and dashboard Vitest exclude in lockstep.
- Document the rescue evidence and teardown pattern for future dashboard session tests.
Files changed:
docs/testing.md | 6 ++++-
.../src/__tests__/session-cross-tab.test.ts | 30 +++++++++++++++++++---
packages/dashboard/vitest.config.ts | 5 +++-
scripts/lib/test-quarantine.json | 5 ----
4 files changed, 36 insertions(+), 10 deletions(-)
Fusion-Task-Id: FN-6742
Fusion-Task-Lineage: e26d70eb-f139-45f7-8ddd-bde2d172c291
2026-06-19 16:47:34 -07:00
gsxdsm
fc0636fe90
FN-6748: add Air dashboard theme
...
Adds a minimal, borderless Air color theme across dashboard theme selection and bootstrap validation.
- Register Air in the core theme union, dashboard theme options, and browser/desktop bootstrap validators.
- Add dark and light Air token blocks with flattened chrome styling and matching swatch samples.
- Cover Air registration and CSS invariants with a focused dashboard test.
- Document the Air theme alongside the existing Shadcn theme in dashboard theming guidance.
Files changed:
docs/dashboard-guide.md | 2 +-
packages/core/src/types.ts | 2 +
packages/dashboard/app/__tests__/air-theme.test.ts | 58 ++++++++++++
.../dashboard/app/components/ThemeSelector.css | 14 +++
packages/dashboard/app/components/themeOptions.ts | 1 +
packages/dashboard/app/index.html | 2 +-
packages/dashboard/app/public/theme-data.css | 101 +++++++++++++++++++++
packages/desktop/src/renderer/index.html | 1 +
8 files changed, 179 insertions(+), 2 deletions(-)
Fusion-Task-Id: FN-6748
Fusion-Task-Lineage: a0caf14f-673d-485c-8886-97e4b273b624
2026-06-19 16:47:34 -07:00
gsxdsm
e19f7c2008
FN-6747: add shadcn dashboard theme
...
Add a shadcn-inspired dashboard theme across the theme picker, persisted startup validation, and public theme tokens.
- Register the Shadcn color theme in core and dashboard theme option lists.
- Add zinc-neutral dark and light CSS tokens with Geist typography, 1px borders, subtle shadows, and neutralized glow effects.
- Add theme swatches, documentation, startup allow-list support, regression coverage, and a published package changeset.
Files changed:
.changeset/shadcn-dashboard-theme.md | 5 +
docs/dashboard-guide.md | 2 +-
packages/core/src/types.ts | 1 +
.../dashboard/app/components/ThemeSelector.css | 14 ++
packages/dashboard/app/components/themeOptions.ts | 1 +
.../dashboard/app/hooks/__tests__/useTheme.test.ts | 28 ++++
packages/dashboard/app/index.html | 2 +-
packages/dashboard/app/public/theme-data.css | 166 +++++++++++++++++++++
8 files changed, 217 insertions(+), 2 deletions(-)
Fusion-Task-Id: FN-6747
Fusion-Task-Lineage: cf0d6732-aa4f-457d-ae6c-e54fca0191b2
2026-06-19 16:47:34 -07:00
gsxdsm
59d3eee7f4
FN-6721: estimate productivity hours saved
...
Estimate human hours saved from productivity LOC analytics and expose it consistently.
- Add a shared human-lines-per-hour conversion and hoursSaved summary to productivity analytics.
- Show human hours saved in the Command Center productivity area with unavailable-state handling.
- Include hoursSaved in productivity CSV exports, docs, tests, and the release changeset.
Files changed:
.changeset/fuzzy-productivity-hours.md | 5 ++++
docs/architecture.md | 4 +--
docs/storage.md | 4 +--
.../src/__tests__/productivity-analytics.test.ts | 29 ++++++++++++++++------
packages/core/src/index.ts | 3 ++-
packages/core/src/productivity-analytics.ts | 28 +++++++++++++++++++--
.../command-center/areas/ProductivityArea.tsx | 24 ++++++++++++++++++
.../command-center/areas/__tests__/areas.test.tsx | 9 ++++++-
.../src/__tests__/command-center-csv.test.ts | 29 +++++++++++++++++++++-
.../register-command-center-routes.test.ts | 1 +
packages/dashboard/src/command-center-csv.ts | 1 +
11 files changed, 120 insertions(+), 17 deletions(-)
Fusion-Task-Id: FN-6721
Fusion-Task-Lineage: 80114bfc-7d7f-4659-983a-9488660e5f0f
2026-06-19 16:47:34 -07:00
gsxdsm
c158dda8a6
FN-6745: add xhigh thinking level support
...
Adds the xhigh reasoning option across settings, task flows, APIs, and model adapter tests.
- Extend the shared thinking-level enum, validation paths, generated resource types, and settings documentation for `xhigh`.
- Surface `xhigh` in task, agent, and global model selectors with localized labels.
- Cover task route handling, task form rendering, and Pi adapter mapping behavior with regression tests.
- Add a patch changeset for the published Fusion package.
Files changed:
.changeset/fn-6745-xhigh-thinking-level.md | 5 +
docs/settings-reference.md | 2 +-
.../core/src/__tests__/thinking-levels.test.ts | 9 ++
packages/core/src/types.ts | 10 +-
packages/dashboard/app/api/legacy.ts | 6 +-
.../dashboard/app/components/AgentDetailView.tsx | 2 +-
.../dashboard/app/components/ModelSelectorTab.tsx | 1 +
.../dashboard/app/components/NewAgentDialog.tsx | 3 +-
packages/dashboard/app/components/NewTaskModal.tsx | 2 +-
.../dashboard/app/components/TaskDetailModal.tsx | 2 +-
packages/dashboard/app/components/TaskForm.tsx | 2 +
.../app/components/__tests__/TaskForm.test.tsx | 14 +++
.../settings/sections/GlobalModelsSection.tsx | 1 +
.../src/__tests__/routes-tasks-ops.test.ts | 8 +-
.../dashboard/src/__tests__/routes-tasks.test.ts | 8 +-
packages/dashboard/src/agent-generation.ts | 4 +-
packages/dashboard/src/agent-onboarding.ts | 4 +-
.../src/routes/register-task-workflow-routes.ts | 5 +-
packages/engine/src/__tests__/pi.test.ts | 25 ++++
packages/i18n/locales/en/app.json | 3 +
packages/i18n/locales/es/app.json | 3 +
packages/i18n/locales/fr/app.json | 3 +
packages/i18n/locales/ko/app.json | 3 +
packages/i18n/locales/zh-CN/app.json | 3 +
packages/i18n/locales/zh-TW/app.json | 3 +
packages/i18n/src/resources.d.ts | 126 ++++++++++++++++++++-
26 files changed, 229 insertions(+), 28 deletions(-)
Fusion-Task-Id: FN-6745
Fusion-Task-Lineage: 779e1517-607b-482b-83a1-0f2bb94ae736
2026-06-19 16:47:34 -07:00
gsxdsm
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
62033e5ef7
FN-6733: render dependency graph edge styling
...
Render dependency graph connectors with CSS-resolvable styling so task dependencies are visible.
- Move dependency edge stroke, width, opacity, and arrowhead fill from SVG presentation attributes into inline styles.
- Cover highlighted, dimmed, empty, filtered, desktop, and mobile dependency graph edge rendering.
- Document the SVG custom-property requirement with an FNXC dependency graph comment.
Files changed:
.../DependencyGraph.highlighting.test.tsx | 39 ++++++++++++++++++++++
.../src/__tests__/edges.test.tsx | 34 ++++++++++++++++---
.../fusion-plugin-dependency-graph/src/edges.tsx | 17 +++++++---
3 files changed, 81 insertions(+), 9 deletions(-)
Fusion-Task-Id: FN-6733
Fusion-Task-Lineage: 167e7b56-f0eb-4b32-9f66-3b372ef27d60
2026-06-19 16:47:33 -07:00
gsxdsm
22c936d8e8
FN-6728: enlarge Agent Detail tab labels
...
Improves Agent Detail tab readability on tablet and mobile without changing scrolling behavior.
- Set Agent Detail tab labels to 0.875rem in base and mobile rules.
- Document the tablet readability requirement next to the tab styling.
- Add coverage for readable tab label sizing across tablet/base and mobile CSS states.
Files changed:
.../dashboard/app/components/AgentDetailView.css | 8 ++-
.../AgentDetailView.mobile-scroll.test.tsx | 84 ++++++++++++++--------
2 files changed, 61 insertions(+), 31 deletions(-)
Fusion-Task-Id: FN-6728
Fusion-Task-Lineage: 6be99919-d0b4-4387-875b-88445b78a196
2026-06-19 16:47:33 -07:00
gsxdsm
e6f611169b
FN-6737: preserve terminal Ctrl shortcuts
...
Keep terminal shortcut focus stable so Ctrl combinations emit control bytes reliably.
- Prevent pointer, mouse, and touch activation on terminal shortcut buttons from stealing xterm focus.
- Expand terminal shortcut coverage for Ctrl control codes, touch focus preservation, and platform copy modifiers.
- Add a patch changeset for the published CLI package.
Files changed:
.changeset/fn-6737-terminal-ctrl-shortcuts.md | 5 +++
.../dashboard/app/components/TerminalModal.tsx | 31 +++++++++++++--
.../components/__tests__/TerminalModal.test.tsx | 46 +++++++++++++++++++---
3 files changed, 73 insertions(+), 9 deletions(-)
Fusion-Task-Id: FN-6737
Fusion-Task-Lineage: e27439e0-b2c5-44c1-8584-848e61d41e1b
2026-06-19 16:47:33 -07:00
gsxdsm
8927173ae0
FN-6726: prevent Command Center token totals from overflowing
...
Contain Command Center token totals so large formatted values stay inside their stat surfaces.
- Add shrink and wrap containment to stat and live metric value styles.
- Cover large comma-grouped token totals across Overview, Tokens, and Team surfaces.
- Guard the emitted CSS declarations and quarantine an unrelated WorkflowNodeEditor flake observed during verification.
Files changed:
.../components/command-center/CommandCenter.css | 10 +++++
.../__tests__/CommandCenter.test.tsx | 9 ++++
.../CommandCenter.token-validity.css.test.ts | 21 ++++++++++
.../command-center/areas/__tests__/areas.test.tsx | 48 ++++++++++++++++++----
packages/dashboard/vitest.config.ts | 5 +++
scripts/lib/test-quarantine.json | 5 +++
6 files changed, 89 insertions(+), 9 deletions(-)
Fusion-Task-Id: FN-6726
Fusion-Task-Lineage: 8a26ca5c-fdbe-4e68-a9d2-ae93340fe685
2026-06-19 16:47:33 -07:00
gsxdsm
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
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