Commit Graph

253 Commits

Author SHA1 Message Date
Fusion (runfusion.ai)
befbc51237 feat(FN-4748): complete Step 6 — docs and release notes
Fusion-Task-Id: FN-4748
Fusion-Task-Lineage: b540f985-c20f-438e-8290-a07531c6612c
2026-05-16 10:31:44 -07:00
Fusion (runfusion.ai)
2a802ab4c8 feat(FN-4748): complete Step 4 — add startup github tracking reconciliation
Fusion-Task-Id: FN-4748
Fusion-Task-Lineage: b540f985-c20f-438e-8290-a07531c6612c
2026-05-16 10:31:44 -07:00
Fusion (runfusion.ai)
e9933cfa94 feat(FN-4748): complete Step 3 — attach tracking state service to all project stores
Fusion-Task-Id: FN-4748
Fusion-Task-Lineage: b540f985-c20f-438e-8290-a07531c6612c
2026-05-16 10:31:44 -07:00
Fusion (runfusion.ai)
61e14fd230 feat(FN-4750): complete Step 1 — unionize settings diff keys
Fusion-Task-Id: FN-4750
Fusion-Task-Lineage: 54b3e35f-ef34-469a-aa9f-6d7fe9e79f27
2026-05-16 10:18:40 -07:00
Fusion (runfusion.ai)
698e8c272a feat(FN-4739): complete Step 3 — add room transcript clear route
Fusion-Task-Id: FN-4739
Fusion-Task-Lineage: fc120dfa-d1b2-4065-9595-d0bc6304d2af
2026-05-16 09:56:54 -07:00
Fusion (runfusion.ai)
ad1caa0445 feat(FN-4735): complete Step 1 — backend recent issues endpoint
Fusion-Task-Id: FN-4735
Fusion-Task-Lineage: e171d3ca-d415-4f4d-8ec0-d94ca97f1aab
2026-05-16 09:21:06 -07:00
Fusion (runfusion.ai)
ef1343f658 feat(FN-4741): prefer rebase range for done task diffs
Fixed diff calculation for done tasks to prefer the rebase range over a stale base commit, resolving incorrect diff output when a task branch has been rebased (FN-4741). Added test coverage for the session diff routes.

Fusion-Task-Id: FN-4741
2026-05-16 09:05:27 -07:00
Fusion (runfusion.ai)
22e0d0d094 refactor(FN-4728): complete Step 3 — migrate tracking call sites
Fusion-Task-Id: FN-4728
Fusion-Task-Lineage: 6e8e9040-0c2f-4290-8905-1c1be8487894
2026-05-16 08:09:07 -07:00
Fusion (runfusion.ai)
6c7b60b6c2 fix(FN-4726): complete Step 2 — fix done-task diff precedence
Fusion-Task-Id: FN-4726
Fusion-Task-Lineage: 9fa3bfd7-f277-4c03-8d1e-6162eb7771b2
2026-05-16 07:48:08 -07:00
Fusion (runfusion.ai)
26915af9a3 feat(FN-4723): complete Step 2 — gate settings API worktrunk enable
Fusion-Task-Id: FN-4723
Fusion-Task-Lineage: b79b42a0-c65d-4e02-938f-d1ffabc272ee
2026-05-16 07:16:05 -07:00
Fusion (runfusion.ai)
c608abb44f feat(FN-4718): complete Step 4 — validate done auto-archive days in settings API
Fusion-Task-Id: FN-4718
Fusion-Task-Lineage: 4553c39c-c174-4993-a4ac-2c8b7d86bda2
2026-05-16 04:44:36 -07:00
Fusion (runfusion.ai)
d733b01925 feat(FN-4702): complete Step 2 — worktrunk approval routes
Fusion-Task-Id: FN-4702
Fusion-Task-Lineage: 378b46bc-2e71-43bf-9ff7-85e7aed8bf85
2026-05-15 23:39:43 -07:00
Fusion (runfusion.ai)
2626f61708 test(FN-4663): add stranded refinement route and store coverage
Fusion-Task-Id: FN-4663
Fusion-Task-Lineage: 80975e9f-51e2-42ee-9f61-5e065a3fed24
2026-05-15 23:28:22 -07:00
Fusion (runfusion.ai)
52b167879b fix(FN-4663): make expedite route persistence-safe and idempotent
Fusion-Task-Id: FN-4663
Fusion-Task-Lineage: 80975e9f-51e2-42ee-9f61-5e065a3fed24
2026-05-15 23:28:22 -07:00
Fusion (runfusion.ai)
1aad59aeb2 feat(FN-4663): complete Step 4 — add stranded refinement API endpoints
Fusion-Task-Id: FN-4663
Fusion-Task-Lineage: 80975e9f-51e2-42ee-9f61-5e065a3fed24
2026-05-15 23:28:22 -07:00
Fusion (runfusion.ai)
10b73d538d feat(FN-4641): complete Step 4 — integrate sandbox provisioning approvals in dashboard
Fusion-Task-Id: FN-4641
Fusion-Task-Lineage: 50ac1fd2-8c88-4a29-9ebb-962a6b5c772c
2026-05-15 22:56:31 -07:00
Fusion (runfusion.ai)
f7a7038582 feat(FN-4690): add tracking coverage for register-task-workflow API routes
Adds test coverage for task operation API routes including workflow tracking endpoints, with minor doc updates and a changeset for the `@runfusion/fusion` package.

Fusion-Task-Id: FN-4690
2026-05-15 21:40:51 -07:00
Fusion (runfusion.ai)
ad73d76586 feat(FN-4640): complete Step 6 — dashboard sandbox audit surface
Fusion-Task-Id: FN-4640
Fusion-Task-Lineage: 4a91265f-1714-4854-b08d-7ddb06074253
2026-05-15 16:19:42 -07:00
Fusion
634ec28706 feat(FN-4620): complete Step 2 — wire planning sessions to board tools
Fusion-Task-Id: FN-4620
Fusion-Task-Lineage: d3d05e54-e137-46ee-bb5d-d71aa03e5a48
2026-05-15 11:47:03 -07:00
Fusion
8032f6c3cc fix(FN-4606): honor configured worktreesDir in runtime and cleanup paths
Ref: Runfusion/Fusion#321
Fusion-Task-Id: FN-4606
Fusion-Task-Lineage: 94b23f37-944e-4bcd-bfa1-67d0a8c0a267
2026-05-15 09:19:58 -07:00
Fusion
947df2753c test(FN-4592): complete Step 2 — cover unpause clearing userPaused
Fusion-Task-Id: FN-4592
Fusion-Task-Lineage: b013a15e-7cd9-4ba4-b380-22627cefb394
2026-05-15 06:32:37 -07:00
Fusion
e240993d5a feat(FN-4583): complete Step 4 — fetch newest chat room message window
Fusion-Task-Id: FN-4583
Fusion-Task-Lineage: 4d9b088d-a705-4376-b547-15b37e5370aa
2026-05-15 02:23:30 -07:00
Fusion
a3ced342cb feat(FN-4577): complete Step 1 — exclude github-copilot redirect rewrite
Fusion-Task-Id: FN-4577
Fusion-Task-Lineage: 11846d04-cbc0-414e-b72d-7feeaaac8a98
2026-05-15 02:03:25 -07:00
Fusion
67f2757c33 feat(FN-4554): complete Step 6 — docs and changeset
Fusion-Task-Id: FN-4554
Fusion-Task-Lineage: 12d517c5-1954-4b27-8c63-c7f0dde93d3f
2026-05-14 22:16:44 -07:00
Fusion
78bb31542e feat(FN-4554): complete Step 2 — server device-code handling
Fusion-Task-Id: FN-4554
Fusion-Task-Lineage: 12d517c5-1954-4b27-8c63-c7f0dde93d3f
2026-05-14 22:16:44 -07:00
gsxdsm
65fc47e141 Merge pull request #223 from corrm/feat/model-auto-detect
feat: auto-detect models from custom providers
2026-05-14 21:35:46 -07:00
Islam Nofl
96311245f7 fix: resolve PR check failures
- SSRF: Add IPv6 private range checks (loopback, ULA, link-local,
  IPv4-mapped) after DNS resolution, closing the IPv6 bypass
- Deduplication: Add Set-based dedup in CustomProvidersSection
  handleDetectModels to prevent duplicate model accumulation
- Bump type: change changeset from patch to minor for new feature
- Reasoning: Narrow Anthropic sonnet reasoning detection to only
  flag models containing both 'sonnet' and 'think'
- Docs: Add JSDoc to all undocumented functions in route file,
  raising docstring coverage above the 80% threshold
- Test: Update sonnet reasoning expectation (standard sonnet is not
  a thinking model)
2026-05-15 07:12:48 +03:00
Fusion
6df38aca8b feat(FN-4527): complete Step 1 — harden done-task diff stats fallback
Fusion-Task-Id: FN-4527
Fusion-Task-Lineage: de75c453-dc86-43d2-9cc5-50b20ee7014d
2026-05-14 18:07:05 -07:00
Fusion
abb7838d3c feat(FN-4518): complete Step 3 — use rebase range in done-task diff fallback
Fusion-Task-Id: FN-4518
Fusion-Task-Lineage: 48749dec-b2c9-484b-a13e-ffacc1fa9014
2026-05-14 17:04:17 -07:00
Fusion
e82f4bc786 test(FN-4530): fix remaining dashboard deep-lane one-off regressions
Fusion-Task-Id: FN-4530
Fusion-Task-Lineage: f98e68fc-de86-473b-b3a2-bcec95dd74c5
2026-05-14 15:05:38 -07:00
Fusion
c1f711b92c test(FN-4530): extend engine mocks for integrated route imports
Fusion-Task-Id: FN-4530
Fusion-Task-Lineage: f98e68fc-de86-473b-b3a2-bcec95dd74c5
2026-05-14 15:05:37 -07:00
Fusion
e41f9dd064 feat(FN-4528): complete Step 2 — fix fallback rename/copy parsing
Fusion-Task-Id: FN-4528
Fusion-Task-Lineage: 40f587b4-6bf3-4ebd-8870-359ac57b42ea
2026-05-14 14:26:25 -07:00
Fusion
c72dc6f3fc feat(FN-4521): complete Step 2 — fix done lineage aggregation
Fusion-Task-Id: FN-4521
Fusion-Task-Lineage: 675472a2-480d-4b9e-8861-98d2d82680db
2026-05-14 14:04:32 -07:00
Fusion
b7e8a9fc00 feat(FN-4521): complete Step 1 — fix patch line counting
Fusion-Task-Id: FN-4521
Fusion-Task-Lineage: 675472a2-480d-4b9e-8861-98d2d82680db
2026-05-14 14:04:32 -07:00
Fusion
8c02682a13 feat(FN-4488): complete Step 3 — API custom permission rules
Fusion-Task-Id: FN-4488
Fusion-Task-Lineage: 3fc1ac43-490f-43f2-a27e-4fdceb64d9c4
2026-05-14 13:16:09 -07:00
Fusion
baadd0254b fix(FN-4522): complete Step 3 — verification and type compatibility
Fusion-Task-Id: FN-4522
Fusion-Task-Lineage: fbaedf11-6bc6-4c77-91b0-6b1ef606d81f
2026-05-14 13:11:22 -07:00
Fusion
2ed6753555 feat(FN-4522): complete Step 2 — resolve done-task merge sha fallbacks
Fusion-Task-Id: FN-4522
Fusion-Task-Lineage: fbaedf11-6bc6-4c77-91b0-6b1ef606d81f
2026-05-14 13:11:22 -07:00
Fusion
bb64d1cd35 feat(FN-4522): complete Step 1 — fix rename/copy parsing
Fusion-Task-Id: FN-4522
Fusion-Task-Lineage: fbaedf11-6bc6-4c77-91b0-6b1ef606d81f
2026-05-14 13:11:22 -07:00
Fusion
a0f2bc530a feat(FN-4429): complete Step 1 — plumb moveSource and userPaused
Fusion-Task-Id: FN-4429
Fusion-Task-Lineage: b010437b-0e58-43f6-81b3-40dcebbf0873
2026-05-14 10:31:49 -07:00
Fusion
8e869c9a0c feat(FN-4371): complete Step 1 — schema and persistence
Fusion-Task-Id: FN-4371
Fusion-Task-Lineage: 4175ba4c-b7cb-4f3a-87c5-75e51f06c0ff
2026-05-14 09:59:15 -07:00
Islam Nofl
e9b8111d93 fix: re-throw ApiError in SSRF catch block so private-IP guards actually work
The bare catch {} swallowed the ApiError thrown by the private-IP
checks, defeating the entire DNS-based SSRF protection. Now catches
and re-throws ApiError so security rejections propagate correctly;
only DNS-lookup failures fall through.
2026-05-14 17:32:22 +03:00
Islam Nofl
55c35cf611 fix: Google provider save after model detection, SSRF protection, PR review fixes
- Add google-generative-ai to CustomProvider.apiType union type
- Update assertApiType to accept google-generative-ai in create/update
- Fix createCustomProvider mapping in legacy.ts for Google type
- Fix fetchCustomProviders mapping for Google type
- Add google-generative-ai to CustomProvidersSection API_TYPES
- Add SSRF protection to probeProviderModels (block private/loopback)
- Add body validation to probe-models route handler
- Update stale JSDoc in legacy.ts
2026-05-14 16:56:11 +03:00
Fusion
6b2607dae5 feat(FN-4400): complete Step 7 — add prompt-size api and dashboard sparkline
Fusion-Task-Id: FN-4400
Fusion-Task-Lineage: 0d4f9c48-5b8b-49eb-9cf3-d1d585ffe7fc
2026-05-14 04:32:43 -07:00
Fusion
81b1eae394 feat(FN-4222): add experiment-finalize CLI command and API route
Implements the `experiment-finalize` CLI command (FN-4222) and its companion dashboard API route, wiring the feature through the pi extension as a new callable tool. Includes the command implementation, extension tooling, API integration, and corresponding test coverage.

Fusion-Task-Id: FN-4222
2026-05-14 04:25:06 -07:00
Fusion
1d278ffa19 fix(FN-4436): complete Step 3 — harden aggregation and in-progress patches
Fusion-Task-Id: FN-4436
Fusion-Task-Lineage: df683800-0108-4415-a496-81481082284d
2026-05-13 23:30:32 -07:00
Fusion
cb3519500d feat(FN-4436): complete Step 2 — restore done fallback enumeration
Fusion-Task-Id: FN-4436
Fusion-Task-Lineage: df683800-0108-4415-a496-81481082284d
2026-05-13 23:30:32 -07:00
Fusion
444a076ff7 feat(FN-4388): complete Step 3 — add agent token usage API route
Fusion-Task-Id: FN-4388
Fusion-Task-Lineage: 7497a0a1-5edb-4778-b339-118d1fd668f7
2026-05-13 22:41:29 -07:00
Fusion
f3f030f194 feat(FN-4425): complete Step 3 — add diff and file-diffs branch fallbacks
Fusion-Task-Id: FN-4425
Fusion-Task-Lineage: 5e45b534-6a18-4f27-81d9-88cce3ec9344
2026-05-13 21:47:29 -07:00
Fusion
d81a848384 feat(FN-4425): complete Step 2 — add session-files branch fallback
Fusion-Task-Id: FN-4425
Fusion-Task-Lineage: 5e45b534-6a18-4f27-81d9-88cce3ec9344
2026-05-13 21:47:29 -07:00
Fusion
0de31233a6 feat(FN-4425): complete Step 1 — add root-branch diff-base helper
Fusion-Task-Id: FN-4425
Fusion-Task-Lineage: 5e45b534-6a18-4f27-81d9-88cce3ec9344
2026-05-13 21:47:28 -07:00