Commit Graph

4807 Commits

Author SHA1 Message Date
Fusion
b536d92d9c fix(FN-4249): align running-agent reconciliation with taskId linkage
Fusion-Task-Id: FN-4249
Fusion-Task-Lineage: e0052fae-38e1-4d66-8240-43d26f5790bb
2026-05-13 06:29:33 -07:00
Fusion
53aa1e90f1 feat(FN-4249): complete Step 4 — document invariant and add changeset
Fusion-Task-Id: FN-4249
Fusion-Task-Lineage: e0052fae-38e1-4d66-8240-43d26f5790bb
2026-05-13 06:29:33 -07:00
Fusion
09637bee8f feat(FN-4249): complete Step 3 — add running-agent mismatch self-healing
Fusion-Task-Id: FN-4249
Fusion-Task-Lineage: e0052fae-38e1-4d66-8240-43d26f5790bb
2026-05-13 06:29:33 -07:00
Fusion
081bb74939 test(FN-4249): address Step 2 review typing feedback
Fusion-Task-Id: FN-4249
Fusion-Task-Lineage: e0052fae-38e1-4d66-8240-43d26f5790bb
2026-05-13 06:29:33 -07:00
Fusion
7006a083d0 fix(FN-4249): complete Step 2 — rollback running agents on overlap requeue
Fusion-Task-Id: FN-4249
Fusion-Task-Lineage: e0052fae-38e1-4d66-8240-43d26f5790bb
2026-05-13 06:29:33 -07:00
Fusion
eff7028d9e test(FN-4249): complete Step 1 — reproduce overlap requeue mismatch
Fusion-Task-Id: FN-4249
Fusion-Task-Lineage: e0052fae-38e1-4d66-8240-43d26f5790bb
2026-05-13 06:29:33 -07:00
Fusion
72a58a7752 test(FN-4264): add file path wrapping regression coverage
- Add a dashboard filePathLinkify regression test for long file path buttons
- Verify file path links render with wrapping-friendly computed styles
- Guard against inline-flex rendering that would prevent long paths from wrapping

Fusion-Task-Id: FN-4264
2026-05-12 23:09:38 -07:00
gsxdsm
8b5df5c79d chore(release): v0.28.1
Version bump via changesets.
2026-05-12 23:05:47 -07:00
gsxdsm
33a1a9df1e fix: drop false-positive committed_reservation_for_existing_id integrity check
The rule flagged every committed reservation pointing at an existing task ID
as an anomaly, but that's the happy-path steady state — reservations
transition to `committed` immediately after the task row is inserted, so a
committed reservation is always expected to reference an existing task. On
any node with task history, the dashboard banner fired with hundreds of
"affected" IDs and the store emitted a spurious `[task-id-integrity] anomaly
detected` error log.

Removes the rule, its type/label/reader, and updates tests (core regression
guard now asserts committed reservations don't trigger anomalies; dashboard
server-test fixtures use a still-valid anomaly kind).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-12 23:04:56 -07:00
gsxdsm
585e47e35a Delete .fusion/tasks/FN-4137 directory 2026-05-12 22:55:14 -07:00
gsxdsm
b967967e90 chore(release): v0.28.0
Version bump via changesets.
2026-05-12 22:53:17 -07:00
Fusion
68f9fb2e6c fix(FN-4258): add changeset for task card GitHub icon anchor
- Add a patch changeset for @runfusion/fusion
- Document the dashboard task card update that anchors the GitHub linked/imported indicator to the bottom-right corner
- Preserve note of existing link behavior and accessibility metadata in release notes

Fusion-Task-Id: FN-4258
2026-05-12 22:52:01 -07:00
Fusion
0de04afeeb feat(FN-4187): fix mobile swipe-back navigation into PlanningMode detail pa
Merged PlanningModeModal swipe-back and New Session handling: the feature commits wire key swipe-back gestures to control mobile detail-pane visibility and document the nav trigger rule, while the test commit adds coverage for New Session and mobile swipe-back regressions.

Fusion-Task-Id: FN-4187
2026-05-12 22:52:01 -07:00
Fusion
c5c62472d8 feat(FN-4175): add integration tests for workflow runtime registration cont
Adds test coverage for workflow registration, integration contract, and runtime export surface across three test files.

Fusion-Task-Id: FN-4175
2026-05-12 22:52:01 -07:00
Fusion
6976911ec5 feat(FN-4173): enable always-on web search in ResearchView
Adds a changeset for a minor feature that locks the web search provider UI as always-on in ResearchView, with corresponding component and test updates.

Fusion-Task-Id: FN-4173
2026-05-12 22:52:01 -07:00
Fusion
1aa9c6c01f feat(FN-4169): wrap plugin detail errors in PluginManager
Wraps plugin detail errors in PluginManager with proper error boundaries, accompanied by 32 lines of new test coverage. The CSS change is a single token addition.

Fusion-Task-Id: FN-4169
2026-05-12 22:52:01 -07:00
Fusion
6417f00e9d feat(FN-4163): make github tracking enable button compact on desktop
Adds compact desktop styling for the GitHub tracking enable button in the task detail modal, with a new CSS regression test covering the button styling.

Fusion-Task-Id: FN-4163
2026-05-12 22:52:01 -07:00
Fusion
91f15e0744 feat(FN-4140): land settings modal to general section by default
Adds a changeset for a patch and updates the SettingsModal to default to the "general" section on open, with tests covering the section routing behavior.

Fusion-Task-Id: FN-4140
2026-05-12 22:52:01 -07:00
Fusion
3a4397215b feat(FN-4231): restore mobile scroll in AgentDetailView
Restored mobile scroll behavior in AgentDetailView with a CSS fix and added a regression test to guard against future breakage.

Fusion-Task-Id: FN-4231
2026-05-12 22:52:01 -07:00
Fusion
25e76d61da feat(FN-4227): add clickable file path links across dashboard
- Add reusable file path linkification utilities and FileBrowser context wiring across dashboard modals and log surfaces
- Linkify task detail, review, workflow, chat, activity, agent, dev server, and settings sync outputs so workspace paths open in the file browser
- Preserve inline code styling when wrapping detected paths and extend FileBrowserModal handling for linked navigation
- Cover the new linking behavior with dashboard tests and add a changeset plus AGENTS guidance for the reusable pattern

Fusion-Task-Id: FN-4227
2026-05-12 21:55:43 -07:00
Fusion
173bae9d2c feat(FN-4108): persist scope override fields (+4 more)
Commits merged:
- test(FN-4073): finalize invariant regression coverage
- feat(FN-4073): complete Step 4 — document merge invariant
- feat(FN-4073): complete Step 3 — enforce squash file-scope invariant
- feat(FN-4073): complete Step 2 — add file-scope invariant helper
- feat(FN-4073): complete Step 1 — persist scope override fields

Files changed:
.changeset/FN-4073-file-scope-invariant.md         |   9 +
 AGENTS.md                                          |   6 +
 packages/core/src/__tests__/store-update.test.ts   |  18 ++
 packages/core/src/db.ts                            |   2 +
 packages/core/src/store.ts                         |  34 +-
 packages/core/src/types.ts                         |   8 +
 .../__tests__/merger-file-scope-invariant.test.ts  | 357 +++++++++++++++++++++
 .../engine/src/__tests__/merger-test-helpers.ts    |   5 +
 packages/engine/src/merger.ts                      | 155 ++++++++-
 9 files changed, 582 insertions(+), 12 deletions(-)

Fusion-Task-Id: FN-4108
2026-05-12 21:52:58 -07:00
Fusion
3f5a2fcbf3 feat(FN-4244): add no-task heartbeat procedure override
Merged FN-4244: adds an override path for the no-task heartbeat procedure in the engine, allowing agents to execute a custom procedure when they have no active task. The fix commit corrects the initial implementation, with test coverage for procedure source selection and updated documentation in `do

Fusion-Task-Id: FN-4244

Fusion-Task-Lineage: 6bf1bfe4-de2c-4467-93dc-d90231a53eb2
2026-05-12 21:45:34 -07:00
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