Commit Graph

4499 Commits

Author SHA1 Message Date
Fusion
7a11a32aa0 feat(FN-3730): add action-gate reload endpoint for reloadable exempt-tools
Adds a reload endpoint for action-gate exempt tools in the engine, wiring it into the dashboard routing system and documenting the behavior in the agents guide, with a changeset for the published CLI package.

Fusion-Task-Id: FN-3730
2026-05-08 07:38:50 -07:00
Fusion
c06bb5f749 docs(FN-3730): document missing dependency graph behaviors
- Add task detail open/clear selection interaction notes for graph cards
- Document dependency-chain highlight and dimming behavior for hover/selection
- Describe drag reposition threshold and zoom-aware pointer tracking
- Add localStorage position persistence key and fit-to-graph reset behavior

Fusion-Task-Id: FN-3730
2026-05-08 07:31:55 -07:00
Fusion
0b1abf78eb feat(FN-3558): add action-gate reload endpoint for reloadable exempt-tools
Adds a reload endpoint for exempt agent tools (FN-3731), enabling runtime refresh of action-gate configuration without restart, with corresponding dashboard routes and tests. Also fixes mobile nav colors to properly respect design tokens (FN-3558).

Fusion-Task-Id: FN-3558
2026-05-08 07:28:58 -07:00
Fusion
f3164b7724 feat(FN-3731): add action-gate reload endpoint for reloadable exempt-tools
Adds a reload endpoint for action-gate exempt tools, exposing `POST /api/system/reload-exempt-tools` on the dashboard to hot-reload the engine's mutable EXEMPT_TOOLS registry without a restart. The endpoint is wired through `agent-action-gate.ts` with test coverage for reloadable behavior.

Fusion-Task-Id: FN-3731
2026-05-08 07:18:58 -07:00
gsxdsm
97e039b47a fix(merger): stop phantom-merge guard stranding tasks whose commit already landed
Tasks were getting stuck in In Review with "verification fix succeeded but no
merge commit could be created" even though the merge commit was already on
main. Verification failures on attempt 1 were being swallowed by the smart-
conflict-resolution retry path, triggering attempt 2 with a stale baseline,
and the in-merge-fix finalizer would then fail its phantom-merge check.

- Propagate VerificationError out of executeMergeAttempt so the in-merge fix
  runs once on attempt 1 with the correct preAttemptHeadSha baseline.
- In commitOrAmendMergeWithFixes, recognize "task already on HEAD" via the
  Fusion-Task-Id trailer (line-anchored match) and treat the no-progress
  finalize as success instead of tripping the guard.
- Add real-git regression test plus update merger.test.ts call counts to
  reflect the (now correctly absent) attempt-2 AI agent.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-08 06:46:12 -07:00
Fusion
9670a003ca test(FN-3728): cover eval automation error paths
- Add eval automation tests for failure scenarios and guardrail handling
- Verify error-state transitions and persisted diagnostics in automation runs
- Expand assertions to prevent regressions in eval failure reporting

Fusion-Task-Id: FN-3728
2026-05-08 04:34:50 -07:00
Fusion
845272effa test(FN-3729): add eval dashboard coverage
- Add EvalsView test coverage for eval runs entry rendering
- Add useEvals hook tests for response handling
- Add dashboard eval routes tests to verify API behavior
- Wire EvalsView with the additional exercised path

Fusion-Task-Id: FN-3729
2026-05-08 04:21:20 -07:00
Fusion
c9b246bc3e docs(FN-3727): clarify plugin scope and pull-rebase dashboard behavior
- Document global install vs project-scoped enablement semantics for plugins
- Add explicit scope notes for dashboard and CLI plugin install/uninstall/enable/disable flows
- Link plugin scope guidance to multi-project documentation
- Update dashboard guide Git Manager feature list with pull split-button rebase option

Fusion-Task-Id: FN-3727
2026-05-08 02:50:16 -07:00
Fusion
951b0d543f feat(FN-3725): add shell regression matrix and stabilize action gate and ro
This merge adds two policy features (executor role enforcement in core and internal coordination tool exemptions in the engine), introduces a shell regression matrix covering mobile, desktop, and dashboard with corresponding readme entries, and fixes a broad suite of tests across the dashboard, engi

Fusion-Task-Id: FN-3725
2026-05-08 02:17:41 -07:00
Fusion
f8a0903538 fix(FN-3716): stabilize verification and role policy checks
- Add shared agent role policy helpers for implementation task detection and executor-role enforcement
- Provide a standardized role-mismatch error formatter for delegation and assignment paths
- Update test isolation leak detection to ignore ephemeral fusion-test-home-root temp directories while preserving baseline checks

Fusion-Task-Id: FN-3716
2026-05-08 02:00:08 -07:00
Fusion
8e839fc950 feat(FN-3409): add shell regression matrix for mobile, desktop, and dashboa
The merge completes a multi-step shell regression hardening effort spanning desktop, mobile, and dashboard entry points, adding 12 test files or test expansions to lock down the shell preload and native contracts. A companion fix exempts internal coordination tools (`list_agents`, `delegate_task`, e

Fusion-Task-Id: FN-3409
2026-05-08 01:57:55 -07:00
Fusion
ae7a607972 fix(FN-3724): exempt internal coordination tools from action gate
- Expand action-gate exempt tool list to include internal heartbeat, task/agent coordination, messaging, evaluation, identity, and memory bookkeeping calls
- Prioritize exempt-tool classification in gate evaluation to ensure permanent-agent sessions cannot deadlock on internal runtime operations
- Add targeted engine tests covering exempt internal tool behavior and permanent-agent gating interactions
- Document the internal tool exemption policy in docs/agents.md
- Add a patch changeset for @runfusion/fusion describing the exemption behavior

Fusion-Task-Id: FN-3724
2026-05-08 01:37:43 -07:00
Fusion
bea034d1ba feat(FN-3723): harden isolated HOME cleanup and shell connection visibility
- Harden test isolation cleanup retries and allow-list behavior in scripts/test-changed.mjs
- Expand test coverage for cleanup retry logic and allow-list handling in scripts/__tests__/test-changed.test.mjs
- Add shell-native connection status plumbing and UI coverage across dashboard, desktop preload/types, and mobile typings
- Add ShellConnectionStatus and mobile nav wiring plus related app/component test coverage
- Document shell connection contracts and add FN-3568 diagnosis/recovery notes

Fusion-Task-Id: FN-3723
2026-05-08 01:16:54 -07:00
Fusion
1af1eb4116 feat(FN-3568): add CI engineer diagnosis and recovery docs, accent text tok
Merged branch adds native shell connection support with a new `ShellConnectionStatus` component and contracts documentation, introduces `--accent-text` theme token for chat message readability, adds a split-button for git pull with rebase in `GitManagerModal`, highlights fast-mode bolt icons in task

Fusion-Task-Id: FN-3568
2026-05-08 01:13:57 -07:00
Fusion
9c484cf19c docs(FN-3408): document shell connection chrome contracts
- Add architecture notes describing shell connection chrome contracts
- Expand dashboard README with shell chrome expectations and integration details
- Add desktop README note aligning desktop shell behavior with documented contracts

Fusion-Task-Id: FN-3408
2026-05-08 00:40:15 -07:00
Fusion
42b0cf0416 feat(FN-3725): add --accent-text token per theme for chat message readabili
Adds a `--accent-text` CSS token defined per theme for consistent chat text readability, and highlights the fast mode bolt icon in the task detail modal, with corresponding theme-color and rendering tests.

Fusion-Task-Id: FN-3725
2026-05-08 00:37:39 -07:00
Fusion
5e94151111 fix(FN-3725): define accent text token across dashboard themes
- Add --accent-text token definitions in global and per-theme CSS blocks for consistent readable foreground contrast
- Extend theme coverage tests to assert accent text token presence across generated theme variants
- Add a changeset for @runfusion/fusion documenting the theme token fix
- Update agent guidance reference to include the new token requirement

Fusion-Task-Id: FN-3725
2026-05-08 00:19:17 -07:00
Fusion
3d40df22e4 feat(FN-3726): highlight fast mode bolt icon in task detail
- Add TaskDetailModal CSS rules to visually emphasize the fast mode bolt icon
- Cover fast mode icon highlighting in TaskDetailModal rendering tests
- Preserve existing modal rendering behavior while adding the new fast mode visual cue

Fusion-Task-Id: FN-3726
2026-05-08 00:03:46 -07:00
Fusion
83be5775cd feat(FN-3724): add split-button for git pull with rebase option
The merge adds a pull split-button in the GitManager modal that lets users choose between a regular `git pull` and a `git pull --rebase`, with styling and test coverage for the menu interactions and API payload. It also fixes plugin toggle rendering (FN-3723) and adds a release note for plugin insta

Fusion-Task-Id: FN-3724
2026-05-08 00:01:20 -07:00
Fusion
2b8cbd1d05 fix(FN-3721): add release note for plugin install entry resolution
- Add a changeset for FN-3721 covering plugin install entry resolution fixes
- Mark @runfusion/fusion for a patch release
- Preserve workspace gate restoration changes in the squash merge metadata

Fusion-Task-Id: FN-3721
2026-05-07 23:41:33 -07:00
Fusion
966368c250 feat(FN-3723): fix plugin toggle rendering
The merge completes the plugin toggle rendering fix (FN-3723) by verifying the quality gates and adding the required changeset for the patch release.

Fusion-Task-Id: FN-3723
2026-05-07 23:38:12 -07:00
Fusion
924584a96d feat(FN-3542): merge fusion/fn-3542
Commits merged:
- merge fusion/fn-3542

Files changed:
plugins/fusion-plugin-roadmap/src/store/roadmap-handoff.ts  | 2 +-
 plugins/fusion-plugin-roadmap/src/store/roadmap-ordering.ts | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

Fusion-Task-Id: FN-3542
2026-05-07 23:29:42 -07:00
Fusion
fa8f2a60ba feat(FN-3158): migrate roadmap domain modules to fusion-plugin-roadmap pack
The merge extracts the roadmap domain into a standalone plugin package (`plugins/fusion-plugin-roadmap`), wiring it into the CLI bundle and dashboard scaffold, with new modules for roadmap types, store, ordering, and handoff logic. A secondary change normalizes shell host bootstrap, introducing `She

Fusion-Task-Id: FN-3158
2026-05-07 23:21:05 -07:00
Fusion
9e5bc7ca72 feat(FN-3407): normalize shell host bootstrap
Introduces a canonical shell host context and normalized bootstrap flow for the dashboard, extracting the host initialization logic into a dedicated `shell-host.ts` module with a `ShellHostContext` provider; updates `App.tsx` and `Header` to use the new context, stabilizes related tests, and documen

Fusion-Task-Id: FN-3407
2026-05-07 23:21:05 -07:00
gsxdsm
b00906ff96 fix(ci): ignore vitest temp workspace dirs in eslint
Vitest creates .tmp-fn-vitest-workspace-resolution-* directories
containing built JS files that ESLint scans as source, producing
~9500 false-positive no-undef errors that mask real lint issues.

Added .tmp-fn-*/** to global ignores. These dirs are already in
.gitignore but ESLint doesn't read .gitignore by default.
2026-05-07 23:21:05 -07:00
gsxdsm
a3affa7a4f docs: add evals.md to documentation index
docs/evals.md was not listed in the docs/README.md index despite being
referenced from architecture.md and dashboard-guide.md. Added it to the
Task & Project Management section.
2026-05-07 23:21:05 -07:00
Fusion
b7f68d7dc0 feat(FN-3182): scope plugin installs globally with project enablement
- Store plugin installation metadata in central DB while preserving per-project enable/disable state
- Update plugin CLI and dashboard Plugin Manager copy/behavior to distinguish global install from project enablement
- Expand plugin store and loader test coverage, including legacy migration and scoped install assertions
- Update runtime plugin e2e tests to use isolated central DB directories and document the new semantics
- Add a changeset for @runfusion/fusion describing the plugin scope behavior change

Fusion-Task-Id: FN-3182
2026-05-07 23:21:05 -07:00
Fusion
979cf115d9 feat(FN-3720): split executor.test.ts into eight focused suites and add she
The merge splits the large monolithic `executor.test.ts` into seven focused test suites covering core logic, pause behavior, prompt handling, recovery, review verdicts, step sessions, and worktree operations, and adds shell context hook plumbing across the dashboard, desktop, and mobile packages to

Fusion-Task-Id: FN-3720
2026-05-07 23:21:05 -07:00
Fusion
a6c4ee2b8c feat(FN-3406): add shell context hook plumbing for dashboard
Adds a new `useShellContext` hook with tests to the dashboard, integrated into `App.tsx` and `Header.tsx` to provide shell context plumbing throughout the UI.

Fusion-Task-Id: FN-3406
2026-05-07 23:21:05 -07:00
Fusion
954ae1078d feat(FN-3276): add task review tab with metadata persistence and desktop la
This merge lands three major features and a significant dashboard enhancement. FN-3276 adds a full Review tab to the task detail modal with multi-step lifecycle: review metadata persistence in the task store, new task workflow routes for refresh and same-task revision, and the review tab UI surface

Fusion-Task-Id: FN-3276
2026-05-07 23:21:05 -07:00
Fusion
11bf7084e1 feat(FN-3507): block dispatch when project lacks node mapping
Adds validation to block task dispatch when no project-node mapping exists (FN-3507), including a read helper in CentralCore and a new `node-dispatch-validation` module integrated into the scheduler and in-process runtime, with test coverage across routing and validation scenarios.

Fusion-Task-Id: FN-3507
2026-05-07 23:21:05 -07:00
Fusion
695cb0bca5 feat(FN-3405): persist and restore desktop launch mode via IPC bridge
Merges five features: **Launch mode persistence** (FN-3405) — desktop now remembers and restores the user's preferred window mode across restarts via an IPC bridge; **Mailbox detail pane** (FN-3719/3720) — clicking messages in the Mail tab and Mailbox opens the detail pane and reply panel; **Remote

Fusion-Task-Id: FN-3405
2026-05-07 23:21:05 -07:00
Fusion
c93f61b506 feat(FN-3720): expand mailbox messages to open detail pane and show reply c
The merge adds two Mailbox UX improvements: messages in the Mail tab now open the task detail pane (FN-3719), and reply context rows in the mailbox modal are expanded for better readability (FN-3720), with corresponding CSS and test coverage for both AgentDetailView and MailboxModal.

Fusion-Task-Id: FN-3720
2026-05-07 23:21:05 -07:00
Fusion
5514d3e25c feat(FN-3719): make Mail tab messages open detail pane
Merges a substantial batch of agent and desktop improvements: the Mail tab now opens messages in a detail pane with styled selectable rows (FN-3719, four steps), remote node discovery contracts are integrated into the dashboard (FN-3506), permanent-agent approval context is wired through executor an

Fusion-Task-Id: FN-3719
2026-05-07 23:21:05 -07:00
Fusion
6f3173abe7 feat(FN-3506): add discovery contract and integrate remote node discovery i
Merges node discovery onboarding (FN-3506) with two steps: a pre-registration discovery contract wired into the AddNodeModal UI, and full remote discovery integration with documentation. Also adds a local embedded runtime manager to the desktop app (FN-3404) and wires permanent-agent approval contex

Fusion-Task-Id: FN-3506
2026-05-07 23:21:05 -07:00
Fusion
a61ea03b13 feat(FN-3561): wire permanent-agent approval context in runtime paths
Wired permanent-agent approval context into runtime paths for FN-3561, updating the agents documentation and adding test coverage for the heartbeat executor to validate the runtime behavior.

Fusion-Task-Id: FN-3561
2026-05-07 23:21:05 -07:00
Fusion
ff6a568f0c feat(FN-3404): add local embedded runtime manager to desktop app
Adds a local runtime manager to the desktop app (FN-3404) — an embedded engine process managed via IPC with packaging for bundled dependencies and lifecycle documentation. Also includes project mapping onboarding UI with persistence and rollback (FN-3505), plus related dashboard API and hook updates

Fusion-Task-Id: FN-3404
2026-05-07 23:21:04 -07:00
Fusion
faaa99e768 feat(FN-3505): add node onboarding mapping flow with asset-gated bundling
- Add onboarding project-mapping API contracts and dashboard UI wiring in AddNodeModal/NodesView
- Persist node-to-project mappings with rollback-safe failure handling and expanded hook/API test coverage
- Document node onboarding mapping behavior in architecture and multi-project docs
- Add tsup bundle asset gates for openclaw bridge and droid runtime, with changesets and bundle output tests

Fusion-Task-Id: FN-3505
2026-05-07 19:29:54 -07:00
Fusion
9743dab1d9 feat(FN-3718): add droid runtime to tsup bundle with asset gate
Stages the droid runtime as a bundled plugin in the CLI's tsup configuration, gates the bundle bootstrap on droid asset availability, and adds tests asserting correct staging behavior in bundle output.

Fusion-Task-Id: FN-3718
2026-05-07 19:17:52 -07:00
Fusion
a732ebb8c9 feat(FN-3717): gate bootstrap on openclaw bridge asset
Stabilizes the OpenClaw bundle by hardening the asset copy logic and gating the bootstrap flow on the openclaw bridge asset being present, with regression tests covering the new bundle-output helpers and a patch changeset for `@runfusion/fusion`.

Fusion-Task-Id: FN-3717
2026-05-07 19:00:19 -07:00
Fusion
c0ed278a4d feat(FN-3504): add path mapping API with core contracts, routes, client hel
This merge introduces three major features: a full path-mapping API layer across core, dashboard, and desktop (FN-3504, four commits), shell multi-profile support with a new NativeShellConnectionManager component and connection manager onboarding flow (FN-3403), and migration of the WhatsApp plugin

Fusion-Task-Id: FN-3504
2026-05-07 18:47:08 -07:00
Fusion
e411e3ce06 feat(FN-3403): add shell multi-profile support with connection manager onbo
Merges shell multi-profile support for desktop (FN-3403) — spanning new connection-manager flows, shell onboarding interoperability, mobile connection profiles, desktop IPC/shell-settings plumbing, and tokenized titlebar styles — with a secondary migration of the WhatsApp plugin to the Baileys pairi

Fusion-Task-Id: FN-3403
2026-05-07 18:35:45 -07:00
Fusion
61a3942f06 feat(FN-3713): remove legacy webhook key references from schema test
Cleans up legacy webhook key references from the schema test file, removing outdated assertions that referenced deprecated fields.

Fusion-Task-Id: FN-3713
2026-05-07 18:29:54 -07:00
Fusion
dcea611a9d feat(FN-3713): migrate WhatsApp plugin to Baileys pairing flow
- Add Baileys-based connection/auth modules and pairing route support for QR, pair code, status, and logout
- Refactor plugin entrypoint and split reply/auth/connection logic into focused modules
- Update plugin metadata/docs/settings schema to pairing-era configuration and remove legacy webhook key usage
- Add targeted tests for auth state, connection handling, reply flow, and updated schema expectations

Fusion-Task-Id: FN-3713
2026-05-07 18:26:14 -07:00
Fusion
903830b9af feat(FN-3560): add permanent agent gating enforcement in pi with tool class
The merge lands three major features: a permanent-agent gating system (FN-3560, 6 steps) that classifies and enforces tool access policies for permanent agents in the PI extension, with full test coverage and updated agent docs; an OpenClaw MCP bridge (FN-3717) adding MCP config, schema server, and

Fusion-Task-Id: FN-3560
2026-05-07 18:07:12 -07:00
Fusion
4c204c9485 feat(FN-3717): add OpenClaw MCP bridge (+5 more)
Commits merged:
- docs(FN-3717): update openclaw runtime and settings docs
- test(FN-3717): fix openclaw engine test typing
- test(FN-3717): strengthen openclaw bridge coverage
- feat(FN-3717): complete Step 2 — wire engine and bundle delivery
- fix(FN-3717): address openclaw bridge review feedback
- feat(FN-3717): complete Step 1 — add OpenClaw MCP bridge

Files changed:
.changeset/fn-3717-openclaw-tool-bridge.md         |  5 ++
 docs/settings-reference.md                         | 28 +++++---
 packages/cli/src/__tests__/bundle-output.test.ts   |  9 +++
 packages/cli/tsup.config.ts                        |  7 ++
 .../src/__tests__/openclaw-runtime-e2e.test.ts     | 28 ++++++++
 .../__tests__/openclaw-runtime-integration.test.ts | 10 +++
 plugins/fusion-plugin-openclaw-runtime/README.md   | 13 ++++
 .../src/__tests__/cli-spawn.test.ts                | 82 +++++++++++++++++++---
 .../src/__tests__/mcp-config.test.ts               | 45 ++++++++++++
 .../src/__tests__/runtime-adapter.test.ts          | 46 ++++++++++++
 .../fusion-plugin-openclaw-runtime/src/index.ts    |  5 ++
 .../src/mcp-config.ts                              | 60 ++++++++++++++++
 .../src/mcp-schema-server.cjs                      | 59 ++++++++++++++++
 .../src/pi-module.ts                               | 52 ++++++++++++--
 .../src/runtime-adapter.ts                         | 26 +++++++
 .../fusion-plugin-openclaw-runtime/src/types.ts    |  4 ++
 16 files changed, 457 insertions(+), 22 deletions(-)

Fusion-Task-Id: FN-3717
2026-05-07 18:00:18 -07:00
Fusion
f43a5fd029 feat(FN-3394): add evals dashboard view with API routes and client hooks
Adds a full evals dashboard view (FN-3394) with a client hook, server-side read routes, and navigation integration across the Header and mobile nav, backed by comprehensive tests. Wires Hermes chat message tools with mailbox behavior documentation (FN-3620), and extends the agent heartbeat and tools

Fusion-Task-Id: FN-3394
2026-05-07 17:24:11 -07:00
Fusion
f894bdc1d6 feat(FN-3620): wire Hermes chat message tools and document mailbox behavior
Merges FN-3620, completing the Hermes chat mailbox integration with wired message tools, locked sender/recipient contract tests, and mailbox behavior documentation, plus a small CSS polish adding `focus-visible` styles and token radius to the render toggle. A changeset for FN-3710 (cluster task ID o

Fusion-Task-Id: FN-3620
2026-05-07 16:53:55 -07:00
Fusion
3a944236e1 feat(FN-3710): add planning mode priority controls and agent workspace memo
Adds an agent workspace memory reader so agents can access workspace context, and extends the planning mode modal with priority controls for task routes and subtasks (FN-3716, FN-3718). Minor CSS token and mobile focus fixes are also included (FN-3710).

Fusion-Task-Id: FN-3710
2026-05-07 16:47:57 -07:00
Fusion
c1ba48f07b feat(FN-3718): add agent workspace memory reader and include workspace memo
Merged branch lands two features: FN-3718 wires workspace memory into the agent instruction pipeline — adding a reader helper, injecting workspace memory into agent instructions and identity snapshots, and documenting the resolution order — and FN-3716 adds planning mode priority controls for task r

Fusion-Task-Id: FN-3718
2026-05-07 16:09:35 -07:00