Commit Graph

850 Commits

Author SHA1 Message Date
Fusion
51866654b8 feat(FN-3416): verify auth route provider expectations in step 2
Test-only merge for FN-3416: adds verification for auth route provider expectations, completing Step 2 of the task with no file changes reported.

Fusion-Task-Id: FN-3416
2026-05-05 01:24:14 -07:00
Fusion
6ce27545ba feat(FN-3462): add workflow theme regression test for WorkflowResultsTab
Adds regression coverage for WorkflowResultsTab theme styling by moving a hardcoded box-shadow fallback into the global stylesheet and adding a test that validates the theme-specific status background renders correctly.

Fusion-Task-Id: FN-3462
2026-05-05 00:31:36 -07:00
Fusion
43dd04860c feat(FN-3471): apply tokenized sizing and focus styles to component CSS
Merged CSS changes that apply tokenized sizing and focus styles to InsightsView and DesktopModeChooser components, with the majority of changes in InsightsView.css.

Fusion-Task-Id: FN-3471
2026-05-05 00:21:21 -07:00
Fusion
aab28e1adb feat(FN-3434): add Claude OAuth credential interop with verification and st
This merge lands four major features: the desktop app gains shell onboarding with remote mode support via a new `DesktopModeChooser` and `shell-settings` module (FN-3399); the dashboard gains full archived insights support with the `InsightsView` redesign and `useInsights` hook overhaul (FN-3315); C

Fusion-Task-Id: FN-3434
2026-05-04 23:47:26 -07:00
Fusion
b45b4dd17a feat(FN-3315): add test coverage for archived insights in three test suites
Adds test coverage for archived insights across the core store, `InsightsView` component, and `useInsights` hook — 156 lines of new tests covering FN-3315.

Fusion-Task-Id: FN-3315
2026-05-04 23:47:26 -07:00
Fusion
854c59398a feat(FN-3413): update auth route fixtures to github-copilot
Updates authentication route test fixtures to use "github-copilot" as the provider name instead of the previous value, ensuring tests align with the current auth provider configuration.

Fusion-Task-Id: FN-3413
2026-05-04 23:47:25 -07:00
Fusion
1655ef578f feat(FN-3301): render commit body in expanded git views
Completes the commit body rendering in expanded git views within `GitManagerModal`, including updated component implementation and tests. The dashboard git routes and modal component now properly display full commit body content.

Fusion-Task-Id: FN-3301
2026-05-04 22:17:10 -07:00
Fusion
e0e871555d feat(FN-3116): add docker node provisioning routes with planning modal and
This merge adds Docker node provisioning infrastructure with API routes for provisioning lifecycle, Docker node management, and failure-state handling, along with corresponding test coverage for onboarding, lifecycle, and error flows. It also introduces planning session rewind capability with a moda

Fusion-Task-Id: FN-3116
2026-05-04 21:21:22 -07:00
Fusion
7b45ae15ee feat(FN-3447): add planning session rewind capability with modal back actio
This merge delivers four major features: a planning session rewind system (FN-3447, steps 1–4) with a new backend route for rolling back sessions, modal back-action wiring, and updated typing; workspace verification gates (FN-3385) for agent prompt editing; an agents view org chart spacing rework (F

Fusion-Task-Id: FN-3447
2026-05-04 21:21:22 -07:00
gsxdsm
f909688dd9 Merge pull request #30 from timothyjlaurent/fix/sqlite-corruption-wal-pragmas
fix: prevent SQLite B-tree corruption with WAL tuning and batched agent logs
2026-05-04 21:20:32 -07:00
Fusion
8f0f9257ed feat(FN-3114): stabilize docker config modal recreate indicator test
The merge stabilizes a test case in the NodeDetailModal test file related to the docker config modal's recreate indicator, correcting an assertion that was causing intermittent failures.

Fusion-Task-Id: FN-3114
2026-05-04 19:05:48 -07:00
Fusion
739e10bf3c feat(FN-3356): ship llama.cpp provider integration, mobile org chart contro
This merge delivers v0.19.0 with several major features and reliability improvements: a new llama.cpp provider integration for the pi extension and mobile dashboards, an extensive refactor of the agent heartbeat system with per-agent configuration and test coverage, a large PlanningModeModal test su

Fusion-Task-Id: FN-3356
2026-05-04 18:19:38 -07:00
Fusion
53ae8c5465 feat(FN-3324): add runtime guard regression sentinel
Adds a regression test sentinel in the engine's in-process runtime test suite to guard against runtime guard behavior regressions (FN-3324).

Fusion-Task-Id: FN-3324
2026-05-04 15:33:39 -07:00
Fusion
95d368e7d7 feat(FN-3211): document app CPU metric in system stats
Updated the architecture documentation to document the app CPU metric in the system stats section.

Fusion-Task-Id: FN-3211
2026-05-04 15:16:53 -07:00
Fusion
a66ddf2e7f feat(FN-3314): align auth route assertion in agents routes test
Test FN-3314 completes its final step by refining an auth route assertion in the agents routes test, ensuring the test accurately validates the expected behavior.

Fusion-Task-Id: FN-3314
2026-05-04 15:04:36 -07:00
Timothy Laurent
cd09f12c77 merge main: resolve db.test.ts import conflict
Combined both branches: TaskStore import from main + rmSync import
from our branch (needed for fresh DB test cleanup).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-04 14:58:47 -07:00
Timothy Laurent
8e7b8e139f fix(tests): resolve 4 failing tests across cli and dashboard packages
- task.test.ts: save/delete GITHUB_REPOSITORY env before
  runTaskPrCreate fallback test so CI env doesn't bypass the
  getCurrentRepo code path
- app.test.tsx: increase waitForFrameContains timeout for ASCII QR
  render from 3s to 6s to accommodate slower CI environments
- remote-auth.test.ts: switch createRemoteSettings default from
  tailscale to cloudflare with a static ingressUrl so
  resolveRemoteBaseUrl doesn't 409 when no tunnel is running

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-04 14:54:55 -07:00
Fusion
3b4bb2d134 test(FN-3314): align persistent auth route assertion
- Update the remote access auth login-url test to assert global settings persistence
- Replace the outdated store.updateSettings expectation with store.updateGlobalSettings
- Keep persistent token strategy verification coverage intact
2026-05-04 14:53:08 -07:00
Fusion
eeab870857 feat(FN-3199): align memory insight docs with canonical paths
Updates three documentation files to align memory insight and plugin path references with their canonical locations.

Fusion-Task-Id: FN-3199
2026-05-04 13:43:22 -07:00
Fusion
73430354e1 docs(FN-3293): finalize stabilization audit documentation
- Add FN-3293 stabilization update section to docs/test-audit-report.md
- Document deterministic test hardening across CLI, dashboard, droid-cli, and core suites
- Update flaky hotspot notes to reflect resolved dashboard retry timeout coverage

Fusion-Task-Id: FN-3293
2026-05-04 13:17:57 -07:00
Fusion
7ae22a7ee5 feat(FN-3410): finalize planning verification and launcher updates
- Rework planning subtask descriptions and update planning logic/tests for clearer execution guidance
- Add launcher/update notice handling in cli-alias with package-config coverage and release script updates
- Refine agent detail and agents list UI/CSS for compressed mobile header behavior with updated dashboard tests
- Add changesets and related docs/readme touch-ups for release tracking
- Ref: runfusion/fusion#33
2026-05-04 10:56:30 -07:00
Fusion
1e73863ac6 feat(FN-3195): document llama.cpp provider setup and onboarding
Docs(FN-3195): adds llama.cpp provider setup and onboarding documentation to the main and dashboard READMEs.

Fusion-Task-Id: FN-3195
2026-05-04 10:18:38 -07:00
Fusion
0237607d81 feat(FN-3014): document research recovery semantics
Documents research recovery semantics in the CLI reference and settings reference, adding 9 lines of documentation across both files.

Fusion-Task-Id: FN-3014
2026-05-04 09:20:07 -07:00
Fusion
c4363f1a4f feat(FN-3342): add collapsible agent error UI and related runtime fixes
- Add a collapsible agent error display in agent views, including modal integration, styling updates, and larger touch targets for action controls
- Expand dashboard test coverage for agent error rendering/collapse behavior plus board/list/task card sorting and merge-active state regressions
- Fix skill name/path resolution and align Fusion two-segment skill naming with bare pi-coding-agent skill names
- Harden runtime and route behavior across engine/dashboard/droid flows with added regression and e2e test coverage

Fusion-Task-Id: FN-3342
2026-05-04 07:26:11 -07:00
Fusion
3b1435f6b9 feat(FN-3074): sort done column by recency, preserve merge-active state, ad
This merge adds done-column sorting by most recent completion while preserving merge-active state on verification bounces, introduces a comprehensive droid runtime regression test suite covering engine delegation, auth routes, and model routing, hardens the CLI native bundle externalization, and fix

Fusion-Task-Id: FN-3074
2026-05-04 07:25:14 -07:00
gsxdsm
fadfb18107 Merge pull request #29 from HarryCordewener/fix/skill-discovery-path-doubling-and-matching
fix: skill discovery path doubling and pattern/name matching
2026-05-04 07:18:30 -07:00
gsxdsm
6450dfc66d Merge pull request #32 from timothyjlaurent/timothyjlaurent/Nautilus
fix(FN-31): resolve per-project HeartbeatMonitor in multi-project setups
2026-05-04 07:15:35 -07:00
gsxdsm
42ccd3e033 Update packages/dashboard/src/skills-adapter.ts
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2026-05-04 07:14:37 -07:00
gsxdsm
e83d41b2b4 chore: fix eslint warnings
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-04 07:08:01 -07:00
Fusion
cc5c8c668b feat(FN-3112): tokenize NodesView border-radius and motion styles
Fixes FN-3112: Updates NodesView CSS to use tokenized border-radius and transition values from the design system instead of hardcoded pixel values, ensuring consistency with the dashboard's established token variables.

Fusion-Task-Id: FN-3112
2026-05-04 06:12:12 -07:00
Fusion
813bdad2e1 feat(FN-3071): add droid runtime plugin with event bridge, process manageme
This merge introduces a droid runtime plugin system with event bridge and process management (FN-3228), stabilizes plugin workspace verification gates and suppresses placeholder plugin shells in onboarding/settings flows (FN-3071), tokenizes danger/error styling in task detail components (FN-3350),

Fusion-Task-Id: FN-3071
2026-05-04 04:30:16 -07:00
Fusion
8cb8055531 feat(FN-3350): tokenize task detail danger/error styling
Fixes task detail modal danger/error styling by switching to token-based CSS variables for consistent theming across dark and light modes.

Fusion-Task-Id: FN-3350
2026-05-04 04:09:28 -07:00
Fusion
fbb96b25a5 feat(FN-3332): add droid runtime plugin with event bridge and process manag
The merge delivers a new `fusion-plugin-droid-runtime` plugin providing a full MCP server and runtime adapter for droid-based agents, with event bridging, process management, tool mapping, and a prompt builder. It also adds agent delegation and org hierarchy tools to the pi extension, while fixing a

Fusion-Task-Id: FN-3332
2026-05-04 03:04:33 -07:00
Fusion
2b102af38e feat(FN-3349): add in-review retry mechanism and delivery docs
This merge adds a changeset for feature FN-3349 (in-review retry behavior) and delivery documentation to the `@runfusion/fusion` package.

Fusion-Task-Id: FN-3349
2026-05-04 01:20:43 -07:00
Timothy Laurent
4bdd1d2bcf fix(FN-31): resolve per-project HeartbeatMonitor in multi-project setups
When running multiple projects (e.g., primary + fitness-app), on-demand
agent heartbeat triggers from the dashboard silently created zombie run
records that never executed. The agent appeared "running" but produced
no logs, no system prompt, no execution prompt.

Root cause: the dashboard routes used a single HeartbeatMonitor bound to
whichever project initialized first. For agents in other projects,
isHeartbeatMonitorForProject() returned false, causing either a 400
error or a fallback to agentStore.startHeartbeatRun() which only creates
a record without executing.

Fix: add resolveHeartbeatMonitor() which looks up the correct engine's
HeartbeatMonitor via engineManager by matching the scoped store's root
directory. Update POST /agents/:id/runs, POST /agents/:id/heartbeat,
POST /agents/:id/runs/stop, and triggerCommentWakeForAssignedAgent to
use the resolved monitor instead of the single static one.

Closes Runfusion/Fusion#31

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

Co-authored-by: Orca <help@stably.ai>
2026-05-03 23:38:19 -07:00
gsxdsm
bacc103e4e fix(FN-XXX): unify codex auth and chat fallback 2026-05-03 23:08:05 -07:00
Fusion
ba893b82bf feat(FN-3336): recover chat isGenerating state on session load to prevent U
Merges FN-3336 to recover chat streaming state on page reload — adds `isGenerating()` and `getGeneratingSessionIds()` to `ChatManager`, enriches the session API to surface active-streaming sessions, and makes `useChat` and `useQuickChat` hooks restore the `isGenerating` flag when loading existing se

Fusion-Task-Id: FN-3336
2026-05-03 16:51:01 -07:00
Fusion
d812427be7 feat(FN-3111): add mesh configuration API routes and generator service
The merge lands the mesh configuration system (FN-3111) with type definitions, a `MeshConfigGenerator` service using a new `DockerClientService.recreateContainer()` method, and backend API routes for managing Docker-based mesh nodes. It also adds a "New Chat" button to the ChatView header on desktop

Fusion-Task-Id: FN-3111
2026-05-03 15:13:08 -07:00
Fusion
0568d5d41b feat(FN-3110): add docker provisioning service, API routes, and status UI c
Merges FN-3110 to add Docker provisioning support across the stack: TypeScript types and DockerProvisioningService in core, API routes in dashboard for provisioning operations, a useDockerProvisioning hook for frontend integration, and a DockerProvisioningStatus UI component — all covered by unit an

Fusion-Task-Id: FN-3110
2026-05-03 14:10:11 -07:00
gsxdsm
bf80d37a43 fix(tests): correct sessionId destructure and waitFor in thinking-block tests
The two FN-3300 streaming-path tests destructured `{ sessionId }` from
createSessionWithAgent (which returns a string), causing
SessionNotFoundError. Also added the missing vi.waitFor(currentQuestion)
that the streaming setup requires before submitResponse.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-03 11:21:49 -07:00
Fusion
ca8787d112 feat(FN-3300): restore Claude usage tracking with Fusion Anthropic auth sto
This merge restores Claude usage tracking by reading from Fusion's Anthropic auth storage (FN-3135, FN-3289), adds fixes for response-text extraction bugs in `continueAgentConversation` and `getFirstQuestionFromAgent` with diagnostic logging for empty responses (FN-3300), and includes new test cover

Fusion-Task-Id: FN-3300
2026-05-03 11:00:50 -07:00
Fusion
593396ba2a feat(FN-3289): restore Claude usage from Fusion Anthropic auth storage in d
Step 2 of FN-3289 restores Claude usage tracking by integrating with Fusion's existing Anthropic auth-storage instead of maintaining separate credentials, eliminating credential duplication and improving consistency between the dashboard and CLI. The changes update the usage tracking module, add cor

Fusion-Task-Id: FN-3289
2026-05-03 10:36:28 -07:00
Fusion
e01d438f2d feat(FN-3265): wire Insights create-task to real task creation with mobile
Merges three features: wires the Insights view's "create task" action to real task creation (FN-3265) with tests, adds mobile-responsive collapse behavior in AgentsView when selecting live runs (FN-3271), and expands regression test coverage for worker budget handling (FN-3263). Changes span the das

Fusion-Task-Id: FN-3265
2026-05-03 10:02:17 -07:00
Fusion
7f3fb7799d feat(FN-2999): harden research lifecycle with idempotent cancel/retry, SSE
Merges FN-2999 research hardening (idempotent cancel/retry routes, aligned SSE event wiring, and cleaned status handling in the core research store and orchestrator) plus UI improvements to AgentDetailView header actions and planning disclosure UX in the modal, with a CSS token fallback fix in Scrip

Fusion-Task-Id: FN-2999
2026-05-03 09:11:04 -07:00
Fusion
fca870f4f5 feat(FN-3109): add Docker connectivity service and target selector UI
This merge adds Docker connectivity management to Fusion (FN-3109), introducing a Docker client service in `@fusion/core` with typed interfaces for daemon connection configuration (host, socket path, TLS). The dashboard gains a `DockerTargetSelector` component for choosing between local socket and T

Fusion-Task-Id: FN-3109
2026-05-03 07:47:45 -07:00
Fusion
cc6c9abe61 feat(FN-3212): remove runtime memory-backend side-load, add regression test
Merged FN-3207, FN-3212, and FN-3242: removed runtime memory-backend side-loading in core, added comprehensive regression tests for QuickChat, chat routes, and SSE streams, and documented compact mobile chat dialogs in the dashboard guide. The refactor in `project-memory.ts` reduces complexity while

Fusion-Task-Id: FN-3212
2026-05-03 07:37:03 -07:00
Fusion
59f2868f24 feat(FN-3120): show resolved planning model in planning modal
Adds a resolved planning model display to the planning modal by introducing a new `/api/models/resolve` endpoint, wiring it through the legacy API, and updating the modal to show the final resolved model alongside its source (FN-3120).

Fusion-Task-Id: FN-3120
2026-05-03 06:17:30 -07:00
Fusion
4f06f38434 feat(FN-3017): add insights coverage contracts, AgentsOverviewBar component
This merge introduces an `AgentsOverviewBar` component to the agents layout, adds styling enhancements to the planning mode modal and quick chat FAB, and fixes a `useEffect` dependency issue for the insights initial refresh. It also expands test coverage for the insights subsystem with new regressio

Fusion-Task-Id: FN-3017
2026-05-03 05:17:44 -07:00
Fusion
f2c4b77b34 feat(FN-3013): add durable insight lifecycle with bounded run executor
Adds durable insight lifecycle management to the Fusion system, including a bounded insight run executor, storage contracts for insight and research data, and API integration through the insights routes. Legacy schema compatibility is stabilized, and lifecycle safeguards are documented in the archit

Fusion-Task-Id: FN-3013
2026-05-03 02:36:07 -07:00
Fusion
2b5c27814b feat(FN-3016): research hardening, docker node onboarding, planning model s
Merged branch delivers Docker node onboarding with a new dedicated modal for guided setup, auto-installs the dependency graph plugin in CLI daemon and dashboard processes, hardens the research view with broader test coverage and a stuck-submit fix, plumbs planning draft text and model selection end-

Fusion-Task-Id: FN-3016
2026-05-03 00:37:35 -07:00