Commit Graph

2419 Commits

Author SHA1 Message Date
gsxdsm
9c45d2410b perf(test): cap vitest worker fan-out to keep dashboard responsive
On high-core dev machines (e.g. 28-core M-series), per-package vitest
defaulted to cpus().length - 1 workers (27), and `pnpm test` ran 4
workspace packages concurrently — easily 100+ vitest threads per sweep.
When the dashboard had agents running tests, 2+ concurrent sweeps would
saturate CPU and the UI became sluggish.

- Cap defaultMaxWorkers to min(6, cpus()-1) in cli/dashboard/desktop/
  mobile/plugin-sdk vitest configs (engine and core were already capped)
- Lower root `pnpm test` workspace-concurrency 4 → 2
- VITEST_MAX_WORKERS override still respected for explicit fast runs

Worst-case fan-out drops from ~108 workers to ~12 per `pnpm test`.
CI runners with fewer cores are unaffected (cap doesn't bind).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-02 11:30:02 -07:00
Fusion
f8fc47c1e9 feat(FN-3129): add tokenized footer and mobile initialization to MissionMan
The merge adds token-based CSS styling for the MissionManager footer and mobile initialization, with 17 lines of new CSS rules in `MissionManager.css` and 4 lines of adjustments in `MissionManager.tsx`. This improves theme consistency and mobile responsiveness for the mission management component.

Fusion-Task-Id: FN-3129
2026-05-02 11:25:08 -07:00
Fusion
4a667c8add feat(FN-3107): merge fusion/fn-3107
This merge lands the managed Docker nodes feature (FN-3107) end-to-end: core schema migration for nodes with types, CRUD operations in CentralCore, and dashboard UI (AddNodeModal, NodeDetailModal) with accessibility fixes and tokenized CSS. Also included are manual PR linking (FN-3202), plugin schem

Fusion-Task-Id: FN-3107
2026-05-02 11:19:39 -07:00
Fusion
ba6efa8422 feat(FN-3105): add planning depth selection to planning flows
- Add planning depth controls and styling in PlanningModeModal with updated modal reentry behavior
- Thread selected depth through legacy frontend API calls and planning route handlers
- Extend planning prompt builder/runtime wiring to honor depth values for subtask planning
- Add route, planning, and modal tests covering depth selector behavior and validation

Fusion-Task-Id: FN-3105
2026-05-02 11:09:14 -07:00
gsxdsm
bf7caf5a57 fix: stack planning modal summary actions on mobile
The nested action row kept "Create Single Task" and "Break into Tasks"
side-by-side on small screens, pushing the primary button offscreen.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-02 11:03:36 -07:00
Fusion
4eacff7a9e feat(FN-3202): handle manual PR linking and feedback follow-ups
- Add scheduler logic to create dependency-linked follow-up tasks when actionable PR feedback remains after a PR is merged or closed
- Update engine runtime/project wiring to support manual PR create flows and branch publish behavior for fusion/<task-id>
- Add dashboard route coverage for manual PR creation/linking behavior and corresponding engine/runtime tests
- Document manual PR branch conventions and follow-up behavior in task management and dashboard docs

Fusion-Task-Id: FN-3202
2026-05-02 10:59:56 -07:00
Fusion
bed7f3d325 feat(FN-3154): add plugin schema hooks, nav placement, and progress preserv
This merge introduces three major features: task reset now preserves existing progress with explicit user confirmation (FN-3185), the engine's soft-pause/unpause behavior is restored and documented (FN-3201), and the plugin system gains schema hook aggregation with new navigation placement and icons

Fusion-Task-Id: FN-3154
2026-05-02 10:43:29 -07:00
Fusion
44cc899eb9 feat(FN-3185): preserve progress on task reset with explicit confirmation d
This merge implements a "preserve progress" option for task resets across the system. FN-3185 adds a `preserveProgress` flag to `moveTask` that keeps status/history when resetting tasks back to `todo`, with required explicit confirmation dialogs to prevent accidental resets. The feature is wired thr

Fusion-Task-Id: FN-3185
2026-05-02 10:20:44 -07:00
gsxdsm
222e11c2f8 fix(FN-3175): reduce dashboard log stalls 2026-05-02 08:05:33 -07:00
Fusion
c643340fa7 feat(FN-3104): switch todos to modal-only navigation
- Add TodoModal component and styling, and mount it through AppModals
- Remove dedicated Todos view routing and drive todos access through modal state/actions
- Update Header and MobileNavBar interactions plus modal manager/view-state hooks for modal flow
- Expand dashboard tests to cover modal rendering, open/close behavior, and updated app/header expectations

Fusion-Task-Id: FN-3104
2026-05-02 07:59:06 -07:00
Fusion
906c244bf3 feat(FN-3095): add automatic completion documentation mode for tasks and fi
Merges FN-3076 (automatic completion documentation mode for tasks) with new settings schema, SettingsModal UI integration, and comprehensive tests, plus fixes FN-3095 by using a supported button variant for plugin refresh.

Fusion-Task-Id: FN-3095
2026-05-02 07:48:16 -07:00
Fusion
6ae7aefaf4 feat(FN-3076): add automatic completion documentation mode for tasks
Merged FN-3076 introducing an auto completion-doc mode that automates task completion documentation. The feature adds a new setting to the settings schema and types, surfaces it in the dashboard Settings UI, provides triage-stage guidance to suggest completion documentation, and is documented in the

Fusion-Task-Id: FN-3076
2026-05-02 07:36:28 -07:00
Fusion
9d1736fc64 feat(FN-3200): align settings heading indentation and gutters
Aligns the settings modal heading indentation and subsection heading underlines to a consistent CSS contract, adding tests to lock the alignment behavior across both desktop and mobile viewports.

Fusion-Task-Id: FN-3200
2026-05-02 05:38:34 -07:00
Fusion
d3465b6cd6 feat(FN-3198): improve ListView split-pane UX and add agent runs tab
This merge lands six commits that overhaul ListView split-pane UX across the dashboard and add an agent runs tab to both the ListView and AgentDetailView, with auto-expand behavior when a run is selected. It also fixes overflow issues in the workspace selector (desktop) and clamps long labels in the

Fusion-Task-Id: FN-3198
2026-05-02 05:09:04 -07:00
Fusion
6f5506b16d feat(FN-3203): improve agent detail view with runs tab and ListView UX
Merges FN-3181, FN-3190, and FN-3203: adds an initial runs tab to the agent detail view with auto-expand for the selected run, fixes ListView split-pane UX issues, aligns agent run duration calculation with the `AgentHeartbeatRun.endedAt` field, and restores task detail PR spacing. Updates include n

Fusion-Task-Id: FN-3203
2026-05-02 04:52:26 -07:00
Fusion
8bb1a49847 feat(FN-3190): fix ListView split-pane UX follow-up issues
Fixes FN-3190 addresses follow-up UX feedback on the split-pane component in ListView, updating the layout styles and component logic with accompanying tests.

Fusion-Task-Id: FN-3190
2026-05-02 04:47:27 -07:00
Fusion
3701de6bda feat(FN-3181): add initial runs tab with auto-expand selected run
Adds a "running control" to the agents dashboard that displays a live run entry and auto-expands to show active runs on load. The AgentsView and AgentDetailView components now support an initial runs tab with auto-expansion of the selected run, while the AgentDetailView gains an active-run context p

Fusion-Task-Id: FN-3181
2026-05-02 04:41:31 -07:00
Fusion
3fa96ca9c1 feat(FN-3122): redesign agents workspace with split-pane view and mobile dr
This merge delivers a major Agents workspace redesign (FN-3122) with split-pane layout, inline AgentDetailView, and mobile drill-in, along with a comprehensive design-system revision addressing token consistency and focus-visible states. Priority picker support was added to the quick-entry box (FN-3

Fusion-Task-Id: FN-3122
2026-05-02 03:53:38 -07:00
Fusion
c09cffc57f feat(FN-3183): add inline priority picker to quick-entry box
Adds an inline priority picker to the Quick Entry Box and Task Detail Modal with shared badge styling and proper mobile tap targets (FN-3183, FN-3186), updates agent tools tests and documentation for layered memory access patterns (FN-3179), and fixes styling alignment between the modal and inline c

Fusion-Task-Id: FN-3183
2026-05-02 03:42:31 -07:00
Fusion
7fce7b8047 feat(FN-3186): add priority control to quick-entry box
This merge adds a quick-entry priority control to the QuickEntryBox component, polishes GitHub source issue summary styling in the TaskDetailModal, and documents layered agent memory access in the agents reference. The changes include both the component implementation with 186 lines of new logic and

Fusion-Task-Id: FN-3186
2026-05-02 02:54:26 -07:00
Fusion
ea1b140eef feat(FN-3176): polish github source issue summary styling in task detail
Polished the GitHub source issue summary in the TaskDetailModal with UI refinements to its CSS and component markup, along with updated tests covering the new behavior.

Fusion-Task-Id: FN-3176
2026-05-02 02:28:31 -07:00
Fusion
477e1ad4ab feat(FN-3175): document global tool output persistence setting in settings
Added documentation for the global tool output persistence setting to the settings reference guide.

Fusion-Task-Id: FN-3175
2026-05-02 02:07:12 -07:00
Fusion
f87f61fd75 feat(FN-3178): iconize fast badge and list indicators
Merged FN-3178: Added icon-based fast indicators to TaskCard and ListView components, replacing text badges with visual icons for quicker status scanning at a glance. Both the task card and list view layers were updated with matching CSS and component changes, along with corresponding test coverage.

Fusion-Task-Id: FN-3178
2026-05-02 02:01:52 -07:00
Fusion
7519b5a1b0 feat(FN-3174): add GitHub provenance markers on task cards
The merge adds GitHub provenance markers to task cards (FN-3174), finalizes planning CTA defaults in the summary view (FN-3172), and introduces drag-and-drop provider reordering with a Quick Chat FAB (FN-3153). It also updates `UsageIndicator` with substantial styling and logic improvements and adds

Fusion-Task-Id: FN-3174
2026-05-02 01:34:39 -07:00
Fusion
9af442bc3e feat(FN-3172): finalize planning CTA defaults in summary view
- Swap summary action emphasis so "Break into Tasks" is the primary CTA and "Create Single Task" is secondary
- Update loading labels and button copy to match the revised action mapping
- Adjust PlanningModeModal tests to assert new labels, button styling roles, and click targets
- Stabilize onboarding test setup by making global settings mock responses reusable across calls

Fusion-Task-Id: FN-3172
2026-05-02 01:23:54 -07:00
Fusion
221b4c8668 feat(FN-3153): add drag-and-drop provider reorder with Quick Chat FAB and p
Merged work adds a Quick Chat FAB with a slash-triggered menu and resizable chat panel (FN-3152), provider reorder drag-and-drop with persistent order storage (FN-3153, Steps 2/3/5/6), planning comment input to mission and milestone slice interview modals (FN-3139), and a regression test for descrip

Fusion-Task-Id: FN-3153
2026-05-02 01:20:55 -07:00
Fusion
fdf22375fe feat(FN-3152): add Quick Chat FAB with slash-triggered menu, resizable chat
Merged branch consolidates the FN-3119 Quick Chat FAB with slash-triggered skill menu, the FN-3152 resizable chat sidebar, planning comment inputs for mission and milestone interview modals (FN-3139), and removes the legacy agent tree view (useAgentHierarchy hook and AgentsView tree styling). Also i

Fusion-Task-Id: FN-3152
2026-05-02 00:48:06 -07:00
Fusion
aaab9f8c63 feat(FN-3141): add regression test for description auto-save refresh
Adds a regression test covering description auto-save refresh behavior in the TaskDetailModal component.

Fusion-Task-Id: FN-3141
2026-05-02 00:43:44 -07:00
Fusion
395a931203 feat(FN-3139): add planning comment input to interview modals and show in c
Merges FN-3139 planning comment infrastructure (comment inputs in mission/milestone-slice/planning modals, comment display in conversation history), FN-3119 Quick Chat FAB with slash-triggered skill menu and plugin integration, FN-3117 plugin dashboard views and chat session icons, and FN-3066 plugi

Fusion-Task-Id: FN-3139
2026-05-02 00:37:57 -07:00
Fusion
8f72eeed9e feat(FN-3121): merge fusion/fn-3121
This merge lands v0.15.0, bringing a major plugin system overhaul including a new dependency graph plugin with SQLite-backed storage, Quick Chat FAB with slash-triggered skill menu, and expanded plugin dashboard views. The AgentsView tree mode was fully removed with its hook, styles, and expansion s

Fusion-Task-Id: FN-3121
2026-05-02 00:30:21 -07:00
Fusion
8260320255 feat(FN-3119): add Quick Chat FAB with slash-triggered skill menu and plugi
This merge lands v0.15.0 with two major features: a slash-triggered quick chat skill menu (FN-3119, 8 steps covering skill discovery state, trigger matcher, input wiring, skill menu rendering, styles, local help assistant, and tests) and plugin dashboard views (FN-3079, FN-3066) with dependency grap

Fusion-Task-Id: FN-3119
2026-05-02 00:25:21 -07:00
Fusion
681aa5ff8c feat(FN-3066): extend plugin UI slot metadata and fix settings token fallba
This release (v0.15.0) introduces plugin dashboard views and a new dependency graph plugin, extends the plugin slot system with richer metadata surfaces and UX improvements, adds SQLite WAL tuning with integrity checks, and stabilizes agent run log streaming with enriched session labels. It also fix

Fusion-Task-Id: FN-3066
2026-05-01 23:46:43 -07:00
gsxdsm
43b75c4d7d chore(release): v0.15.0
Version bump via changesets.
2026-05-01 23:38:03 -07:00
Fusion
9e52028102 feat(FN-3079): add plugin dashboard views and dependency graph plugin
- Add plugin dashboard view registration and hosting across core, dashboard routes, and plugin SDK exports
- Integrate plugin-provided views into app navigation, mobile/header UI, and view state hooks with coverage
- Add fusion-plugin-dependency-graph example plugin with persisted storage, dashboard view UI, and manifest wiring
- Update plugin authoring and architecture docs for dashboard view extension points
- Add a changeset for @runfusion/fusion covering plugin dashboard view support

Fusion-Task-Id: FN-3079
2026-05-01 23:32:35 -07:00
gsxdsm
29892cace0 chore(release): v0.14.3
Version bump via changesets.
2026-05-01 23:19:47 -07:00
gsxdsm
24b3ded03f feat(FN-XXXX): add fnBinaryCheckEnabled global setting
Defaults to true so existing behaviour (dashboard probes PATH for `fn` /
`fusion` and surfaces install / version-mismatch states) is unchanged.
When the user toggles it off in Settings → General → CLI Binary:

- `GET /system/fn-binary/status` short-circuits before `detectFnBinary()`
  and returns `state: "skipped"`. No `<bin> --version` subprocess is
  spawned at all, so an outdated globally-installed CLI cannot run as a
  side effect of opening the dashboard.
- The install banner is hidden when `state` is `"skipped"`.
- `POST /system/fn-binary/install` rejects with HTTP 409 since install
  is the user action that the status check informs.
- The Settings UI gains a checkbox under the existing CLI binary panel.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-01 22:53:22 -07:00
gsxdsm
03d0fac59c fix(FN-3187): stabilize agent run log streaming 2026-05-01 18:37:28 -07:00
Fusion
82791566d2 feat(FN-3187): enrich session dropdown labels and add collapsible tool deta
This merge lands v0.14.2, a release focused on plugin system improvements and UI refinements. The plugin SDK gains a new `plugin-loader` and `plugin-runner` module with cached contribution accessors, plus an event bridge overhaul in the Claude CLI integration. On the dashboard side, the agent log vi

Fusion-Task-Id: FN-3187
2026-05-01 18:06:10 -07:00
gsxdsm
344aaa73c1 chore(release): v0.14.2
Version bump via changesets.
2026-05-01 17:46:40 -07:00
Fusion
9bda5484aa feat(FN-3184): add collapsible tool detail panel in agent log viewer
This merge adds a collapsible tool detail panel to the AgentLogViewer, introduces a plugin-runner module with cached contribution accessors in the core package, refactors the heartbeat and agent-tools engine modules, improves QuickChatFAB mobile alignment and chat streaming feedback, adds provider v

Fusion-Task-Id: FN-3184
2026-05-01 17:45:26 -07:00
Fusion
b3e2b614c8 feat(FN-3059): align provider metadata and documentation
Merged feat(FN-3059) which aligns provider metadata and documentation across the codebase, updating README and getting-started docs plus refinements to the CustomProviderForm and ProviderIcon dashboard components.

Fusion-Task-Id: FN-3059
2026-05-01 17:39:47 -07:00
gsxdsm
25ffb7cee1 fix(FN-XXXX): keep quick chat panel aligned on mobile 2026-05-01 17:31:41 -07:00
gsxdsm
7ec394ae7f fix(FN-XXXX): show chat streaming feedback during Claude waits 2026-05-01 17:30:59 -07:00
gsxdsm
675a72869f chore(release): v0.14.1
Version bump via changesets.
2026-05-01 16:55:42 -07:00
Fusion
c02138ddf4 feat(FN-3093): address plugin manager responsive overflow
The merge fixes responsive overflow issues in the PluginManager component by adding 15 lines of CSS.

Fusion-Task-Id: FN-3093
2026-05-01 16:49:30 -07:00
Fusion
8f5a84db7e feat(FN-3065): merge fusion/fn-3065
This merge lands v0.14.0, bringing task ingest contract documentation and todo creation wiring (FN-3065), a new Global → General settings pane with `fn --version` integration, and a fix for persisting priority changes from PATCH /tasks/:id. All changeset artifacts were consumed by the release; 53 fi

Fusion-Task-Id: FN-3065
2026-05-01 16:39:03 -07:00
gsxdsm
f31acbb7b8 chore(release): v0.14.0
Version bump via changesets.
2026-05-01 16:04:55 -07:00
gsxdsm
4231c4a151 feat(fusion): add Global → General settings pane and wire fn --version
Move the Star-on-GitHub toggle, CLI Binary panel, and update-check
controls out of project General into a new Global → General pane (with
an inline Updates subsection), matching their actual scope. Drop the
CLI Binary panel's outlined card background and apply the standard
horizontal indent so it doesn't bleed to the pane edges.

Wire --version / -v in the fn/fusion bin so the dashboard's CLI Binary
probe gets a real version string instead of booting the dashboard and
reporting "unknown".

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-01 16:02:23 -07:00
gsxdsm
e72eff47e9 fix(fusion): persist priority changes from PATCH /tasks/:id
The dashboard task-edit route destructured every editable body field
except priority, so changing priority via the task-detail modal was
silently dropped before reaching store.updateTask. Wire priority
through with isTaskPriority validation (null resets to default).

Without this fix the priority-aware triage/scheduler/merge ordering
shipped previously had no effect for tasks edited in the dashboard.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-01 15:57:38 -07:00
Fusion
1634ea39ad feat(FN-3046): add fn binary panel and standalone CLI entrypoint
This merge introduces a standalone CLI binary mode ("droid") with a new dashboard panel for binary management, adds a todo planning entrypoint with peer exchange shutdown, and includes documentation updates for the CLI reference and standalone deployment. Key additions span the core database layer,

Fusion-Task-Id: FN-3046
2026-05-01 13:56:55 -07:00