Commit Graph

5170 Commits

Author SHA1 Message Date
Fusion
631a70536f test(FN-4275): complete Step 4 — add research layout regressions
Fusion-Task-Id: FN-4275
Fusion-Task-Lineage: 73857412-928d-4c51-8113-2ac5ce811d04
2026-05-13 06:29:34 -07:00
Fusion
4866755cd5 feat(FN-4275): complete Step 2 — group project research limits
Fusion-Task-Id: FN-4275
Fusion-Task-Lineage: 73857412-928d-4c51-8113-2ac5ce811d04
2026-05-13 06:29:34 -07:00
Fusion
4b08dfc9e2 feat(FN-4275): complete Step 1 — tighten global research layout
Fusion-Task-Id: FN-4275
Fusion-Task-Lineage: 73857412-928d-4c51-8113-2ac5ce811d04
2026-05-13 06:29:33 -07:00
Fusion
6f976d3933 feat(FN-4266): complete Step 6 — add changeset
Ref: Runfusion/Fusion#216
Fusion-Task-Id: FN-4266
Fusion-Task-Lineage: 4105d2eb-f3d8-4297-9b49-bf7e5a2906be
2026-05-13 06:29:33 -07:00
Fusion
b50e597deb test(FN-4266): update daemon routing expectations
Ref: Runfusion/Fusion#216
Fusion-Task-Id: FN-4266
Fusion-Task-Lineage: 4105d2eb-f3d8-4297-9b49-bf7e5a2906be
2026-05-13 06:29:33 -07:00
Fusion
f63f95263b docs(FN-4266): complete Step 4 — document headless auto-register
Ref: Runfusion/Fusion#216
Fusion-Task-Id: FN-4266
Fusion-Task-Lineage: 4105d2eb-f3d8-4297-9b49-bf7e5a2906be
2026-05-13 06:29:33 -07:00
Fusion
340500e4e9 test(FN-4266): align serve auto-register coverage
Ref: Runfusion/Fusion#216
Fusion-Task-Id: FN-4266
Fusion-Task-Lineage: 4105d2eb-f3d8-4297-9b49-bf7e5a2906be
2026-05-13 06:29:33 -07:00
Fusion
f19ccb8b34 feat(FN-4266): complete Step 3 — mirror auto-register in daemon
Ref: Runfusion/Fusion#216
Fusion-Task-Id: FN-4266
Fusion-Task-Lineage: 4105d2eb-f3d8-4297-9b49-bf7e5a2906be
2026-05-13 06:29:33 -07:00
Fusion
366816ea79 feat(FN-4266): complete Step 1 — add shared auto-registration helper
Ref: Runfusion/Fusion#216
Fusion-Task-Id: FN-4266
Fusion-Task-Lineage: 4105d2eb-f3d8-4297-9b49-bf7e5a2906be
2026-05-13 06:29:33 -07:00
Fusion
8e0f3d448d feat(FN-4270): complete Step 5 — add delivery changeset
Fusion-Task-Id: FN-4270
Fusion-Task-Lineage: 6e346590-2dd5-43cd-912f-9f9cbfb3421a
2026-05-13 06:29:33 -07:00
Fusion
ec3696f6dd test(FN-4270): complete Step 3 — add file path link style regression
Fusion-Task-Id: FN-4270
Fusion-Task-Lineage: 6e346590-2dd5-43cd-912f-9f9cbfb3421a
2026-05-13 06:29:33 -07:00
Fusion
1e6bee2d29 feat(FN-4270): complete Step 2 — inherit file link text styling
Fusion-Task-Id: FN-4270
Fusion-Task-Lineage: 6e346590-2dd5-43cd-912f-9f9cbfb3421a
2026-05-13 06:29:33 -07:00
Fusion
53c08b55a4 feat(FN-4250): ensure FileBrowserProvider wraps all App branches with tests
Refactored App.tsx to ensure FileBrowserProvider wraps all render branches, with a new test verifying the coverage. A design doc was added to document the approach, and vitest config received a minor adjustment.

Fusion-Task-Id: FN-4250
2026-05-13 06:29:33 -07:00
Fusion
937aa892cc 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
e03146fd34 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
8f17ab33cd 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
b1ce2272d2 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
fdb11d552e 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
f9c5ff5412 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
4de193b847 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
2c48566eab chore(release): v0.28.1
Version bump via changesets.
2026-05-12 23:05:47 -07:00
gsxdsm
681770fc1c 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
dd528d763b Delete .fusion/tasks/FN-4137 directory 2026-05-12 22:55:14 -07:00
gsxdsm
c55a497852 chore(release): v0.28.0
Version bump via changesets.
2026-05-12 22:53:17 -07:00
Fusion
1d87d77117 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
d084ff452f 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
07f008d4eb 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
cec9bcbd53 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
fb00a1d97b 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
1802fdeb7d 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
f8066c4a06 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
a3d57a9c4f 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
bbd92a1ae1 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
ad45a236fa 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
ac59d5c71d 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
55eeb818a5 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
db919df645 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
0c219ec686 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
392b3d2c90 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
2822781aca 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
7e057a65d2 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
8e9e48881b 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
af39d474d5 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
e6b1108067 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
2881d86bb5 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
162f4daa62 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
a3478718d7 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
d0b1fd01ae 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
0f5a5b5d09 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
8b037e4c7e 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