Commit Graph

3799 Commits

Author SHA1 Message Date
gsxdsm
2b809fc99e fix(engine/merger): autostash unrelated rootDir changes around aiMergeTask
The merger issues several `git reset --hard` / `git reset --merge` and
forced-checkout calls against `rootDir` during merge attempts. When
`rootDir` is the developer's primary checkout (common for solo / single-host
setups), those resets silently discard any unrelated unstaged or untracked
changes — we burned dev work this way during FN-3329 (dashboard-tui edits
wiped mid-flight by an unrelated merge run).

Snapshot dirty paths at entry to `aiMergeTask`, stash them under a
recognizable label including the taskId (`-u` to capture untracked), and
pop them in a finally block on every exit path. On pop conflict we leave
the stash intact and log a recovery hint rather than dropping it. Best-
effort: a stash failure logs and proceeds with the old behavior so the
merge itself is never blocked.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-04 17:22:21 -07:00
Fusion
1187ea45d0 feat(FN-3329): refine dashboard TUI system panel and setup wizard UX
- Expand dashboard TUI state/controller wiring for system panel interactions and mouse toggle behavior
- Update dashboard TUI app rendering and tests to cover the new panel controls
- Improve SetupWizardModal layout and interaction behavior with matching CSS and test updates
- Restore docs/research.md wording and add a changeset for the published CLI package

Fusion-Task-Id: FN-3329
2026-05-04 17:22:21 -07:00
Fusion
1634dc786c feat(FN-3328): refactor droid-cli into compatibility shim backed by fusion-
Merged FN-3328: Refactored the droid integration by converting `droid-cli` into a lightweight compatibility shim that delegates to `fusion-plugin-droid-runtime`, reducing droid-cli by ~5,400 lines of code while moving the actual runtime logic into the plugin scaffold. Updated the plugin loader to al

Fusion-Task-Id: FN-3328
2026-05-04 17:22:21 -07:00
Fusion
b1b9e86c84 feat(FN-3325): remove monolithic PlanningModeModal test file
Removed the monolithic PlanningModeModal test file (3,476 lines), completing the refactor of the test suite for this component.

Fusion-Task-Id: FN-3325
2026-05-04 17:22:21 -07:00
Fusion
a9a1f4c209 feat(FN-3323): recover orphaned agents and add reports health section to he
The merge lands FN-3323's self-healing system: a new "reports health" prompt section and `agent-heartbeat.ts` module that detect orphaned agents and recover their state (clearing stale error states and re-enabling heartbeat execution). The engine's `self-healing.ts` was expanded with wired recovery

Fusion-Task-Id: FN-3323
2026-05-04 17:22:21 -07:00
Fusion
d5e8318748 feat(FN-3227): add startup model sync for opencode-go commands
- Add shared startup model sync helper and integrate it into dashboard, serve, and daemon command startup flows
- Introduce opencode-go model sync setting in core schema/types and expose it in dashboard settings UI
- Add CLI regression tests covering startup model sync behavior and command wiring
- Document the new startup model sync setting and related CLI behavior updates

Fusion-Task-Id: FN-3227
2026-05-04 17:22:21 -07:00
gsxdsm
ef4f3ba3be chore(release): v0.19.0
Version bump via changesets.
2026-05-04 15:54:42 -07:00
gsxdsm
893afc7b4b fn-docs: (docs) Beads/Dolt evaluation doc 2026-05-04 15:53:39 -07:00
gsxdsm
082c62a6e2 fix(dashboard): prevent cross-agent overwrite from stale Config tab autosave
Switching agents in the AgentsView split layout while on the Config tab
caused the autosave to write the previously-viewed agent's surface fields
(name, role, title, icon, model, skills) onto the newly-selected agent.
The Config tab's form state was initialized once at mount and never
resynced, while the master-detail layout reused the same component
instance across selections. Add key={selectedAgentId} on AgentDetailView
and key={agent.id} on ConfigTab so both remount with fresh state on every
agent transition.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-04 15:53:00 -07:00
Fusion
6be45ad78b fix(FN-3386): restore workspace verification gates and docs
- Resolve the cli-alias merge conflict by keeping mainline-deletion semantics under smart-prefer-main
- Add TaskCard workspace verification UI behavior and regression coverage
- Update plugin-sdk exports and related task/dashboard documentation for verification workflow

Fusion-Task-Id: FN-3386
2026-05-04 15:44:18 -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
02541b094c feat(FN-3320): add agent configuration tools for settings management
The merge completes FN-3320 by implementing configuration tools for the agent system (`agent-tools.ts`), wiring them through the executor, and adding test coverage (`agent-tools-config.test.ts`). Documentation was updated in `AGENTS.md` and the engine tools reference, with minor updates to the agent

Fusion-Task-Id: FN-3320
2026-05-04 15:21:40 -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
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
0d19a7b7d8 feat(FN-3317): add merge scheduler recovery test coverage
Added 95 lines of test coverage for merge scheduler recovery paths in the merge error recovery test suite, completing Step 4 of FN-3317.

Fusion-Task-Id: FN-3317
2026-05-04 14:47:12 -07:00
Fusion
a56f22026e feat(FN-3311): add version notes extractor for GitHub releases
Merges FN-3311 work into the release pipeline: adds a version notes extractor with tests and integrates GitHub release creation into the release script, plus a minor CSS design token consistency fix in the dashboard.

Fusion-Task-Id: FN-3311
2026-05-04 14:35:23 -07:00
Fusion
496c000e99 feat(FN-3310): add fn update command to CLI reference
Adds a changeset for a new `fn` command and updates the CLI reference documentation with the command details.

Fusion-Task-Id: FN-3310
2026-05-04 14:18:25 -07:00
Fusion
be03428e79 feat(FN-3308): fix CSS token consistency in settings and task detail modals
Fixes CSS token consistency issues in TaskDetailModal and SettingsModal, and updates the corresponding mobile overflow test to match the refactored styles.

Fusion-Task-Id: FN-3308
2026-05-04 14:05:27 -07:00
Fusion
64cec4a205 feat(FN-3294): document settings autosave behavior in agents.md
Merged step 5 of FN-3294, adding documentation for the settings autosave behavior to `docs/agents.md`. The change is documentation-only, updating the agents configuration reference with 2 additional lines.

Fusion-Task-Id: FN-3294
2026-05-04 13:54:07 -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
1f2c9dd043 feat(FN-3378): complete cli-alias step 4 documentation and delivery
Merged the final step of FN-3378, delivering documentation and completion work for the cli-alias package, with the primary change to `packages/cli-alias/index.js` adding 19 lines and removing 12.

Fusion-Task-Id: FN-3378
2026-05-04 13:33:32 -07:00
Fusion
343d2710ac feat(FN-3365): pass workspace verification gates in board component
Fix FN-3365 completes Step 3 of workspace verification gates by making a minor adjustment to the Board component in the dashboard, likely correcting a validation or boundary condition that was previously failing.

Fusion-Task-Id: FN-3365
2026-05-04 13:31:25 -07:00
gsxdsm
54f2832691 fix(merger): restrict staging to allowlist and harden git invocations
Replaces blanket `git add -A` in `commitOrAmendMergeWithFixes` with an
explicit allowlist of (squash-staged ∪ fix-agent-modified) paths, so
unrelated dirty files in the project root no longer get swept into a
task's squash commit. The in-merge fix agent now snapshots the working
tree before/after its session to capture exactly which files it touched.

Hardens the git invocations the allowlist relies on:
- All `git add` and `git checkout --ours/--theirs` calls switched from
  shell-interpolated `execAsync` to `execFile` array form, eliminating
  path-injection surface and batching per-file spawns into one call.
- `snapshotDirtyFiles` adopts `git -z` NUL-delimited parsing so paths
  with embedded spaces or specials are handled correctly.
- Long allowlist debug logs are truncated to 20 entries with an overflow
  marker.

Refused-to-stage paths emit a warn naming each file so the user can
audit what was filtered.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-04 13:17:57 -07:00
Fusion
0536df748b feat(FN-3383): ship mobile org chart controls and verification updates
- Add mobile org chart pan/zoom controls in AgentsView with updated styling and interaction tests
- Normalize cli-alias global references for lint-safe runtime access
- Expand merger, research, and planning verification logic with stronger test coverage
- Add test-changed cache/concurrency behavior and stabilization documentation updates

Fusion-Task-Id: FN-3383
2026-05-04 13:17:57 -07:00
Fusion
df253a8eac feat(FN-3293): add stabilization docs to test audit report
Documentation for test stabilization was finalized by updating the test audit report with 2 additional lines.

Fusion-Task-Id: FN-3293
2026-05-04 13:17:57 -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
d2e9423f75 feat(FN-3292): document research boundary contract
Documents the research boundary contract in the architecture docs and research hardening preflight guide, updating architecture documentation and adding a new boundary definition file.

Fusion-Task-Id: FN-3292
2026-05-04 13:17:57 -07:00
gsxdsm
8483a5ffae fix(dashboard): full-height settings modal on mobile + consistent section spacing
Pin the settings modal to 100dvh on mobile (overlay padding/inset reset, min-height enforced) and align section heading gutters with form-group items so each settings page has consistent horizontal spacing around headers and items.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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
d06475b056 feat(FN-3377): add llama.cpp provider integration with pi extension and mob
This merge adds a new llama.cpp local AI provider integration, including a `pi-llama-cpp` CLI extension package with model resolution and context retrieval, a `LlamaCppProviderCard` UI component for provider configuration, backend API routes for model registration and llama.cpp probe/health checking

Fusion-Task-Id: FN-3377
2026-05-04 10:44:38 -07:00
Fusion
ceea0387a7 feat(FN-3377): compress mobile agent detail header
- Rework AgentDetailView mobile header structure to reduce vertical space while preserving key metadata
- Simplify AgentsView mobile spacing and remove redundant styles tied to legacy header layout
- Update dashboard CSS class coverage tests for new agent detail/mobile header classes
- Expand AgentDetailView and AgentsView tests to validate condensed header rendering and interaction behavior

Fusion-Task-Id: FN-3377
2026-05-04 10:38:20 -07:00
Fusion
d30f8a7a3b feat(FN-3286): remove duplicate PR creation success toast in TaskDetailModa
Fixes FN-3286 by removing a duplicate PR creation success toast notification from the task detail modal. The change is a single line deletion in `TaskDetailModal.tsx`.

Fusion-Task-Id: FN-3286
2026-05-04 10:31:32 -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
43c2b29575 docs(FN-3195): document llama.cpp provider setup in onboarding docs
- Add llama.cpp HTTP server setup guidance to the root README authentication section
- Update dashboard settings docs to describe CLI/server-backed provider card behavior
- Clarify llama.cpp provider enablement flow alongside existing auth providers
2026-05-04 10:06:38 -07:00
gsxdsm
9c284750af chore(release): v0.18.1
Version bump via changesets.
2026-05-04 09:55:19 -07:00
gsxdsm
89401cd2c9 Add changeset 2026-05-04 09:54:43 -07:00
Fusion
2a4fba505e feat(FN-3379): refine heartbeat timestamps and dashboard mobile UI polish
- Remove seconds from heartbeat timestamp display and update architecture docs accordingly
- Align quick chat FAB and related component styles with shared theme tokens
- Adjust ConfirmDialog and file mention popup styling for mobile fullscreen behavior
- Update dashboard tests for AgentsView, ChatView, ConfirmDialog, and mobile CSS assertions

Fusion-Task-Id: FN-3379
2026-05-04 09:51:54 -07:00
Fusion
a6fdf3703c feat(FN-3266): address quick chat FAB CSS token consistency
Fixed QuickChatFAB styling to align with the design token system, replacing hardcoded CSS values with consistent token variables in the component's stylesheet.

Fusion-Task-Id: FN-3266
2026-05-04 09:51:54 -07:00
Fusion
276f1953a2 feat(FN-3374): update mobile fullscreen modal selector assertion
This merge updates a mobile fullscreen modal CSS selector assertion in the dashboard test suite, aligning it with a recent UI change to the modal structure.

Fusion-Task-Id: FN-3374
2026-05-04 09:51:54 -07:00
gsxdsm
5c9e5e7701 chore(release): v0.18.0
Version bump via changesets.
2026-05-04 09:21:08 -07:00
Fusion
9463d1c58e fix(FN-3376): close mobile agent detail when switching agent views
- Add a shared handleAgentViewChange callback to update view mode transitions
- Close the selected agent detail pane on mobile when switching between list, board, and org views
- Route all view-toggle buttons through the new handler for consistent behavior
- Add a regression test in AgentsView.test.tsx covering mobile org-chart view switch behavior

Fusion-Task-Id: FN-3376
2026-05-04 09:20:07 -07:00
Fusion
cba93d0924 feat(FN-3264): add droid plugin, improve agent detail view, and fix researc
This merge adds Agent Detail view improvements including model favoriting, wires in the droid bundled plugin, updates mobile split layout with proper safe-area padding, and adds research task-view persistence with associated test coverage across Header, MobileNavBar, App, and view state hooks.

Fusion-Task-Id: FN-3264
2026-05-04 09:20:07 -07:00
Fusion
ab69158284 feat(FN-3261): wire droid bundled plugin and improve agent detail view
Merged four step commits bringing AgentDetailView improvements with model favoritism UI, bundled plugin install wiring for the droid runtime, aligned documentation between settings reference and the plugin README, plus mobile layout refinements with safe-area padding test updates.

Fusion-Task-Id: FN-3261
2026-05-04 09:20:07 -07:00
Fusion
ab61b77e2b feat(FN-3306): add research recovery, CI shards, agent detail model favorit
Merges FN-3306 agent detail favorites wiring and test coverage, FN-3244 mobile FAB drag path hardening, FN-3303 mobile split layout updates, FN-3366 CI shard contract documentation with a new `scripts/ci-test-shard.mjs`, and FN-3014 research recovery semantics — plus expanded research extension tool

Fusion-Task-Id: FN-3306
2026-05-04 09:20:07 -07:00
Fusion
d3f82b176a feat(FN-3303): update mobile split layout and safe-area padding assertions
Updated mobile CSS test assertions in AgentsView to account for split layout behavior and safe-area padding changes.

Fusion-Task-Id: FN-3303
2026-05-04 09:20:07 -07:00
Fusion
7cd7872e5a feat(FN-3366): document CI shard contract in contributing guide
Documentation update to `docs/contributing.md` adding details on the CI shard contract (FN-3366 Step 3).

Fusion-Task-Id: FN-3366
2026-05-04 09:20:07 -07:00
Fusion
c7b9afcdd0 feat(FN-3244): harden mobile FAB drag path and touch detection
Merges FN-3244's three-step hardening of the mobile FAB drag path, adding regression tests and finalizing TypeScript typing. Includes FN-3296's tokenized typography for agent health reasons, FN-3014's documented recovery semantics for the research system, and related CLI/dashboard work that improves

Fusion-Task-Id: FN-3244
2026-05-04 09:20:07 -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
17b11c533b feat(FN-3296): tokenize health reason typography in agent detail
Fixed health reason display in the Agent Detail view by tokenizing its typography to align with the design system's font token standards, updating the component's CSS and TypeScript files.

Fusion-Task-Id: FN-3296
2026-05-04 09:20:07 -07:00