Fusion
92721f41f5
test(FN-4647): complete Step 5 — add done-task diff labeling regressions
...
Fusion-Task-Id: FN-4647
Fusion-Task-Lineage: c86304d4-ff28-478a-a254-8ddaeca53447
2026-05-15 12:07:52 -07:00
Fusion
af6dfdbcb8
fix(FN-4620): resolve workspace lint regressions
...
Fusion-Task-Id: FN-4620
Fusion-Task-Lineage: d3d05e54-e137-46ee-bb5d-d71aa03e5a48
2026-05-15 11:47:04 -07:00
Fusion
dd6cf58505
test(FN-4620): complete Step 6 — wire board tools assertions
...
Fusion-Task-Id: FN-4620
Fusion-Task-Lineage: d3d05e54-e137-46ee-bb5d-d71aa03e5a48
2026-05-15 11:47:03 -07:00
Fusion
808103b5ad
feat(FN-4620): complete Step 4 — add milestone/slice interview board tools
...
Fusion-Task-Id: FN-4620
Fusion-Task-Lineage: d3d05e54-e137-46ee-bb5d-d71aa03e5a48
2026-05-15 11:47:03 -07:00
Fusion
0e44bd81c7
feat(FN-4620): complete Step 3 — add mission interview board tools
...
Fusion-Task-Id: FN-4620
Fusion-Task-Lineage: d3d05e54-e137-46ee-bb5d-d71aa03e5a48
2026-05-15 11:47:03 -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
f522d79e5b
feat(FN-4620): complete Step 1 — add shared planning board tools
...
Fusion-Task-Id: FN-4620
Fusion-Task-Lineage: d3d05e54-e137-46ee-bb5d-d71aa03e5a48
2026-05-15 11:47:03 -07:00
Fusion
fc5061afdd
feat(FN-4608): complete Step 2 — handle empty-sample reliability days
...
Fusion-Task-Id: FN-4608
Fusion-Task-Lineage: 6cabc509-38a1-4cb8-be6f-51c53d5753ff
2026-05-15 09:52:57 -07:00
Fusion
18115553d6
feat(FN-4608): complete Step 1 — persist reliability reset baseline
...
Fusion-Task-Id: FN-4608
Fusion-Task-Lineage: 6cabc509-38a1-4cb8-be6f-51c53d5753ff
2026-05-15 09:52:57 -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
gsxdsm
d197938967
fix: enable web tools in planning interviews
2026-05-15 09:08:05 -07:00
Fusion
07c1de77ca
test(FN-4604): complete Step 3 — cover interview milestone acceptance derivation
...
Fusion-Task-Id: FN-4604
Fusion-Task-Lineage: 71752cd0-eadb-4434-a2a3-d9fff562ea63
2026-05-15 07:45:49 -07:00
Fusion
56782d989c
feat(FN-4604): complete Step 2 — wire interview milestone acceptance derivation
...
Fusion-Task-Id: FN-4604
Fusion-Task-Lineage: 71752cd0-eadb-4434-a2a3-d9fff562ea63
2026-05-15 07:45:49 -07:00
Fusion
56d7bfb564
feat(FN-4579): complete Step 2 — milestone acceptance criteria in mission routes
...
Fusion-Task-Id: FN-4579
Fusion-Task-Lineage: b0f3b436-599f-4b7b-a598-b8789e0e4cb7
2026-05-15 06:42:13 -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
b82341739b
feat(FN-4578): complete Step 4 — support milestone acceptance criteria patch
...
Fusion-Task-Id: FN-4578
Fusion-Task-Lineage: 1be0fa08-4d83-4988-a218-326225dfe4b5
2026-05-15 03:07:36 -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
7c0e661e56
fix(FN-4583): route scoped dashboard chat through engine chat store
...
Fusion-Task-Id: FN-4583
Fusion-Task-Lineage: 4d9b088d-a705-4376-b547-15b37e5370aa
2026-05-15 02:23:27 -07:00
Fusion
57e24151f4
test(FN-4577): align copilot oauth rewrite coverage
...
Fusion-Task-Id: FN-4577
Fusion-Task-Lineage: 11846d04-cbc0-414e-b72d-7feeaaac8a98
2026-05-15 02:03:25 -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
b2306e88d9
chore(FN-4527): complete Steps 4-5 — verify gates and add changeset
...
Fusion-Task-Id: FN-4527
Fusion-Task-Lineage: de75c453-dc86-43d2-9cc5-50b20ee7014d
2026-05-14 18:07:05 -07: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
55903924ac
chore(FN-4524): finalize regression coverage and changeset
...
Fusion-Task-Id: FN-4524
Fusion-Task-Lineage: 7e35e3de-8565-4d78-ac93-e4f3cc24f536
2026-05-14 17:35:02 -07:00
Fusion
3763535935
test(FN-4524): add done-task diff regression coverage
...
Fusion-Task-Id: FN-4524
Fusion-Task-Lineage: 7e35e3de-8565-4d78-ac93-e4f3cc24f536
2026-05-14 17:35:02 -07:00
Fusion
d9f81099fb
feat(FN-4518): complete Step 4 — carry rebase base through self-healing
...
Fusion-Task-Id: FN-4518
Fusion-Task-Lineage: 48749dec-b2c9-484b-a13e-ffacc1fa9014
2026-05-14 17:04:17 -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
0e5a72bf98
test(FN-4530): align chat manager prompt and room store test fakes
...
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
23bb578ae4
test(FN-4528): add fallback rename/copy diff coverage
...
Fusion-Task-Id: FN-4528
Fusion-Task-Lineage: 40f587b4-6bf3-4ebd-8870-359ac57b42ea
2026-05-14 14:26:25 -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
cf5b21992c
fix(FN-4488): align policy preset tests with custom preset
...
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
95d742abb3
feat(FN-4468): add workflow step gateMode advisory gating
...
Adds an "advisory" `gateMode` option for workflow steps: steps in advisory mode log findings but no longer block merge completion, while steps that must block can still be configured as blocking. The change covers the workflow step types and schema, executor gating logic, dashboard UI in WorkflowSte
Fusion-Task-Id: FN-4468
2026-05-14 05:35:12 -07:00
Fusion
7b68913bf5
test(FN-4191): complete Step 5 — cover configurable compaction behavior
...
Fusion-Task-Id: FN-4191
Fusion-Task-Lineage: 00fddcfc-e136-41a5-84b1-b6f53b1692cb
2026-05-14 05:07:30 -07:00
Fusion
73be74ddd6
feat(FN-4191): complete Step 3 — wire compaction settings into chat manager
...
Fusion-Task-Id: FN-4191
Fusion-Task-Lineage: 00fddcfc-e136-41a5-84b1-b6f53b1692cb
2026-05-14 05:07:29 -07:00
Fusion
2d0049d727
fix(FN-4460): preserve optional accessor guard for mocked task stores
...
Fusion-Task-Id: FN-4460
Fusion-Task-Lineage: 68204f34-f9ab-4714-936f-0bf4472432f0
2026-05-14 04:42:32 -07:00