Commit Graph

5035 Commits

Author SHA1 Message Date
Fusion
2d8b4d6bbb feat(FN-4225): add mobile double-tap to select graph task nodes
Adds touch double-tap detection to the node drag hook, enabling mobile-friendly interactions on the graph canvas, with coverage in the node drag and GraphTaskNode test suites.

Fusion-Task-Id: FN-4225
2026-05-12 21:23:24 -07:00
Fusion
d0c9e47f66 feat(FN-4253): close linked GitHub issues on task deletion
Implements automatic closing of linked GitHub issues when a task is deleted (FN-4253), adding deletion logic to the GitHub tracking state module with corresponding tests for both state management and deletion behavior, plus a patch changeset for the `@runfusion/fusion` CLI.

Fusion-Task-Id: FN-4253
2026-05-12 21:11:21 -07:00
Fusion
7428c4fd86 feat(FN-4170): align release workflow install flag and add contract tests
Updated the release workflow to align the install flag and extended the CI workflow contract test to cover the change.

Fusion-Task-Id: FN-4170
2026-05-12 21:04:18 -07:00
Fusion
6792fa5673 feat(FN-4124): address drafts UX review feedback for MissionManager
Fixes UX review feedback for the MissionManager drafts feature, refactoring the component logic and updating corresponding tests. Minor CSS adjustments for the updated UI.

Fusion-Task-Id: FN-4124
2026-05-12 20:57:29 -07:00
Fusion
ab8f3a5630 feat(FN-4137): add review markdown toggle to document view (FN-4137)
This large merge delivers substantial improvements across the dashboard, engine, and CI infrastructure. Key themes include GitHub tracking feature parity (mobile layout, card icons, header alignment, title derivation, restart persistence, untitled issue handling), chat/room UX enhancements (draft au

Fusion-Task-Id: FN-4137
2026-05-12 20:51:08 -07:00
Fusion
8220ec66b7 feat(FN-4238): export merger errors from engine and polish workflow results
Exports merger error types from the engine package for use in the dashboard and CLI. Adds tests for the engine barrel exports and fixes workflow results tab styling to align the edit toggle with button styles.

Fusion-Task-Id: FN-4238
2026-05-12 20:39:01 -07:00
Fusion
08c29954ff docs(FN-4172): document expected heartbeat gaps
- Clarify in docs/agents.md that sub-hour heartbeat ages are normal with the default 1-hour interval
- Add FN-4172 investigation notes capturing persisted agent heartbeat measurements and classification rubric
- Record the close recommendation and verification results for the FN-4119 follow-up

Fusion-Task-Id: FN-4172
2026-05-12 20:11:22 -07:00
Fusion
5c521434d2 feat(FN-4124): surface mission interview drafts across mission tooling
- Add dashboard API routes and mission interview store support to list and inspect draft missions
- Update Mission Manager UI to surface draft interview sessions with styling and regression coverage
- Extend CLI mission commands and extension tools to expose draft listings consistently
- Document the draft surfacing behavior and include a changeset for the published CLI package

Fusion-Task-Id: FN-4124
2026-05-12 19:38:39 -07:00
gsxdsm
531494677c fix(dashboard): guard taskIdIntegrity access in health banner
Optional-chain `taskIdIntegrity` so the project view doesn't crash with
`undefined is not an object (evaluating 'taskIdIntegrity.status')` when
the dashboard health response omits the field (e.g. against an older
server from before FN-4192).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-12 19:35:46 -07:00
gsxdsm
42afaa8e6e fix(dashboard): guard taskIdIntegrity access in health banner
Optional-chain `taskIdIntegrity` so the project view doesn't crash with
`undefined is not an object (evaluating 'taskIdIntegrity.status')` when
the dashboard health response omits the field (e.g. against an older
server from before FN-4192).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-12 19:35:18 -07:00
Fusion
aecefac136 feat(FN-4098): document branch conflict recovery feature
Adds documentation for branch conflict recovery (FN-4098), covering the new CLI command, executor branch rename setting, recovery workflow, and delivery artifacts across the CLI reference, settings reference, and task management docs, with a changeset for the `@runfusion/fusion` package.

Fusion-Task-Id: FN-4098
2026-05-12 19:21:58 -07:00
Fusion
15281c304e feat(FN-4192): add task ID integrity detection and dashboard alerts
Implements task ID integrity detection across the stack (FN-4192): a new `task-id-integrity` module in core provides detector logic wired into the store, integrity health is surfaced via the dashboard API and legacy endpoint, and a banner component surfaces alerts in the UI — backed by comprehensive

Fusion-Task-Id: FN-4192
2026-05-12 19:10:07 -07:00
Fusion
2625e5067d feat(FN-4235): rescope FN-4137 retry to verification only
Updated the FN-4137 task prompt to narrow its scope to verification-only work, rescoping the retry from its previous implementation focus.

Fusion-Task-Id: FN-4235
2026-05-12 18:53:55 -07:00
Fusion
73a774c7ae feat(FN-4133): lazy-load dockerode in DockerClientService
Lazy-loads the `dockerode` module in `DockerClientService` so the heavy dependency is only imported when Docker functionality is actually needed, improving startup time for non-Docker use cases. Tests were added to verify the lazy-loading behavior.

Fusion-Task-Id: FN-4133
2026-05-12 18:33:13 -07:00
Fusion
8fa3e8bfd1 feat(FN-4072): add diff volume gate to merger
Added a diff volume gate to the merger that blocks or warns on large diffs before merge completes. The feature includes a new `merger-diff-volume-gate` module wired into the merger, configurable via project settings, with tests covering all gate paths. Also updated docs and the changeset for the `@r

Fusion-Task-Id: FN-4072
2026-05-12 18:26:58 -07:00
Fusion
e7fc3a9d17 feat(FN-4177): add heartbeat messaging support for chat rooms
The merge delivers room heartbeat messaging for agents, allowing heartbeat-triggered agents to send messages into chat rooms and subscribe to room activity. Core changes include new chat-store room APIs, engine heartbeat room message tools, and corresponding tests, with a small dashboard ChatView up

Fusion-Task-Id: FN-4177
2026-05-12 18:20:17 -07:00
Fusion
df52cc2e84 feat(FN-4145): clear task pause state when fn_task_done is received
The fix ensures paused tasks are unpaused when `fn_task_done` is received, preventing tasks from remaining stuck in paused state after completion. Test coverage was added for the paused-to-done handoff scenario in both the executor prompt and review verdicts test files. This is a patch release (`@ru

Fusion-Task-Id: FN-4145
2026-05-12 17:59:59 -07:00
Fusion
4f75bcced3 feat(FN-4149): normalize mobile toolbar sizing and add touch target coverag
Added test coverage for mobile toolbar touch target CSS and normalized mobile toolbar sizing in the FileBrowser component.

Fusion-Task-Id: FN-4149
2026-05-12 17:52:44 -07:00
Fusion
7e55dc4572 feat(FN-4176): add general GitHub tracking settings to settings modal
Adds general GitHub tracking controls to the Settings modal, moving those settings out of the merge-specific section into a broader general settings area, with corresponding test coverage and documentation updates.

Fusion-Task-Id: FN-4176
2026-05-12 17:46:18 -07:00
Fusion
410bca09dd feat(FN-4138): add research view ux spec
Added a UX specification document for the Research View feature (FN-4138), including documentation in the README.

Fusion-Task-Id: FN-4138
2026-05-12 17:40:17 -07:00
Fusion
14811ed60d feat(FN-4224): tighten github tracking header to single-row layout in task
Restyles the GitHub tracking header in TaskDetailModal to a compact single-row layout with tighter spacing, adds test coverage for the header layout, and includes a regression verification pass alongside a changeset documenting the change.

Fusion-Task-Id: FN-4224
2026-05-12 17:34:26 -07:00
Fusion
ab66e5b60a feat(FN-4091): fix stale blocker in WorkflowResultsTab
The branch delivers a fix for stale blockers in the WorkflowResultsTab component, with the primary logic change in the component file and comprehensive test coverage added in the companion test suite.

Fusion-Task-Id: FN-4091
2026-05-12 17:24:44 -07:00
Fusion
bddcc3a931 feat(FN-4068): add branch conflict detection and recovery for stale worktre
Implements branch conflict detection and recovery across the Fusion engine, CLI, and dashboard — surfacing git worktree conflicts when tasks conflict with unrelated branch state, and providing a recovery workflow to resolve them. The executor and worktree pool now integrate typed branch conflict che

Fusion-Task-Id: FN-4068
2026-05-12 17:14:29 -07:00
Fusion
ceccc382b1 feat(FN-4131): refactor mission execution loop: remove dead validationTaskI
Removed dead `validationTaskId` plumbing from the mission execution loop and added tests to pin the updated behavior, with documentation for the final delivery step.

Fusion-Task-Id: FN-4131

Fusion-Task-Lineage: 1b1f010a-f520-43a0-9c10-40618b5fbc13
2026-05-12 17:04:33 -07:00
Fusion
6171133189 feat(FN-4136): snapshot pi-autoresearch upstream contract with audit doc an
Implements Step 1 of FN-4136 by snapshotting the upstream pi-autoresearch contract, with supporting test stabilization and audit documentation added.

Fusion-Task-Id: FN-4136
2026-05-12 17:04:33 -07:00
Fusion
fa189e02b3 feat(FN-4109): add aggregate all-agents view to mailbox modal
Adds aggregate mailbox functionality to the MailboxModal, including the plumbing for aggregating participants across all agents, an "all agents" view mode, and corresponding tests. The feature is documented with participant aggregation logic.

Fusion-Task-Id: FN-4109

Fusion-Task-Lineage: 122b19cd-2b14-4f50-836b-e524d3b96a9c
2026-05-12 17:04:33 -07:00
Fusion
900a655ab1 feat(FN-4105): drop bun install from test-shards CI jobs
Removes unused `bun install` steps from two CI workflow files (`ci.yml` and `pr-checks.yml`), cleaning up the test-shards job configuration.

Fusion-Task-Id: FN-4105
2026-05-12 17:04:33 -07:00
Fusion
45732b2890 chore(FN-4105): remove Bun setup from sharded CI jobs
- Remove the Bun install step from the deterministic test shard job in .github/workflows/ci.yml
- Remove the matching Bun install step from the PR checks shard job in .github/workflows/pr-checks.yml
- Keep shard test execution on the shared setup-node-pnpm action only

Fusion-Task-Id: FN-4105
2026-05-12 17:04:33 -07:00
Fusion
d5dcf4494b feat(FN-4213): keep github tracking header aligned to single row
Completes the GitHub tracking header alignment work in the TaskDetailModal with CSS adjustments to keep the header properly aligned, along with corresponding test coverage. The changeset prepares the `@runfusion/fusion` package for release as a patch.

Fusion-Task-Id: FN-4213
2026-05-12 17:04:33 -07:00
Fusion
738d69fb82 feat(FN-4119): add stale heartbeat run reaper to prevent engine blockage
Implements a stale heartbeat reaper in the engine that detects and cleans up heartbeat runs exceeding their timeout, preventing blocked heartbeat cycles from stalling agent activity. Includes comprehensive tests for the reaper gates and documentation of the feature in agents.md.

Fusion-Task-Id: FN-4119
2026-05-12 17:04:33 -07:00
Fusion
0bca14fb72 feat(FN-4194): add reconciliation script for identity resolution
Adds a reconciliation script for FN-3909 identity issues, includes comprehensive tests verifying the workflow, and documents the process in the storage guide.

Fusion-Task-Id: FN-4194
2026-05-12 17:04:33 -07:00
Fusion
55663219c1 feat(FN-4069): add direct merge commit routing to merger
Adds direct merge commit routing to the merger, allowing non-squash merges to bypass the squash-audit path when configured. The feature includes new `mergeCommitStrategy` settings, updated dashboard UI, expanded merger lifecycle tests, and documentation.

Fusion-Task-Id: FN-4069
2026-05-12 17:04:33 -07:00
Fusion
59c5ebb5d1 feat(FN-4151): add mobile layout contract test for inline editing integrati
Adds a changeset documenting the GitHub tracking mobile layout work (FN-4151), accompanied by a mobile layout contract test for inline editing and integrations in the dashboard.

Fusion-Task-Id: FN-4151
2026-05-12 17:04:33 -07:00
Fusion
61b670acce feat(FN-4200): prevent failed tasks from blocking overlap dispatch in sched
The scheduler now excludes failed review tasks from blocking overlap dispatch, preventing stuck tasks from stalling downstream work. A CSS fix prevents the failed badge from incorrectly overriding the in-review status in the list view, with tests covering both the scheduler logic and the badge displ

Fusion-Task-Id: FN-4200
2026-05-12 17:04:33 -07:00
Fusion
ba86e7a0de feat(FN-4104): wrap workflow result headers and warn on overlapping in-prog
Adds warning logic when overlapping in-progress step updates occur, and wraps workflow result table headers with proper text handling and styling in the dashboard UI.

Fusion-Task-Id: FN-4104
2026-05-12 17:04:33 -07:00
Fusion
ab4242257a feat(FN-4055): add task ID collision audit script and recovery documentatio
Adds a standalone audit script for detecting task ID collisions, a regression test for store creation collision handling, and documentation of the recovery path; also applies minor UX refinements to ChatView and TaskDetailModal.

Fusion-Task-Id: FN-4055
2026-05-12 17:04:33 -07:00
Fusion
9ac213a16a feat(FN-4189): lift chat input height cap and add autosize behavior
Lifts the chat input height cap and enables auto-resize as the user types, improving the chat UX in `@fusion/dashboard`. Includes test coverage for the autosize behavior and a changeset for the `@runfusion/fusion` package.

Fusion-Task-Id: FN-4189
2026-05-12 17:04:33 -07:00
Fusion
d518bcf516 feat(FN-4100): refactor ci workflows to use reusable setup-node-pnpm compos
Refactors GitHub Actions workflow setup into a reusable composite action, consolidating repeated setup logic across CI, mobile, release, test-release, and version workflows (176 lines removed). Adds corresponding tests for the workflow configuration.

Fusion-Task-Id: FN-4100
2026-05-12 17:04:33 -07:00
Fusion
1a11369832 feat(FN-4179): optimistically clear room composer on send
Implements optimistic room composer clear in the ChatView, providing instant UI feedback when switching rooms without waiting for server confirmation, with accompanying tests and documentation updates.

Fusion-Task-Id: FN-4179

Fusion-Task-Lineage: 0c3588fa-81ca-464b-b001-506c1756d0ea
2026-05-12 17:04:33 -07:00
Fusion
a159e9772d feat(FN-4184): defer untitled issues in github-tracking until they receive
Add changeset and implementation to defer untitled GitHub tracking issues, with corresponding tests covering the no-title case.

Fusion-Task-Id: FN-4184
2026-05-12 17:04:33 -07:00
gsxdsm
d49e0bae3d fix(FN-4008): expand verificationFixRetries help text to cover both executor and merge contexts 2026-05-12 17:04:33 -07:00
Fusion
5c3170f58c feat(FN-4167): clear paused state in fn_task_done (FN-3964 follow-up)
Fixes a FN-3964 follow-up issue where paused state wasn't being cleared on task completion, adding a test to cover the fn_task_done path.

Fusion-Task-Id: FN-4167
2026-05-12 17:04:33 -07:00
Fusion
a1b71d26a2 feat(FN-4182): keep keyboard open on first tap of mobile room send button
Fixes a mobile UX bug where the keyboard would dismiss when tapping the room send button for the first time, plus adds a regression test in ChatView to guard against this behavior.

Fusion-Task-Id: FN-4182
2026-05-12 17:04:33 -07:00
Fusion
2a26b0d344 feat(FN-4178): add room message notification delivery
This merge implements room message notifications across the system, adding a core room event type, wiring the notification dispatcher to room activity, and delivering notifications via ntfy and webhook providers with updated settings UI and API routes.

Fusion-Task-Id: FN-4178
2026-05-12 17:04:33 -07:00
Fusion
f27ac8bf59 feat(FN-4180): compact room transcript context to reduce token usage
Adds room transcript context compaction (FN-4180) to the dashboard chat layer — widens the fetch window then compacts older messages into a summary window to reduce token overhead while keeping full context recent. Includes a new 127-line test suite covering the compaction logic, a small fix to reus

Fusion-Task-Id: FN-4180

Fusion-Task-Lineage: 9e7e3a32-f2da-4c86-871b-37891f747561
2026-05-12 17:04:33 -07:00
Fusion
efdc6c4625 feat(FN-4139): add swipe-back navigation to chat, mission, and planning flo
Implements swipe-back gesture support for mobile navigation across ChatView, MissionManager, and PlanningModeModal, wired through a shared navigation history context and covered by a comprehensive test suite (~548 lines of swipe-back tests). A small fixup ensures swipe-back behaves correctly when la

Fusion-Task-Id: FN-4139
2026-05-12 17:04:33 -07:00
Fusion
e570b16267 feat(FN-4183): align detail source header in TaskDetailModal
Fixed the chevron/source header top alignment in TaskDetailModal with a CSS adjustment, backed by a new CSS assertion test. Includes a changeset for a patch release of `@runfusion/fusion`.

Fusion-Task-Id: FN-4183
2026-05-12 17:04:33 -07:00
Fusion
c57cd7ce0f feat(FN-4161): preserve github tracking detail after restart
Fixed GitHub issue tracking details (URL, repo, issue number) being lost when an executor restarts mid-task, with tests and docs to guard against regression.

Fusion-Task-Id: FN-4161
2026-05-12 17:04:32 -07:00
Fusion
bfa3278742 feat(FN-4144): add GitHub tracking indicator to task cards
Adds a GitHub link indicator to task cards with styling and hover behavior, accompanied by tests to cover the new icon display logic.

Fusion-Task-Id: FN-4144
2026-05-12 17:04:32 -07:00
Fusion
11e9d5b2b6 feat(FN-4135): add always-on web search with locked provider setting
Adds always-on web search capability to the research system, locking the web search provider in settings UI and updating the ResearchView to surface web search as a persistent toggle with agent tool integration, plus corresponding docs and test coverage.

Fusion-Task-Id: FN-4135
2026-05-12 17:04:32 -07:00