Commit Graph

3799 Commits

Author SHA1 Message Date
gsxdsm
d65ed8d28d 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
5b453ef71a 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
7e1768b1b1 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
6ea1fb01e4 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
525787edb7 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
1dce4ee002 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
9415d33f72 chore(release): v0.19.0
Version bump via changesets.
2026-05-04 15:54:42 -07:00
gsxdsm
ea3fd53ae2 fn-docs: (docs) Beads/Dolt evaluation doc 2026-05-04 15:53:39 -07:00
gsxdsm
e5811e75f1 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
05cb972212 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
c48feb2f79 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
452c31a085 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
6dfe7c5e09 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
e87961825f 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
71ad03f3a0 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
d3060ef7f4 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
ed940520b9 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
9dc7275970 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
88171eb5b3 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
bf5a0208a9 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
cfdc72e511 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
73a2b01ab7 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
e1ac4b6e59 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
89da1de311 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
840dad771d 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
c9e776cb34 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
4b6c11ff0a 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
3a97bf2386 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
ad133f2cca 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
b04393e371 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
35d44b0019 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
0373fb6c4b 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
b9dfb9ae79 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
b7ac46ecef 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
e9f2a4cfb5 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
1321830800 chore(release): v0.18.1
Version bump via changesets.
2026-05-04 09:55:19 -07:00
gsxdsm
551977a21b Add changeset 2026-05-04 09:54:43 -07:00
Fusion
42a30fe5a7 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
3b956b773c 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
27544a1880 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
625c5c5f4d chore(release): v0.18.0
Version bump via changesets.
2026-05-04 09:21:08 -07:00
Fusion
2fb2f23c25 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
6fa487ee7f 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
5c105d0f03 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
3bd7041dae 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
1807dbd5e4 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
3b9f0d55c1 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
ffd4736f07 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
f1ee69e59a 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
815031baf4 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