gsxdsm
ef4889585f
FN-6779: add artifacts gallery to Documents
...
Adds a Documents-view artifact gallery backed by dashboard artifact registry APIs.
- Add artifact listing and media-serving endpoints with project scoping, validation, and safe artifact path resolution.
- Add client artifact API helpers, SWR caching, and a useArtifacts hook for background-refresh gallery data.
- Extend Documents view with an Artifacts tab, media previews, localized labels, documentation, tests, and a published package changeset.
Files changed:
.changeset/fn-6779-artifacts-gallery.md | 5 +
docs/dashboard-guide.md | 6 +-
packages/dashboard/app/api/legacy.ts | 34 ++++
.../dashboard/app/components/DocumentsView.css | 142 ++++++++++++++++
.../dashboard/app/components/DocumentsView.tsx | 178 ++++++++++++++++++--
.../components/__tests__/DocumentsView.test.tsx | 163 +++++++++++++++++-
.../app/hooks/__tests__/useArtifacts.test.ts | 136 +++++++++++++++
packages/dashboard/app/hooks/useArtifacts.ts | 145 ++++++++++++++++
packages/dashboard/app/utils/swrCache.ts | 1 +
.../src/routes/__tests__/artifacts-routes.test.ts | 182 +++++++++++++++++++++
.../src/routes/register-task-workflow-routes.ts | 125 ++++++++++++++
packages/i18n/locales/en/app.json | 22 ++-
packages/i18n/locales/es/app.json | 27 ++-
packages/i18n/locales/fr/app.json | 27 ++-
packages/i18n/locales/ko/app.json | 27 ++-
packages/i18n/locales/zh-CN/app.json | 27 ++-
packages/i18n/locales/zh-TW/app.json | 27 ++-
scripts/line-count-baseline.json | 16 +-
18 files changed, 1255 insertions(+), 35 deletions(-)
Fusion-Task-Id: FN-6779
Fusion-Task-Lineage: 1d71e4be-4bfc-4706-9cbf-7214f91a79d1
2026-06-21 16:01:07 -07:00
gsxdsm
7ee1fec22c
FN-6861: reject repo-root task worktrees
...
Prevent stale task metadata from treating the project repository root as a reusable task worktree.
- Classify root-equal task worktree paths as repo-root before registered-worktree checks.
- Clear stale resumed repo-root assignments so acquisition creates a fresh configured task worktree.
- Add structured executor audit metadata and regression coverage for repo-root liveness collisions.
- Document the repo-root requeue-loop invariant and recovery behavior.
Files changed:
docs/architecture.md | 2 +-
.../repo-root-task-worktree-requeue-loop.md | 49 ++++++++++++++++
.../__tests__/executor-worktree-liveness.test.ts | 23 +++++++-
.../src/__tests__/worktree-acquisition.test.ts | 67 +++++++++++++++++++++-
.../src/__tests__/worktree-pool-liveness.test.ts | 25 ++++++++
packages/engine/src/executor.ts | 22 ++++++-
packages/engine/src/worktree-acquisition.ts | 4 ++
packages/engine/src/worktree-pool.ts | 13 ++++-
8 files changed, 198 insertions(+), 7 deletions(-)
Fusion-Task-Id: FN-6861
Fusion-Task-Lineage: d6a4922e-5a21-4037-b2c2-86ff53d8e9e3
2026-06-21 14:28:58 -07:00
gsxdsm
32455363d0
FN-6845: add resizable right dock for More views
...
Add a tablet and desktop right dock for overflow dashboard views while preserving mobile navigation behavior.
- Route the non-mobile More views affordance into a resizable right dock with expand-to-modal support.
- Add an overflow view registry and controller to render auxiliary dashboard views in the dock.
- Make the right dock default-on in settings alongside the default left sidebar, with explicit opt-outs for legacy tests.
- Cover right dock behavior, navigation fallbacks, and overflow registry entries with focused tests and docs.
Files changed:
docs/dashboard-guide.md | 10 +
packages/dashboard/app/App.tsx | 15 +-
.../mobile-feature-access-regression.test.tsx | 78 +++++
packages/dashboard/app/components/Header.tsx | 66 ++++-
packages/dashboard/app/components/RightDock.css | 165 +++++++++++
packages/dashboard/app/components/RightDock.tsx | 234 +++++++++++++++
.../app/components/RightDockExpandModal.tsx | 70 +++++
.../dashboard/app/components/SettingsModal.tsx | 17 +-
.../app/components/__tests__/Header.test.tsx | 70 +++++
.../app/components/__tests__/RightDock.test.tsx | 202 +++++++++++++
.../__tests__/navigation-history.test.tsx | 2 +-
.../__tests__/overflowViewRegistry.test.tsx | 67 +++++
.../app/components/overflowViewRegistry.tsx | 314 +++++++++++++++++++++
.../app/components/useRightDockController.tsx | 126 +++++++++
14 files changed, 1408 insertions(+), 28 deletions(-)
Fusion-Task-Id: FN-6845
Fusion-Task-Lineage: 3cb04264-cf7a-43e1-b774-678ff3cb325b
2026-06-21 13:52:12 -07:00
gsxdsm
d99246cb74
FN-6834: use OS-available memory for system metrics
...
Use shared OS-available memory readings so macOS cache/inactive pages are not counted as used.
- Add a core available-memory helper that prefers `process.availableMemory()` and flags `freemem` fallback reliability.
- Route core metrics, dashboard system stats, and the dashboard TUI through the shared helper.
- Move and expand memory tests across core, dashboard routes, and verification coverage while documenting the telemetry behavior.
- Add a patch changeset for the published CLI package.
Files changed:
.changeset/fix-macos-memory-used.md | 5 ++
docs/architecture.md | 2 +-
docs/dashboard-guide.md | 2 +-
.../__tests__/available-memory.test.ts | 54 --------------
.../cli/src/commands/dashboard-tui/controller.ts | 37 +---------
.../core/src/__tests__/available-memory.test.ts | 83 ++++++++++++++++++++++
packages/core/src/__tests__/system-metrics.test.ts | 36 +++++++++-
packages/core/src/available-memory.ts | 32 +++++++++
packages/core/src/index.ts | 1 +
packages/core/src/system-metrics.ts | 9 ++-
.../dashboard/src/__tests__/routes-system.test.ts | 27 +++++++
packages/dashboard/src/routes.ts | 7 +-
.../src/__tests__/run-verification-command.test.ts | 18 +++++
13 files changed, 218 insertions(+), 95 deletions(-)
Fusion-Task-Id: FN-6834
Fusion-Task-Lineage: 2e651551-6c35-46d1-b517-535758c7ace2
2026-06-21 13:32:19 -07:00
gsxdsm
217fd74f56
FN-6866: fix active planning chat guidance
...
Prevent task chat from showing idle guidance while planner sessions are actively working.
- Treat triage/planning task states as active steering sessions when they are not queued, paused, or blocked.\n- Keep queued, awaiting, failed, and paused states on idle guidance even in active columns.\n- Cover inline and expanded planning chat surfaces across empty, populated, and loading transcripts.\n- Update the dashboard guide to document planning and live session bridge steering behavior.\n\nFiles changed:\n docs/dashboard-guide.md | 2 +-\n packages/dashboard/app/components/TaskChatTab.tsx | 24 +++++++---\n .../app/components/__tests__/TaskChatTab.test.tsx | 51 +++++++++++++++++++---\n 3 files changed, 66 insertions(+), 11 deletions(-)
Fusion-Task-Id: FN-6866
Fusion-Task-Lineage: 48c57515-40fa-40c1-ae3b-fec0690bba75
2026-06-21 13:25:41 -07:00
gsxdsm
a986a45e48
FN-6852: document desktop engine startup
...
Clarify that desktop CLI launches with the local AI engine by default.\n\n- Document fn desktop as engine-on by default, matching dashboard startup behavior.\n- Clarify --paused keeps the engine process running with automation disabled.\n- Note that desktop has no --no-engine mode and update desktop README launch steps.\n\nFiles changed:\n docs/cli-reference.md | 12 ++++++++++--\n packages/desktop/README.md | 15 +++++++++++----\n 2 files changed, 21 insertions(+), 6 deletions(-)
Fusion-Task-Id: FN-6852
Fusion-Task-Lineage: 3ae2ea10-ede1-4cc5-a3b5-71f692b2a9ac
2026-06-21 13:25:41 -07:00
gsxdsm
2ecf78af28
FN-6860: rescue dashboard quarantine coverage
...
Rescue dashboard process lifecycle coverage and clear stale quarantine state.
- Track dev server lifecycle work so stale probes and output parsing cannot race cleanup.
- Assert duplicate URL detection suppression and fallback probe cleanup across failure, restart, stop, and cleanup paths.
- Remove rescued dashboard tests from quarantine config and ledger, and document the loaded-shard proof.
Files changed:
docs/testing.md | 4 ++
.../src/__tests__/dev-server-process.test.ts | 28 +++++++-
packages/dashboard/src/dev-server-process.ts | 74 +++++++++++++++++-----
packages/dashboard/vitest.config.ts | 5 +-
scripts/lib/test-quarantine.json | 13 +---
5 files changed, 95 insertions(+), 29 deletions(-)
Fusion-Task-Id: FN-6860
Fusion-Task-Lineage: abd22a00-e08e-4f65-bebc-c663c715b40e
2026-06-21 13:25:41 -07:00
gsxdsm
eb3477aba4
FN-6835: add system stats node selection
...
Add Command Center controls for inspecting local or remote node system telemetry.
- add a System area node selector with local defaults, remote stats loading, and per-node sample resets
- expose proxied node system-stats fetching and route local node requests through the shared stats builder
- route Vitest kill requests through node-aware proxy plumbing and cover node stats behavior with tests
- add localized node selector copy, docs, and a published package changeset
Files changed:
.changeset/fuzzy-nodes-watch.md | 5 +
docs/dashboard-guide.md | 4 +-
packages/dashboard/app/api/legacy.ts | 14 +-
.../__tests__/CommandCenter.mobile-scroll.test.tsx | 2 +
.../__tests__/CommandCenter.tablet-layout.test.tsx | 2 +
.../__tests__/CommandCenter.test.tsx | 1 +
.../__tests__/SystemStatsArea.test.tsx | 160 +++++++++++++++++
.../command-center/areas/SystemStatsArea.css | 13 ++
.../command-center/areas/SystemStatsArea.tsx | 72 +++++++-
.../dashboard/src/__tests__/routes-system.test.ts | 122 +++++++++++++
packages/dashboard/src/routes.ts | 190 +++++++++++++--------
packages/i18n/locales/en/app.json | 10 ++
packages/i18n/locales/es/app.json | 10 ++
packages/i18n/locales/fr/app.json | 10 ++
packages/i18n/locales/ko/app.json | 10 ++
packages/i18n/locales/zh-CN/app.json | 10 ++
packages/i18n/locales/zh-TW/app.json | 10 ++
17 files changed, 562 insertions(+), 83 deletions(-)
Fusion-Task-Id: FN-6835
Fusion-Task-Lineage: 8f9a047b-78d0-477e-824e-f7592966cdc0
2026-06-21 13:25:41 -07:00
gsxdsm
d57538581d
FN-6854: isolate engine affected tests
...
Stabilize changed-test runs by giving the engine affected Vitest lane its own memory envelope.
- Split @fusion/engine out from other scoped affected-package Vitest runs.
- Apply a capped heap and single-worker settings to the isolated engine lane while preserving watchdog timing.
- Cover the partitioning and environment behavior with script tests and document the envelope.
Files changed:
docs/testing.md | 3 +++
scripts/__tests__/test-changed.test.mjs | 45 +++++++++++++++++++++++++++++++++
scripts/test-changed.mjs | 40 ++++++++++++++++++++++++++---
3 files changed, 84 insertions(+), 4 deletions(-)
Fusion-Task-Id: FN-6854
Fusion-Task-Lineage: 144acf15-4ccb-4974-b06c-99cdcc2814dd
2026-06-21 13:25:41 -07:00
gsxdsm
eb9635a406
FN-6843: enable left sidebar navigation by default
...
Left sidebar navigation now defaults on for non-mobile project screens while preserving an explicit opt-out.
- Treat an unset leftSidebarNav flag as enabled in the App desktop/tablet gate.
- Show the Settings experimental toggle checked by default and save false when users opt out.
- Extend regression coverage across unset/true/false flag states, desktop/tablet/mobile surfaces, and header suppression.
- Update dashboard guide documentation for the default-on behavior and opt-out flag.
Files changed:
docs/dashboard-guide.md | 4 +-
packages/dashboard/app/App.tsx | 5 +-
.../mobile-feature-access-regression.test.tsx | 69 ++++++++++++++++++----
.../dashboard/app/components/SettingsModal.tsx | 16 ++++-
.../components/__tests__/SettingsModal.test.tsx | 39 ++++++++++++
5 files changed, 119 insertions(+), 14 deletions(-)
Fusion-Task-Id: FN-6843
Fusion-Task-Lineage: 44d73b9e-92aa-4381-883b-c42714bd7f99
2026-06-21 13:25:41 -07:00
gsxdsm
dcf1ab1164
FN-6870: render wide team org charts horizontally
...
Render the Command Center Team org chart horizontally when its container has room.
- Measure the Team org-chart viewport and reuse the shared Agents org-chart layout resolver.
- Add horizontal and vertical data-layout styling for Team org-chart roots and children.
- Cover wide, narrow, unmeasured, loading, error, empty, and single-root Team org-chart states.
- Document the Team org-chart horizontal layout behavior.
Files changed:
docs/dashboard-guide.md | 2 +-
.../components/command-center/areas/TeamArea.tsx | 38 ++++++++++-
.../command-center/areas/__tests__/areas.test.tsx | 77 ++++++++++++++++++++++
.../app/components/command-center/areas/areas.css | 36 +++++++++-
4 files changed, 149 insertions(+), 4 deletions(-)
Fusion-Task-Id: FN-6870
Fusion-Task-Lineage: b023788a-a353-4b10-ad68-a661e72e5be6
2026-06-21 13:25:41 -07:00
gsxdsm
2f7905386f
FN-6848: refresh workflow dropdown counts on open
...
Refresh workflow dropdown counts from the latest board-workflows data whenever users open the selector.
- Refactor Board and ListView workflow payload fetching into reusable refresh callbacks shared by mount, visibility, focus, SSE, and dropdown-open events.
- Add a WorkflowSwitcher onOpen hook that fires only on closed-to-open click or keyboard transitions.
- Cover Board, ListView, and WorkflowSwitcher refresh behavior with regression tests and document the refreshed dropdown counts.
Files changed:
docs/dashboard-guide.md | 2 +-
packages/dashboard/app/components/Board.tsx | 49 +++++++++++---------
packages/dashboard/app/components/ListView.tsx | 49 +++++++++++---------
.../dashboard/app/components/WorkflowSwitcher.tsx | 38 +++++++++++++---
.../app/components/__tests__/Board.test.tsx | 14 ++++++
.../app/components/__tests__/ListView.test.tsx | 39 ++++++++++++++++
.../components/__tests__/WorkflowSwitcher.test.tsx | 53 ++++++++++++++++++++++
7 files changed, 195 insertions(+), 49 deletions(-)
Fusion-Task-Id: FN-6848
Fusion-Task-Lineage: bb83cee9-4184-4094-89d6-f2cf2a4fbd46
2026-06-21 13:25:41 -07:00
gsxdsm
c9146e15b2
FN-6830: use theme accent for sidebar active states
...
Align the left sidebar selected and resize states with each active dashboard theme.
- Switch active left-sidebar item color and background to the shared --accent token.
- Update the resize-handle focus and hover accent to follow theme accent colors.
- Add a CSS regression test and documentation for the theme-accent invariant.
- Define shared typography tokens and replace an optional-step danger fallback with an existing error token.
Files changed:
docs/dashboard-guide.md | 2 +-
.../left-sidebar-active-accent.css.test.ts | 38 ++++++++++++++++++++++
.../dashboard/app/components/LeftSidebarNav.css | 10 +++---
.../app/components/WorkflowOptionalStepsPanel.css | 2 +-
packages/dashboard/app/styles.css | 3 ++
5 files changed, 48 insertions(+), 7 deletions(-)
Fusion-Task-Id: FN-6830
Fusion-Task-Lineage: add8e9cd-4b91-45a1-a848-a54dd1083723
2026-06-21 13:25:41 -07:00
gsxdsm
b20a25c526
FN-6815: add Shadcn Gray Blue theme
...
Add a slate-neutral Shadcn Gray Blue dashboard theme variant.\n\n- Register shadcn-gray-blue across core theme validation, startup bootstrap, and selector options.\n- Add dark and light slate blue-gray design tokens, swatches, and shared shadcn styling coverage.\n- Extend theme tests, dashboard docs, and the published package changeset for the new variant.\n\nFiles changed:\n .changeset/shadcn-gray-blue-theme.md | 5 +\n docs/dashboard-guide.md | 2 +-\n packages/core/src/types.ts | 2 +\n .../dashboard/app/components/ThemeSelector.css | 15 +++\n .../components/WorkflowOptionalStepsDropdown.css | 3 +-\n packages/dashboard/app/components/themeOptions.ts | 2 +\n .../dashboard/app/hooks/__tests__/useTheme.test.ts | 12 ++\n packages/dashboard/app/index.html | 2 +-\n packages/dashboard/app/public/theme-data.css | 143 ++++++++++++++++++++-\n 9 files changed, 177 insertions(+), 9 deletions(-)
Fusion-Task-Id: FN-6815
Fusion-Task-Lineage: 71cca9b3-12ab-4b91-93c5-e3d2498501ce
2026-06-21 13:25:41 -07:00
gsxdsm
465b7b6263
FN-6842: fix trait-less workflow status counts
...
Restore workflow switcher counts for built-in linear workflows with empty column traits.
- Add canonical lifecycle id fallback after flag-based status classification.
- Cover trait-less built-in workflows and flag-authority edge cases in status-count tests.
- Document the built-in fallback behavior for Board and List workflow switchers.
Files changed:
docs/dashboard-guide.md | 2 +-
.../__tests__/workflowStatusCounts.test.ts | 207 +++++++++++++++++++--
.../app/components/workflowStatusCounts.ts | 64 +++++--
3 files changed, 246 insertions(+), 27 deletions(-)
Fusion-Task-Id: FN-6842
Fusion-Task-Lineage: f51eb675-74e7-440f-970f-3eb29de0b3ea
2026-06-21 13:25:40 -07:00
gsxdsm
e67dd11b50
FN-6829: dock todos as a project view
...
Convert Todos into the standard project right-content navigation surface.
- Route Todos through taskView state instead of modal manager state.
- Remove TodoModal wiring, styles, and tests while updating header, sidebar, mobile nav, and history coverage.
- Polish TodoView as a standalone content page with refreshed header and layout styling.
- Update dashboard and todo documentation for the full-view behavior.
Files changed:
docs/dashboard-guide.md | 5 +-
docs/todo-view.md | 5 +-
packages/dashboard/app/App.tsx | 30 ++---
.../app/__tests__/lazy-loaded-views-docs.test.ts | 10 +-
packages/dashboard/app/components/AppModals.tsx | 16 ---
packages/dashboard/app/components/Header.tsx | 12 +-
.../dashboard/app/components/LeftSidebarNav.tsx | 8 +-
packages/dashboard/app/components/MobileNavBar.tsx | 8 +-
packages/dashboard/app/components/TodoModal.css | 76 ------------
packages/dashboard/app/components/TodoModal.tsx | 79 ------------
packages/dashboard/app/components/TodoView.css | 55 ++++++---
packages/dashboard/app/components/TodoView.tsx | 24 ++--
.../app/components/__tests__/AppModals.test.tsx | 56 ---------
.../app/components/__tests__/Header.test.tsx | 26 ++--
.../components/__tests__/LeftSidebarNav.test.tsx | 7 +-
.../app/components/__tests__/MobileNavBar.test.tsx | 22 +++-
.../app/components/__tests__/TodoModal.test.tsx | 136 ---------------------
.../__tests__/TodoView.mobile-css.test.ts | 7 --
.../app/components/__tests__/TodoView.test.tsx | 11 +-
...-merge-toggle-blank.mobile-integration.test.tsx | 1 -
.../__tests__/navigation-history.test.tsx | 29 ++++-
.../dashboard/app/hooks/useMobileScrollLock.ts | 2 +-
packages/dashboard/app/hooks/useModalManager.ts | 10 --
packages/dashboard/app/hooks/useViewState.ts | 7 +-
24 files changed, 161 insertions(+), 481 deletions(-)
Fusion-Task-Id: FN-6829
Fusion-Task-Lineage: b4034bf2-b8e2-47ec-be7c-11c320d2fc44
2026-06-21 13:25:40 -07:00
gsxdsm
12aae94447
FN-6813: add shadcn mono accent variants
...
Expand the shadcn theme family with mono accent variants and migrate the legacy mono id.
- Rename the legacy shadcn-mono theme path to shadcn-mono-red with compatibility migration.
- Add shadcn mono blue, green, purple, pink, orange, and yellow theme tokens and swatches.
- Keep Shadcn Gray registered alongside the expanded shadcn family after conflict resolution.
- Cover theme migration and option registration with hook tests and docs.
Files changed:
.changeset/shadcn-mono-color-family.md | 5 +
docs/dashboard-guide.md | 2 +-
packages/core/src/types.ts | 14 +-
.../dashboard/app/components/ThemeSelector.css | 90 ++-
packages/dashboard/app/components/themeOptions.ts | 8 +-
.../dashboard/app/hooks/__tests__/useTheme.test.ts | 35 +-
packages/dashboard/app/hooks/useTheme.ts | 10 +-
packages/dashboard/app/index.html | 4 +-
packages/dashboard/app/public/theme-data.css | 802 ++++++++++++++++++++-
9 files changed, 947 insertions(+), 23 deletions(-)
Fusion-Task-Id: FN-6813
Fusion-Task-Lineage: c489300c-2131-4914-84f6-41b8e12929d3
2026-06-21 13:25:40 -07:00
gsxdsm
7e478fb473
Merge pull request #1703 from Runfusion/gsxdsm/workflow-optional-steps
...
feat(dashboard): workflow optional steps — authoring, full-modal parity, stepwise seam
2026-06-21 09:04:39 -07:00
gsxdsm
c7b56a5ab7
FN-6832: preserve default workflow routing
...
Preserve the default workflow unless users explicitly request workflow routing changes.
- Update triage and fast-planning prompt guidance to stop inferring alternate workflows from task type or no-commit markers.
- Refresh workflow docs and prompt tests to assert explicit-request-only workflow selection.
- Add a patch changeset for the published CLI package.
Files changed:
.changeset/fn-6832-workflow-routing.md | 5 +++++
docs/workflow-steps.md | 5 ++++-
packages/core/src/agent-prompts.ts | 20 +++++++++++++-------
.../src/__tests__/triage-threshold-settings.test.ts | 7 +++++--
packages/engine/src/__tests__/triage.test.ts | 13 +++++--------
5 files changed, 32 insertions(+), 18 deletions(-)
Fusion-Task-Id: FN-6832
Fusion-Task-Lineage: 5a7ad103-2081-4c4c-ac32-fd5e4f6adfda
2026-06-21 09:00:40 -07:00
gsxdsm
f13aaa1a99
FN-6722: expose resolved GitHub issues
...
Expose resolved GitHub issue details in Command Center analytics and exports.
- Add resolved issue rows to local GitHub issue analytics with exact-vs-approximate timestamp metadata.
- Render a resolved issues table in the Command Center GitHub area without empty links when issue URLs are missing.
- Include resolved issue details in CSV export, route coverage, dashboard tests, docs, and the release changeset.
- Quarantine the unrelated dashboard dev-server process timer flake observed during workspace verification under the deletion ratchet.
Files changed:
...fn-6722-command-center-resolved-issue-detail.md | 5 +
docs/dashboard-guide.md | 3 +-
.../src/__tests__/github-issue-analytics.test.ts | 109 +++++++++++++++++++--
packages/core/src/github-issue-analytics.ts | 45 ++++++++-
packages/core/src/index.ts | 1 +
.../__tests__/CommandCenter.mobile-scroll.test.tsx | 4 +-
.../__tests__/CommandCenter.test.tsx | 1 +
.../components/command-center/areas/GithubArea.tsx | 67 +++++++++++++
.../command-center/areas/__tests__/areas.test.tsx | 55 +++++++++++
.../register-command-center-routes.test.ts | 61 +++++++++++-
packages/dashboard/src/command-center-csv.ts | 39 +++++++-
packages/dashboard/vitest.config.ts | 7 +-
scripts/lib/test-quarantine.json | 5 +
13 files changed, 382 insertions(+), 20 deletions(-)
Fusion-Task-Id: FN-6722
Fusion-Task-Lineage: 9fcbd8c2-f1bc-4b86-b5f5-593e5fd0e675
2026-06-21 09:00:40 -07:00
gsxdsm
c18e827b90
FN-6839: await CLI cached store shutdown
...
Rescue the retained CLI quarantine by making TaskStore shutdown deterministic before fixture cleanup.
- Await cached extension TaskStore closes and clear the cache before asynchronous shutdown drains.
- Update CLI fixtures to await direct and cached store closure, with a regression proving cached close is awaited.
- Remove rescued CLI quarantine entries/excludes and document the loaded-suite rescue with a patch changeset.
Files changed:
.changeset/fn-6839-close-cached-stores.md | 5 ++
CLAUDE.md | 1 +
docs/testing.md | 4 ++
.../extension-agent-set-instructions.test.ts | 2 +-
.../__tests__/extension-goal-tools-audit.test.ts | 2 +-
.../cli/src/__tests__/extension-goal-tools.test.ts | 2 +-
.../cli/src/__tests__/extension-insights.test.ts | 6 +--
.../__tests__/extension-mission-goal-tools.test.ts | 2 +-
.../cli/src/__tests__/extension-task-tools.test.ts | 16 ++++---
packages/cli/src/__tests__/extension.test.ts | 56 +++++++++++-----------
.../src/__tests__/research-extension-tools.test.ts | 4 +-
packages/cli/src/extension.ts | 16 +++----
packages/cli/vitest.config.ts | 6 +--
scripts/lib/test-quarantine.json | 15 ------
14 files changed, 68 insertions(+), 69 deletions(-)
Fusion-Task-Id: FN-6839
Fusion-Task-Lineage: ea0c7c77-bb59-4db4-931d-5e052a1043e5
2026-06-21 09:00:40 -07:00
gsxdsm
fbce59b707
FN-6777: add artifact registry storage
...
Add a core artifact registry for storing metadata and task-scoped artifact payloads.\n\n- Add artifact types, schema, migrations, store APIs, and exports for registering/listing artifact metadata.\n- Persist binary artifact payloads under task or project artifact directories and hydrate artifacts during worktree acquisition.\n- Cover registry behavior, DB schema, and worktree hydration with tests and document storage semantics.\n\nFiles changed:\n .changeset/fn-6777-artifact-registry.md | 5 +\n docs/storage.md | 8 +\n packages/core/src/__tests__/artifacts.test.ts | 257 +++++++++++++++++++++\n packages/core/src/__tests__/db.test.ts | 5 +\n packages/core/src/db.ts | 59 ++++-\n packages/core/src/index.ts | 2 +-\n packages/core/src/store.ts | 220 +++++++++++++++++-\n packages/core/src/types.ts | 75 ++++++\n .../engine/src/__tests__/executor-test-helpers.ts | 1 +\n .../engine/src/__tests__/executor-worktree.test.ts | 2 +\n .../__tests__/worktree-acquisition-backend.test.ts | 2 +-\n .../worktree-acquisition-secrets-env.test.ts | 2 +-\n .../worktree-acquisition-worktrunk.test.ts | 2 +-\n .../src/__tests__/worktree-acquisition.test.ts | 2 +-\n .../src/__tests__/worktree-db-hydrate.test.ts | 59 +++++\n packages/engine/src/worktree-acquisition.ts | 2 +-\n packages/engine/src/worktree-db-hydrate.ts | 42 +++-\n 17 files changed, 732 insertions(+), 13 deletions(-)
Fusion-Task-Id: FN-6777
Fusion-Task-Lineage: 42cdcdcf-6388-42fe-8de1-6857ef20839d
2026-06-21 09:00:40 -07:00
gsxdsm
e18745b79e
FN-6844: move engine controls to footer status bar
...
Move engine stop, pause, and scheduler tuning controls into the executor footer status bar.
- Add a footer EngineControlMenu popover with stop/start, pause/resume, and debounced concurrency/worktree sliders.
- Remove the engine controls from the dashboard header and wire the footer running-state text to open the controls.
- Update dashboard tests, English labels, and operator documentation for the footer control location.
Files changed:
docs/dashboard-guide.md | 4 +
packages/dashboard/app/App.tsx | 7 -
.../app/__tests__/tablet-header-controls.test.tsx | 21 +-
.../dashboard/app/components/EngineControlMenu.css | 118 +++++++++
.../dashboard/app/components/EngineControlMenu.tsx | 292 +++++++++++++++++++++
.../dashboard/app/components/ExecutorStatusBar.css | 28 ++
.../dashboard/app/components/ExecutorStatusBar.tsx | 25 +-
packages/dashboard/app/components/Header.css | 89 -------
packages/dashboard/app/components/Header.tsx | 81 +-----
.../app/components/__tests__/App.test.tsx | 132 ----------
.../__tests__/EngineControlMenu.test.tsx | 145 ++++++++++
.../__tests__/ExecutorStatusBar.test.tsx | 40 +++
.../app/components/__tests__/Header.test.tsx | 57 +---
.../components/__tests__/MultiProjectFlow.test.tsx | 8 -
.../app/components/__tests__/ResearchView.test.tsx | 4 -
packages/i18n/locales/en/app.json | 5 +-
16 files changed, 666 insertions(+), 390 deletions(-)
Fusion-Task-Id: FN-6844
Fusion-Task-Lineage: f0e17e3d-489e-483c-ba7d-a020c111231c
2026-06-21 09:00:40 -07:00
gsxdsm
4672203acd
FN-6814: add Shadcn Gray theme variant
...
Adds a neutral Shadcn Gray dashboard color theme across selection, bootstrap, documentation, and release notes.
- Add Shadcn Gray to core theme validation and dashboard theme picker options.
- Define dark and light zinc-gray theme tokens plus matching swatch previews.
- Cover the new theme with regression tests and document the expanded theme count.
Files changed:
.changeset/shadcn-gray-variant.md | 5 +
docs/dashboard-guide.md | 2 +-
packages/core/src/types.ts | 4 +-
.../app/__tests__/shadcn-gray-theme.test.ts | 65 ++++++++++
.../dashboard/app/components/ThemeSelector.css | 15 +++
packages/dashboard/app/components/themeOptions.ts | 2 +
packages/dashboard/app/index.html | 2 +-
packages/dashboard/app/public/theme-data.css | 143 ++++++++++++++++++++-
8 files changed, 228 insertions(+), 10 deletions(-)
Fusion-Task-Id: FN-6814
Fusion-Task-Lineage: 0548ad7a-5a3c-4e39-8dab-3eb5d40d84c1
2026-06-21 03:40:56 -07:00
gsxdsm
f030f73032
FN-6847: move sidebar collapse toggle into footer
...
Move the left sidebar collapse control into the footer so it sits above Settings with row-style behavior.
- Replace the floating border collapse button with a footer row button that keeps accessible expanded/collapsed labels.
- Retokenize collapse toggle CSS around shared sidebar item styling and remove the obsolete floating modifier.
- Extend sidebar tests and dashboard guide coverage for the footer placement and collapsed rail behavior.
Files changed:
docs/dashboard-guide.md | 4 +-
.../dashboard/app/components/LeftSidebarNav.css | 24 ++--------
.../dashboard/app/components/LeftSidebarNav.tsx | 32 ++++++-------
.../components/__tests__/LeftSidebarNav.test.tsx | 54 ++++++++++++++++++++--
4 files changed, 72 insertions(+), 42 deletions(-)
Fusion-Task-Id: FN-6847
Fusion-Task-Lineage: 5d7781a1-afc9-4e5c-bf7b-0648bb874285
2026-06-21 03:40:56 -07:00
gsxdsm
cb64e874de
docs: enrich engine singleton-lock learning after PR #1704 review
...
- Fix frontmatter enums (root_cause: logic_error, component: tooling); add #1699
to related_prs and last_updated
- Reflect post-review behavior: external marker cleared at lock-acquire time;
reconcile/startAll/onProjectAccessed swallow EngineAlreadyRunningError
- Add rejected approach (don't merge has()/hasRunningEngine) and the
keep-them-distinct invariant
- Tighten socket-name detail (sha1[:16]); cross-link the browser-testing doc
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-21 03:35:16 -07:00
gsxdsm
7d312b416d
docs: capture engine singleton-lock learning (EngineAlreadyRunningError != no engine)
...
Document the false "engine not running" banner root cause and fix as a
docs/solutions learning, and add an "Engine Singleton Lock" entry to
CONCEPTS.md: a failed per-machine lock acquisition is proof an engine is
running elsewhere, not "no engine."
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-21 03:15:22 -07:00
gsxdsm
9479f0b313
docs(solutions): capture eslint exhaustive-deps CI-lint gotcha
2026-06-21 03:10:21 -07:00
gsxdsm
275e97edc1
Merge pull request #1699 from Runfusion/codex/start-engines-by-default
...
[codex] Start Fusion engines by default
2026-06-21 02:35:13 -07:00
gsxdsm
eafe6f7b28
Merge pull request #1696 from Runfusion/gsxdsm/ce-workflow-skill-loading
...
fix: make the compound-engineering workflow actually load skills and run the full CE flow
2026-06-21 02:04:17 -07:00
gsxdsm
40cea655b8
Merge main into validator behavioral verification
...
Resolve conflicts from main's analytics schema additions (plugin
activations, per-model token buckets) against the PR's contract-assertion
type column:
- db.ts: renumber behavioral-verification migration 124 -> 126, bump
SCHEMA_VERSION to 126 so it follows main's migrations 124/125
- core/roadmap tests: adopt main's SCHEMA_VERSION-constant assertions
instead of stale literal 124
- test-quarantine.json: keep all four quarantine entries from both sides
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-21 00:22:19 -07:00
gsxdsm
d4e91d4597
feat(core): add workflow-step seam + browser-verification optional step to stepwise workflow
...
The stepwise-coding IR had no workflow-step seam node, so a per-task
enabledWorkflowSteps entry (e.g. browser verification) would never execute.
Add the seam node on the success path (steps -> workflow-step -> review,
once post-foreach) and declare browser-verification as an optional step,
matching the coding workflow. Covers the dead-toggle gap with resolver and
engine execution-divergence tests.
2026-06-21 00:02:31 -07:00
gsxdsm
7ef381762a
feat: start engines by default
2026-06-20 23:57:37 -07:00
gsxdsm
0a04feec93
FN-6825: combine workflow actions in switcher
...
Move workflow edit and creation actions into the shared workflow switcher dropdown.
- Add inline edit buttons for workflow options and a persistent New workflow footer action.
- Remove separate board and list workflow toolbar icon buttons while preserving header portal behavior.
- Update workflow switcher styling, translations, docs, and regression coverage for board/list surfaces.
Files changed:
docs/dashboard-guide.md | 8 +--
packages/dashboard/app/App.tsx | 1 +
packages/dashboard/app/components/Board.tsx | 52 ++++----------
packages/dashboard/app/components/Lane.css | 4 --
packages/dashboard/app/components/ListView.tsx | 44 +++++-------
.../dashboard/app/components/WorkflowSwitcher.css | 60 +++++++++++++---
.../dashboard/app/components/WorkflowSwitcher.tsx | 80 +++++++++++++++++----
.../app/components/__tests__/Board.test.tsx | 62 +++++++++-------
.../app/components/__tests__/ListView.test.tsx | 27 +++++--
.../components/__tests__/WorkflowSwitcher.test.tsx | 84 ++++++++++++++++++++++
packages/i18n/locales/en/app.json | 4 +-
packages/i18n/locales/es/app.json | 4 +-
packages/i18n/locales/fr/app.json | 4 +-
packages/i18n/locales/ko/app.json | 4 +-
packages/i18n/locales/zh-CN/app.json | 4 +-
packages/i18n/locales/zh-TW/app.json | 4 +-
16 files changed, 314 insertions(+), 132 deletions(-)
Fusion-Task-Id: FN-6825
Fusion-Task-Lineage: 87754918-a695-4e4e-bba5-833e74f7f92f
2026-06-20 23:43:13 -07:00
gsxdsm
5d3f63e875
FN-6818: keep Activity line markers circular
...
Use uniform SVG scaling so Command Center Activity line charts preserve proportional geometry.\n\n- Switch the shared hand-rolled LineChart from non-uniform stretching to centered uniform scaling.\n- Cover marker distortion invariants in chart and Activity area tests.\n- Document the Activity chart rendering invariant for desktop and mobile layouts.\n\nFiles changed:\n docs/dashboard-guide.md | 1 +\n .../command-center/__tests__/charts.test.tsx | 22 ++++++++++++++++++++++\n .../command-center/areas/__tests__/areas.test.tsx | 12 ++++++++++++\n .../components/command-center/charts/LineChart.tsx | 5 ++++-\n .../components/command-center/charts/charts.css | 3 +++\n 5 files changed, 42 insertions(+), 1 deletion(-)
Fusion-Task-Id: FN-6818
Fusion-Task-Lineage: 304dc64b-688d-42e4-ba7f-c7db16c49de9
2026-06-20 23:24:57 -07:00
gsxdsm
34b555f5d2
FN-6824: move workflow controls into header
...
Move workflow controls into the header when sidebar navigation is active.
- Add a Header portal slot that replaces the hidden view toggle under left sidebar navigation.
- Portal Board workflow selector, edit, and create controls into the Header slot with inline fallback.
- Portal List workflow selector and create controls into the Header slot without adding edit controls.
- Cover relocated and inline workflow control behavior for Board, Header, and List views.
Files changed:
docs/dashboard-guide.md | 2 +
packages/dashboard/app/App.tsx | 2 +
packages/dashboard/app/components/Board.tsx | 99 ++++++++++++-------
packages/dashboard/app/components/Header.css | 34 +++++++
packages/dashboard/app/components/Header.tsx | 11 +++
packages/dashboard/app/components/ListView.tsx | 25 ++++-
.../app/components/__tests__/Board.test.tsx | 77 +++++++++++++++
.../app/components/__tests__/Header.test.tsx | 21 ++++
.../app/components/__tests__/ListView.test.tsx | 109 +++++++++++++++++++++
9 files changed, 342 insertions(+), 38 deletions(-)
Fusion-Task-Id: FN-6824
Fusion-Task-Lineage: 01611a6c-2894-4f19-a5f8-262609528f49
2026-06-20 23:02:52 -07:00
gsxdsm
56ea618d72
docs(plans): add compound-engineering workflow skill-loading plan
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-20 23:01:09 -07:00
gsxdsm
9af9bf4fd9
docs(plans): add Full Suite engine/core watchdog-budget fix plan
2026-06-20 21:54:10 -07:00
gsxdsm
3c6db08270
FN-6805: color workflow counts by column
...
Align workflow switcher status count badges with their board column colors.
- Map Todo, In Progress, and Done workflow count badge text to the matching board column CSS tokens.
- Cover the badge color contract with a CSS fixture regression test.
- Document the color-token behavior for board and list workflow dropdown counts.
Files changed:
docs/dashboard-guide.md | 2 +-
.../dashboard/app/components/WorkflowSwitcher.css | 10 +++++++---
.../components/__tests__/WorkflowSwitcher.test.tsx | 22 ++++++++++++++++++++++
3 files changed, 30 insertions(+), 4 deletions(-)
Fusion-Task-Id: FN-6805
Fusion-Task-Lineage: aab7140c-ad37-4bd8-b73d-199534285b37
2026-06-20 21:16:16 -07:00
gsxdsm
c766bc9c95
FN-6811: keep terminal symbols out of xterm metrics
...
Keep terminal symbol fonts scoped away from xterm's measured text stacks across modal and session surfaces.
- add a scoped symbols @font-face to the session terminal CSS chunk
- defensively strip the symbols font from resolved xterm font-family presets
- expand modal, session, and CSS regression tests for symbols-free measurement and scoped glyph fallback
- document recurrence #6 and the remaining real-device iOS Safari verification gap
Files changed:
.../xterm-symbols-nerd-font-unicode-range.md | 13 ++++--
.../dashboard/app/__tests__/terminal-input.test.ts | 51 ++++++++++++++++++----
.../dashboard/app/components/SessionTerminal.css | 11 +++++
.../dashboard/app/components/TerminalModal.css | 3 ++
.../components/__tests__/SessionTerminal.test.tsx | 3 ++
.../components/__tests__/TerminalModal.test.tsx | 47 ++++++++++++++++++--
.../dashboard/app/utils/terminalPreferences.ts | 17 ++++++--
7 files changed, 127 insertions(+), 18 deletions(-)
Fusion-Task-Id: FN-6811
Fusion-Task-Lineage: 15a6fc1f-34c6-44d4-b9ea-8b5b3baae267
2026-06-20 21:02:51 -07:00
gsxdsm
5d9162e138
FN-6806: show workflow counts only when expanded
...
Keep workflow dropdown triggers compact until the menu opens.
- Hide Todo, In Progress, and Done count badges from the collapsed workflow switcher trigger.
- Preserve active-workflow and option counts while the dropdown is expanded for comparison.
- Update Board, List, switcher tests, and dashboard docs for the expanded-only count behavior.
Files changed:
docs/dashboard-guide.md | 2 +-
.../dashboard/app/components/WorkflowSwitcher.tsx | 8 +++--
.../app/components/__tests__/Board.test.tsx | 3 +-
.../app/components/__tests__/ListView.test.tsx | 5 ++-
.../components/__tests__/WorkflowSwitcher.test.tsx | 36 +++++++++++++++++-----
5 files changed, 41 insertions(+), 13 deletions(-)
Fusion-Task-Id: FN-6806
Fusion-Task-Lineage: a3c2db33-fe08-4207-9aae-548b292d98bd
2026-06-20 20:36:18 -07:00
gsxdsm
c8c76a2d1b
FN-6801: float sidebar collapse toggle
...
Replace the sidebar brand-row collapse control with a floating border toggle.\n\n- Remove the empty sidebar brand shell and keep the collapse control reachable in both expanded and rail modes.\n- Style the collapse button as a floating affordance on the sidebar edge.\n- Cover the missing brand shell, accessible toggle labels, pressed state, and persisted collapsed state in sidebar tests.\n- Update dashboard documentation to describe the border-mounted toggle.\n\nFiles changed:\n docs/dashboard-guide.md | 2 +-\n .../dashboard/app/components/LeftSidebarNav.css | 30 +++++++++++-----------\n .../dashboard/app/components/LeftSidebarNav.tsx | 28 ++++++++++----------\n .../components/__tests__/LeftSidebarNav.test.tsx | 27 +++++++++++++++++++\n 4 files changed, 56 insertions(+), 31 deletions(-)
Fusion-Task-Id: FN-6801
Fusion-Task-Lineage: e1384565-c0cc-4564-b556-f5b74a501c41
2026-06-20 19:08:50 -07:00
gsxdsm
36b8950dbe
FN-6804: carry workflow selection into planning creates
...
Planning and subtask creation now preserve the workflow lane chosen from dashboard task entry points.
- Thread optional workflow IDs through quick entry, modal state, planning mode, and subtask breakdown flows.
- Apply supplied or parent-derived workflow IDs when creating planning and breakdown tasks, including validation errors for invalid workflow selections.
- Cover workflow-aware task creation and quick-entry modal handoff with regression tests and document the dashboard behavior.
Files changed:
.changeset/planning-subtask-workflow-selection.md | 5 +
docs/dashboard-guide.md | 2 +
packages/dashboard/app/App.tsx | 8 +-
packages/dashboard/app/api/legacy.ts | 6 +
packages/dashboard/app/components/AppModals.tsx | 2 +
packages/dashboard/app/components/Board.tsx | 4 +-
packages/dashboard/app/components/Column.tsx | 5 +-
.../dashboard/app/components/InlineCreateCard.tsx | 20 ++-
packages/dashboard/app/components/Lane.tsx | 4 +-
packages/dashboard/app/components/ListView.tsx | 4 +-
.../dashboard/app/components/PlanningModeModal.tsx | 18 +-
.../dashboard/app/components/QuickEntryBox.tsx | 24 ++-
.../app/components/SubtaskBreakdownModal.tsx | 20 ++-
packages/dashboard/app/components/TaskForm.tsx | 4 +-
.../components/__tests__/QuickEntryBox.test.tsx | 34 ++++
packages/dashboard/app/hooks/useModalManager.ts | 26 ++-
.../planning-subtask-create-workflow-route.test.ts | 192 +++++++++++++++++++++
.../src/routes/register-planning-subtask-routes.ts | 72 ++++++--
18 files changed, 398 insertions(+), 52 deletions(-)
Fusion-Task-Id: FN-6804
Fusion-Task-Lineage: ca03e666-2dd4-4983-8c84-c5540f5adb0b
2026-06-20 18:04:02 -07:00
gsxdsm
da5fea6e11
FN-6756: add Shadcn color theme variants
...
Add the Shadcn color family to dashboard theme selection and persisted theme validation.
- Register blue, green, red, purple, pink, orange, yellow, mono, and black Shadcn theme IDs across core and dashboard selectors.
- Add swatches and CSS token blocks for light and dark variants, including bootstrap loading coverage.
- Document the expanded theme count and include a minor changeset for the published CLI package.
Files changed:
.changeset/shadcn-color-variants.md | 5 +
docs/dashboard-guide.md | 2 +-
packages/core/src/types.ts | 10 +
.../dashboard/app/components/ThemeSelector.css | 126 +++
packages/dashboard/app/components/themeOptions.ts | 9 +
.../dashboard/app/hooks/__tests__/useTheme.test.ts | 41 +
packages/dashboard/app/index.html | 2 +-
packages/dashboard/app/public/theme-data.css | 1177 ++++++++++++++++++++
8 files changed, 1370 insertions(+), 2 deletions(-)
Fusion-Task-Id: FN-6756
Fusion-Task-Lineage: 143e717a-9718-419f-a6c5-34305e53c65d
2026-06-20 17:17:32 -07:00
gsxdsm
c808177979
FN-6776: prevent workflow board legacy flash
...
Prevent workflow-enabled board surfaces from flashing the legacy layout during first paint.
- Hydrate Board and ListView workflow metadata from a per-project session cache before async revalidation.
- Gate legacy board/list rendering behind settings and workflow-lane metadata readiness, with neutral skeleton states for cold or empty workflow loads.
- Add regression coverage for no-legacy-flash behavior and cache validation, plus docs and changeset notes.
Files changed:
.changeset/fn-6776-board-flash.md | 5 +
docs/dashboard-guide.md | 1 +
packages/dashboard/app/App.tsx | 4 +
packages/dashboard/app/components/Board.css | 69 +++++
packages/dashboard/app/components/Board.tsx | 53 +++-
packages/dashboard/app/components/ListView.css | 53 ++++
packages/dashboard/app/components/ListView.tsx | 52 +++-
.../__tests__/board-no-legacy-flash.test.tsx | 326 +++++++++++++++++++++
.../utils/__tests__/boardWorkflowsCache.test.ts | 71 +++++
.../dashboard/app/utils/boardWorkflowsCache.ts | 49 ++++
10 files changed, 676 insertions(+), 7 deletions(-)
Fusion-Task-Id: FN-6776
Fusion-Task-Lineage: caa8e53f-9b6d-49a6-94ca-b694550b43ef
2026-06-20 15:42:16 -07:00
gsxdsm
08d1f09107
FN-6796: preserve benign in-review pause aborts
...
Preserve completed in-review tasks when benign pause/resume aborts surface after executor handoff.
- Detect non-user hard-cancel pause aborts on clean completed in-review rows and clear the transient abort marker without moving the task.
- Let self-healing recover persisted safe in-review pause-abort parks in place while keeping hard-cancel, pause, autoMerge:false, terminal merge, and live-execution guards intact.
- Cover executor and self-healing recovery paths with regression tests, document the audit metadata, and add a patch changeset.
Files changed:
.../fn-6796-pause-resume-in-review-recovery.md | 5 ++
AGENTS.md | 1 +
docs/architecture.md | 2 +
.../engine/src/__tests__/executor-recovery.test.ts | 97 +++++++++++++++++++++-
.../active-worktree-removal-liveness.test.ts | 2 +-
.../self-healing-paused-abort-recovery.test.ts | 90 +++++++++++++++++++-
packages/engine/src/executor.ts | 35 ++++++++
packages/engine/src/self-healing.ts | 38 +++++++--
8 files changed, 257 insertions(+), 13 deletions(-)
Fusion-Task-Id: FN-6796
Fusion-Task-Lineage: d2fe6c6d-c118-4f2f-b19e-58e6f1b29384
2026-06-20 15:11:22 -07:00
gsxdsm
b2f564c2be
FN-6791: add i18n regression guardrails
...
Add focused i18n regression coverage for dashboard localization guardrails.
- Assert dashboard hardcoded-string lint ignores stay limited to non-shipping patterns.
- Verify real locale catalogs retain key parity across supported locales and namespaces.
- Cover fallback behavior for empty secondary translations, missing keys, unsupported locale tags, and Chinese locale normalization.
- Document that @fusion/i18n tests now protect lint-ignore scope and catalog parity drift.
Files changed:
docs/i18n-contributing.md | 2 +
.../i18n/src/__tests__/i18n-gate-coverage.test.ts | 65 +++++++++++++++++++
.../i18n/src/__tests__/locale-fallback.test.ts | 72 ++++++++++++++++++++++
3 files changed, 139 insertions(+)
Fusion-Task-Id: FN-6791
Fusion-Task-Lineage: 7f52113e-237a-415d-a109-51295fdc0372
2026-06-20 11:02:55 -07:00
gsxdsm
c0d78f19c5
FN-6795: update quarantine ledger after rescue triage
...
Refresh the test quarantine records after loaded-lane rescue verification.
- document the FN-6795 CLI and core quarantine triage outcomes
- rescue passing core and CLI test files by removing their ledger/config excludes
- retain CLI package-lane-only timeout quarantines and add the newly observed bin test flake
Files changed:
docs/testing.md | 4 ++++
packages/cli/vitest.config.ts | 10 +++++++---
packages/core/vitest.config.ts | 4 +++-
scripts/lib/test-quarantine.json | 25 +++++--------------------
4 files changed, 19 insertions(+), 24 deletions(-)
Fusion-Task-Id: FN-6795
Fusion-Task-Lineage: b4460fc7-848f-4d54-89b4-cfd4d4533d57
2026-06-20 10:28:25 -07:00
gsxdsm
61ff17a057
FN-6797: harden in-review dependency rebound audits
...
Harden in-review dependency drift reconciliation with explicit guarded no-action audit evidence.
- Emit no-action run-audit events when pause, auto-merge, live execution, checkout, or rebound mutation guards prevent an in-review dependency rebound.
- Preserve scheduler dependency satisfaction semantics so in-review dependencies remain non-blocking under merge-request shadow mode without accepted markers.
- Extend regression coverage and run-audit documentation for guarded in-review rebounds.
Files changed:
.changeset/fn-6797-in-review-dependency-drift.md | 5 +
AGENTS.md | 2 +-
docs/architecture.md | 4 +-
.../in-review-unmet-dependency-reconcile.test.ts | 18 ++-
packages/engine/src/__tests__/self-healing.test.ts | 79 +++++++++++--
packages/engine/src/self-healing.ts | 129 ++++++++++++++++-----
6 files changed, 190 insertions(+), 47 deletions(-)
Fusion-Task-Id: FN-6797
Fusion-Task-Lineage: f94c7875-619a-47be-88f5-320a4dda3b34
2026-06-20 10:21:26 -07:00
gsxdsm
eca96fbd0b
FN-6771: localize settings section copy
...
Localize dashboard settings section text and restore i18n lint coverage for those files.
- Replace hardcoded settings section labels, help text, placeholders, and status copy with i18n lookups.
- Add settings translation keys across supported app and common locale catalogs and refresh generated resource types.
- Remove the settings sections from the i18n lint deferral list and document that coverage requirement.
- Add a patch changeset for the published Fusion package.
Files changed:
.changeset/fn-6771-localize-settings-sections.md | 5 +
docs/i18n-contributing.md | 3 +-
i18next.config.ts | 26 +-
.../settings/sections/AgentPermissionsSection.tsx | 55 +-
.../settings/sections/AppearanceSection.tsx | 91 +-
.../settings/sections/AuthenticationSection.tsx | 457 +++-------
.../settings/sections/BackupsSection.tsx | 229 ++---
.../settings/sections/CommandsSection.tsx | 49 +-
.../settings/sections/ExperimentalSection.tsx | 109 +--
.../settings/sections/GeneralSection.tsx | 487 ++++-------
.../settings/sections/GlobalGeneralSection.tsx | 183 +---
.../settings/sections/GlobalModelsSection.tsx | 525 ++++-------
.../components/settings/sections/MemorySection.tsx | 458 +++-------
.../components/settings/sections/MergeSection.tsx | 863 ++++++------------
.../settings/sections/NodeRoutingSection.tsx | 108 +--
.../settings/sections/NodeSyncSection.tsx | 105 +--
.../settings/sections/NotificationsSection.tsx | 484 ++++------
.../settings/sections/PluginsSection.tsx | 105 +--
.../settings/sections/ProjectModelsSection.tsx | 971 ++++++++-------------
.../components/settings/sections/RemoteSection.tsx | 560 +++++-------
.../settings/sections/ResearchGlobalSection.tsx | 314 ++-----
.../settings/sections/ResearchProjectSection.tsx | 226 ++---
.../settings/sections/RuntimesSections.tsx | 40 +-
.../settings/sections/ScheduledEvalsSection.tsx | 169 ++--
.../settings/sections/SchedulingSection.tsx | 381 ++------
.../settings/sections/WorktreesSection.tsx | 330 ++-----
packages/i18n/locales/en/app.json | 698 ++++++++++++++-
packages/i18n/locales/en/common.json | 8 +
packages/i18n/locales/es/app.json | 698 ++++++++++++++-
packages/i18n/locales/es/common.json | 8 +
packages/i18n/locales/fr/app.json | 698 ++++++++++++++-
packages/i18n/locales/fr/common.json | 8 +
packages/i18n/locales/ko/app.json | 698 ++++++++++++++-
packages/i18n/locales/ko/common.json | 8 +
packages/i18n/locales/zh-CN/app.json | 698 ++++++++++++++-
packages/i18n/locales/zh-CN/common.json | 8 +
packages/i18n/locales/zh-TW/app.json | 698 ++++++++++++++-
packages/i18n/locales/zh-TW/common.json | 8 +
packages/i18n/src/resources.d.ts | 706 ++++++++++++++-
39 files changed, 7178 insertions(+), 5097 deletions(-)
Fusion-Task-Id: FN-6771
Fusion-Task-Lineage: cdf9b36f-414e-4084-b661-b578a4c27314
2026-06-20 08:57:45 -07:00