Commit Graph

1255 Commits

Author SHA1 Message Date
Fusion
954ccba0a8 test(FN-4336): add mobile direct-chat anchor regression coverage
Fusion-Task-Id: FN-4336
Fusion-Task-Lineage: d96c9da9-e355-4dc0-bf8c-451a917b0270
2026-05-13 09:42:34 -07:00
Fusion
bd7544f629 feat(FN-4281): complete Step 4 — add changeset for mobile header fix
Fusion-Task-Id: FN-4281
Fusion-Task-Lineage: fe64ad7e-e0ef-4eda-8023-c080db34d5a9
2026-05-13 09:35:29 -07:00
Fusion
5e564cd079 docs(FN-4308): complete Step 6 — document done-task file aggregation source
Fusion-Task-Id: FN-4308
Fusion-Task-Lineage: d0a46a8f-2245-4ddc-99b4-06d78e87db16
2026-05-13 09:28:08 -07:00
gsxdsm
961f3da8bb feat(FN-4333): emergency hot-fix for post-merge audit blocks
Stop the post-merge audit from parking tasks as `failed` when deterministic
merge verification already proved the merged tree. Adds `postMergeAuditMode`
project setting (`block` | `warn` | `off`, default `block`) and a
verified-tree short-circuit for rebase-strategy overlap-only findings.

- packages/engine/src/merger.ts: new `resolvePostMergeAuditAction` helper
  + audit call site gated on `postMergeAuditMode` and verification-cache
  lookup. Rebase + overlap-only + verified-tree → pass through with a
  short-circuit log entry instead of throwing SquashAuditError.
- packages/core/src/types.ts, settings-schema.ts, index.ts: new
  `PostMergeAuditMode` type, `postMergeAuditMode` field on Settings,
  default `block`, exports `normalizePostMergeAuditMode`.
- packages/engine/src/__tests__/post-merge-audit-action.test.ts: unit
  tests for the decision helper.
- packages/dashboard/app/components/SettingsModal.tsx: settings UI row.
- .changeset: minor bump for @runfusion/fusion.

The FN-3936 silent-drop guard is preserved: duplicate-subject findings
still block in `block` mode and squash-strategy audits still block
(no equivalent deterministic guarantee).

Fusion-Task-Id: FN-4333
2026-05-13 09:06:20 -07:00
Fusion
f6744e018a feat(FN-4327): complete Step 6 — add changeset for direct visibility anchoring
Fusion-Task-Id: FN-4327
Fusion-Task-Lineage: 8508cca0-c7ff-43da-bbf1-385f9bc095ff
2026-05-13 09:06:20 -07:00
Fusion
7f86215a9e feat(FN-4102): add executor durability guard documentation
Adds documentation and a changeset for the executor durability guard feature (FN-4102).

Fusion-Task-Id: FN-4102
2026-05-13 09:06:20 -07:00
Fusion
ca6fe91778 feat(FN-4248): complete Step 5 — add changeset and delivery notes
Fusion-Task-Id: FN-4248
Fusion-Task-Lineage: 90028ba0-6d46-4b61-8458-1f1a4fa27fa8
2026-05-13 09:06:20 -07:00
Fusion
eb015bca39 feat(FN-4306): complete Step 5 — document setting and add changeset
Fusion-Task-Id: FN-4306
Fusion-Task-Lineage: b0ab9b60-de02-40a7-ad8b-0ca18c98e16c
2026-05-13 09:06:20 -07:00
Fusion
86a40dd675 feat(FN-4247): complete Step 4 — add changeset for drafts priority
Fusion-Task-Id: FN-4247
Fusion-Task-Lineage: d0b267a8-1254-4f87-87b8-c9f565fe9950
2026-05-13 09:06:20 -07:00
Fusion
b4b80ac0cb fix(FN-4162): keep GitHub tracking enable button mounted while saving
- Keep the inline GitHub tracking Enable button mounted during save
- Disable the button while showing the in-flight tracking status spinner
- Update dashboard tests to assert the stable mounted-button behavior
- Add a changeset for the published CLI package

Fusion-Task-Id: FN-4162
2026-05-13 06:29:36 -07:00
Fusion
00416c2769 feat(FN-4080): complete Step 4 — document thinking persistence toggles
Fusion-Task-Id: FN-4080
Fusion-Task-Lineage: 086863ba-7100-41ab-9cfc-197301fbcab0
2026-05-13 06:29:36 -07:00
Fusion
a51d14ef83 feat(FN-4259): add release note for exhausted-loop contract
Fusion-Task-Id: FN-4259
Fusion-Task-Lineage: 7a7ca17b-93ce-4319-8461-7d1462a2c0e1
2026-05-13 06:29:36 -07:00
Fusion
5225300c6d chore(FN-4223): add changeset and polish research description test
Fusion-Task-Id: FN-4223
Fusion-Task-Lineage: bc114ff2-ee0f-4e96-b1d2-6ba3112a48e4
2026-05-13 06:29:36 -07:00
Fusion
b514ed0855 feat(FN-4230): complete Step 4 — add changeset
Fusion-Task-Id: FN-4230
Fusion-Task-Lineage: 99ad972d-a633-4905-b8e1-d606f4237b7d
2026-05-13 06:29:35 -07:00
Fusion
8e08891a3c feat(FN-4190): complete Step 7 — tracking UX and summarization discoverability
Fusion-Task-Id: FN-4190
Fusion-Task-Lineage: 5d94a4ad-32fb-4d20-8d04-5d757619f104
2026-05-13 06:29:35 -07:00
Fusion
fb50956351 feat(FN-4214): fix live-log empty-state when agent logs become stale
Fixes a live-log empty-state regression in the workflow results tab by adding test coverage for the stale agent-log case, with a changeset prepared to publish the patch.

Fusion-Task-Id: FN-4214

Fusion-Task-Lineage: da180434-6d1d-497e-8f5a-f29d07a874f2
2026-05-13 06:29:35 -07:00
Fusion
e43cdd2158 fix(FN-4114): normalize invariant requeue state and add changeset
Fusion-Task-Id: FN-4114
Fusion-Task-Lineage: 44fd5718-42dc-44d1-8f5a-97b67dd05d13
2026-05-13 06:29:35 -07:00
Fusion
7d12b9e406 feat(FN-4199): complete Step 5 — docs and changeset
Fusion-Task-Id: FN-4199
Fusion-Task-Lineage: fd530f3d-ef2e-4684-ab05-5aaab6856f15
2026-05-13 06:29:35 -07:00
Fusion
d4cac08455 feat(FN-4168): complete Step 6 — document stalled review signal
Fusion-Task-Id: FN-4168
Fusion-Task-Lineage: 781ffc66-cb1c-42b9-85e1-e5cbe0655863
2026-05-13 06:29:35 -07:00
Fusion
fcd70d4c07 fix(FN-4201): add autosize regression coverage and finalize gates
Fusion-Task-Id: FN-4201
Fusion-Task-Lineage: 6bfc2e72-8c11-4e63-b3c7-9245965d2380
2026-05-13 06:29:35 -07:00
Fusion
79cef0111d feat(FN-4092): complete Step 5 — document unavailable recovery contract
Fusion-Task-Id: FN-4092
Fusion-Task-Lineage: fcee3a44-5c36-4899-bf9d-835d36abdf2e
2026-05-13 06:29:35 -07:00
Fusion
a35d4dc547 feat(FN-4121): complete Step 8 — add changeset for org chart layout toggle
Fusion-Task-Id: FN-4121
Fusion-Task-Lineage: aa8b8ab7-c250-4ce5-b42e-7b7a2ba920b1
2026-05-13 06:29:35 -07:00
Fusion
539c730630 feat(FN-4174): complete Step 4 — add changeset for always-on web search row
Fusion-Task-Id: FN-4174
Fusion-Task-Lineage: 8b50a52b-dc3a-448d-998b-09023fbdd9af
2026-05-13 06:29:34 -07:00
Fusion
0e7bd5c833 feat(FN-4217): complete Step 5 — document in-review stall signal
Fusion-Task-Id: FN-4217
Fusion-Task-Lineage: f5434e90-ad0c-41c5-bee9-1244cb69622b
2026-05-13 06:29:34 -07:00
Fusion
c8a00ad10b feat(FN-4257): run durable heartbeat task sessions in worktree
Fusion-Task-Id: FN-4257
Fusion-Task-Lineage: db48d51e-9e7d-471d-b26b-2a8763fb41d1
2026-05-13 06:29:34 -07:00
Fusion
82011579e9 feat(FN-4153): complete Steps 7-8 — verify gates and document toggle
Fusion-Task-Id: FN-4153
Fusion-Task-Lineage: 6ec09467-c7a0-4a9d-9a09-16d5ef6f7a86
2026-05-13 06:29:34 -07:00
Fusion
fb5bf9bf7b feat(FN-4228): complete Step 5 — add changeset
Fusion-Task-Id: FN-4228
Fusion-Task-Lineage: 86a2aac1-a45f-4cb0-b004-a95db3676355
2026-05-13 06:29:34 -07:00
Fusion
459ce24e3a feat(FN-4171): complete Step 4 — add changeset for error wrap fix
Fusion-Task-Id: FN-4171
Fusion-Task-Lineage: ec60e8bb-4fab-4b3b-a0d9-51d9ba3d2041
2026-05-13 06:29:34 -07:00
Fusion
bcc0331159 test(FN-4164): complete Step 3 — guard mobile enable button touch target
Fusion-Task-Id: FN-4164
Fusion-Task-Lineage: 7e3ea70f-c2e7-40c5-9de8-d8d3ab67c513
2026-05-13 06:29:34 -07:00
Fusion
b3f9a8ac91 feat(FN-4271): create tracking issue for github-imported tasks
Adds a tracking issue mechanism for GitHub-imported tasks, creating an internal Fusion task to track the import lifecycle. The TaskCard component gains visibility into tracking status, backed by new tests in both TaskCard and GitHub tracking modules.

Fusion-Task-Id: FN-4271
2026-05-13 06:29:34 -07:00
Fusion
eb1e4e61c2 feat(FN-4241): close stale merging fanout recovery gap in self-healing
Closes a gap in the stale merging fanout recovery path by adding recovery logic in the self-healing module, backed by unit tests covering the new behavior.

Fusion-Task-Id: FN-4241
2026-05-13 06:29:34 -07:00
Fusion
6c0a0f4bab feat(FN-4267): complete Step 4 — add release changeset
Fusion-Task-Id: FN-4267
Fusion-Task-Lineage: fc79d0e6-f30d-4a5c-84f3-33aac4cda1a4
2026-05-13 06:29:34 -07:00
Fusion
8240a29551 feat(FN-4255): complete Step 4 — add docs and release note
Fusion-Task-Id: FN-4255
Fusion-Task-Lineage: 315c5491-0e27-46cb-8474-fda9bb3a0eff
2026-05-13 06:29:34 -07:00
Fusion
b5905dc20d feat(FN-4275): complete Step 6 — add delivery metadata
Fusion-Task-Id: FN-4275
Fusion-Task-Lineage: 73857412-928d-4c51-8113-2ac5ce811d04
2026-05-13 06:29:34 -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
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
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
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
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
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
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
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
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