Fusion
73c17f3492
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
ed2f52eaaf
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
6ab46aa983
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
c0f99b5e6f
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
816575c4a9
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
dab6cf51d0
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
97f6558c8a
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
6eae623afa
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
60442c6e87
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
c9aabcc061
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
990fea9f02
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
1f0193b783
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
ffab1333e9
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
581b3e7398
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
dfac7de77d
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
203391f654
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
2bbc560a21
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
9a7736a81f
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
914b522087
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
44c6b1a308
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
a42cf485ee
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
0e798a484f
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
d9354e5a6e
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
bf6d3544da
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
f8b7dbe318
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
bbb6d9c55b
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
7a1d39c7f0
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
9938889e55
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
ca269dbc76
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
92fff23af7
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
Fusion
945c58d029
feat(FN-4460): complete Step 1 — consolidate dashboard store accessor
...
Fusion-Task-Id: FN-4460
Fusion-Task-Lineage: 68204f34-f9ab-4714-936f-0bf4472432f0
2026-05-14 04:42:32 -07:00
Fusion
0932e81cfc
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
034528cee4
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
2c69a4424d
test(FN-4436): complete Step 4 — add unreachable and rename diff coverage
...
Fusion-Task-Id: FN-4436
Fusion-Task-Lineage: df683800-0108-4415-a496-81481082284d
2026-05-13 23:30:32 -07:00
Fusion
5cd5cb4e4c
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
2a5d7f323d
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
819a499d21
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
98d69a5736
feat(FN-4360): complete Step 2 — add reliability health endpoint
...
Fusion-Task-Id: FN-4360
Fusion-Task-Lineage: 50e17cef-29b0-4adc-aa1c-bffdebe4b43c
2026-05-13 22:27:03 -07:00
Fusion
5c73d72e7c
feat(FN-4360): complete Step 1 — add reliability aggregation helpers
...
Fusion-Task-Id: FN-4360
Fusion-Task-Lineage: 50e17cef-29b0-4adc-aa1c-bffdebe4b43c
2026-05-13 22:27:03 -07:00
Fusion
2401f7ab5b
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
4cf95c10ca
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
fd4a4b4278
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
Fusion
dca52428e8
test(FN-4186): complete Step 2 — add chat prompt guidance regression tests
...
Fusion-Task-Id: FN-4186
Fusion-Task-Lineage: 30721f11-a830-4549-aa91-d8c3186c0dcf
2026-05-13 20:20:26 -07:00
Fusion
85fbb642c0
feat(FN-4186): complete Step 1 — tighten chat prompt brevity guidance
...
Fusion-Task-Id: FN-4186
Fusion-Task-Lineage: 30721f11-a830-4549-aa91-d8c3186c0dcf
2026-05-13 20:20:25 -07:00
Fusion
97b2321f7e
feat(FN-4378): complete Step 4 — plumb github issue action through API
...
Fusion-Task-Id: FN-4378
Fusion-Task-Lineage: d3867ba8-f852-41e3-9db0-584c0ffc23b1
2026-05-13 14:12:51 -07:00
Fusion
c4baef9a4a
feat(FN-4378): complete Step 3 — honor github issue action on delete
...
Fusion-Task-Id: FN-4378
Fusion-Task-Lineage: d3867ba8-f852-41e3-9db0-584c0ffc23b1
2026-05-13 14:12:51 -07:00
Fusion
b742e1ac7c
feat(FN-4378): complete Step 2 — add github issue delete capability
...
Fusion-Task-Id: FN-4378
Fusion-Task-Lineage: d3867ba8-f852-41e3-9db0-584c0ffc23b1
2026-05-13 14:12:51 -07:00
Fusion
0142dba910
fix(FN-4308): tighten done-task aggregation typings
...
Fusion-Task-Id: FN-4308
Fusion-Task-Lineage: d0a46a8f-2245-4ddc-99b4-06d78e87db16
2026-05-13 09:28:08 -07:00
Fusion
015739a0e5
test(FN-4308): complete Step 5 — cover revision and fallback lineage edges
...
Fusion-Task-Id: FN-4308
Fusion-Task-Lineage: d0a46a8f-2245-4ddc-99b4-06d78e87db16
2026-05-13 09:28:08 -07:00
Fusion
d6504aacea
feat(FN-4308): complete Step 2 — aggregate done-task diffs by lineage commits
...
Fusion-Task-Id: FN-4308
Fusion-Task-Lineage: d0a46a8f-2245-4ddc-99b4-06d78e87db16
2026-05-13 09:28:08 -07:00