Commit Graph

5701 Commits

Author SHA1 Message Date
Fusion
6f20aa8bcd feat(FN-4476): complete Step 6 — add changeset
Fusion-Task-Id: FN-4476
Fusion-Task-Lineage: 8673c1d9-f47e-4d02-89e6-646040b9be32
2026-05-14 08:49:38 -07:00
Fusion
e5c0fbd78c test(FN-4476): add subsumed conflict and patch preservation coverage
Fusion-Task-Id: FN-4476
Fusion-Task-Lineage: 8673c1d9-f47e-4d02-89e6-646040b9be32
2026-05-14 08:49:37 -07:00
Fusion
d8255c2bb0 fix(FN-4476): handle fully-subsumed branch conflicts across reclaim paths
Fusion-Task-Id: FN-4476
Fusion-Task-Lineage: 8673c1d9-f47e-4d02-89e6-646040b9be32
2026-05-14 08:49:37 -07:00
Fusion
ab4729099c feat(FN-4476): complete Step 3 — add fully-subsumed branch conflict kind
Fusion-Task-Id: FN-4476
Fusion-Task-Lineage: 8673c1d9-f47e-4d02-89e6-646040b9be32
2026-05-14 08:49:37 -07:00
Fusion
69d35585cb feat(FN-4476): complete Step 2 — add patch-id unique commit helper
Fusion-Task-Id: FN-4476
Fusion-Task-Lineage: 8673c1d9-f47e-4d02-89e6-646040b9be32
2026-05-14 08:49:37 -07:00
Fusion
ebd79d21bc feat(FN-4475): remove unstable merger empty cherry-pick fallback regression
Removes a legacy empty-cherry-pick fallback test file (20 lines) as part of FN-4475 regression coverage stabilization, consolidating the coverage into more robust test cases.

Fusion-Task-Id: FN-4475
2026-05-14 08:40:20 -07:00
gsxdsm
78b1842ddb feat(FN-4396): merge fusion/fn-4396 2026-05-14 08:24:01 -07:00
Fusion
28b0df85b6 fix(FN-4475): complete Step 5 — add changeset and keep lint green
Fusion-Task-Id: FN-4475
Fusion-Task-Lineage: cb285fff-18e6-4bad-8f22-9158c99337f5
2026-05-14 08:23:43 -07:00
Fusion
6535009592 test(FN-4475): add fallback empty cherry-pick regression coverage
Fusion-Task-Id: FN-4475
Fusion-Task-Lineage: cb285fff-18e6-4bad-8f22-9158c99337f5
2026-05-14 08:23:43 -07:00
Fusion
9da675d0ab fix(FN-4475): complete Step 1 — centralize empty cherry-pick guard
Fusion-Task-Id: FN-4475
Fusion-Task-Lineage: cb285fff-18e6-4bad-8f22-9158c99337f5
2026-05-14 08:23:43 -07:00
Fusion
f8dcc7bb63 fix(FN-4396): support token budget fields in updateTask
Fusion-Task-Id: FN-4396
Fusion-Task-Lineage: 3839210b-b443-410d-a476-aa81128c739a
2026-05-14 08:03:40 -07:00
Fusion
c857bea62c feat(FN-4396): complete Step 3 — migrate and persist token budget fields
Fusion-Task-Id: FN-4396
Fusion-Task-Lineage: 3839210b-b443-410d-a476-aa81128c739a
2026-05-14 08:03:40 -07:00
Fusion
b233cb391b feat(FN-4396): complete Step 2 — add token budget types and defaults
Fusion-Task-Id: FN-4396
Fusion-Task-Lineage: 3839210b-b443-410d-a476-aa81128c739a
2026-05-14 08:03:40 -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
Fusion
e7785bee54 feat(FN-4368): complete Step 6 — workflow defaults and schema v73 assertions
Fusion-Task-Id: FN-4368
Fusion-Task-Lineage: ac9b12e6-2101-4b51-89a0-6422fd7850ed
2026-05-14 07:21:45 -07:00
Fusion
cb7f31e546 feat(FN-4368): complete Step 5 — surface advisory polish notes
Fusion-Task-Id: FN-4368
Fusion-Task-Lineage: ac9b12e6-2101-4b51-89a0-6422fd7850ed
2026-05-14 07:21:45 -07:00
Fusion
225559dd57 fix(FN-4368): style workflow gate-mode hints and update expectations
Fusion-Task-Id: FN-4368
Fusion-Task-Lineage: ac9b12e6-2101-4b51-89a0-6422fd7850ed
2026-05-14 07:21:45 -07:00
Fusion
72558e79d9 feat(FN-4368): complete Step 4 — add workflow step gate mode controls
Fusion-Task-Id: FN-4368
Fusion-Task-Lineage: ac9b12e6-2101-4b51-89a0-6422fd7850ed
2026-05-14 07:21:45 -07:00
Fusion
a8e05b5757 feat(FN-4368): complete Step 3 — advisory workflow failures never block
Fusion-Task-Id: FN-4368
Fusion-Task-Lineage: ac9b12e6-2101-4b51-89a0-6422fd7850ed
2026-05-14 07:21:45 -07:00
Fusion
c947cbfcb5 feat(FN-4368): add workflow step gateMode schema and types
Fusion-Task-Id: FN-4368
Fusion-Task-Lineage: ac9b12e6-2101-4b51-89a0-6422fd7850ed
2026-05-14 07:21:44 -07: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
6736098682 test(FN-4403): complete Step 3 — cover rooms/mobile footer behavior
Fusion-Task-Id: FN-4403
Fusion-Task-Lineage: 9bbfbed9-c40b-4ad2-a739-c8d93f9f691f
2026-05-14 06:30:23 -07:00
Fusion
c7ef5c3da4 feat(FN-4403): complete Step 2 — keep footer styling scope-agnostic
Fusion-Task-Id: FN-4403
Fusion-Task-Lineage: 9bbfbed9-c40b-4ad2-a739-c8d93f9f691f
2026-05-14 06:30:23 -07:00
Fusion
2d33d0e1b3 feat(FN-4403): complete Step 1 — move mobile rooms action to footer
Fusion-Task-Id: FN-4403
Fusion-Task-Lineage: 9bbfbed9-c40b-4ad2-a739-c8d93f9f691f
2026-05-14 06:30:23 -07:00
Fusion
af3550bb64 feat(FN-4366): enforce readonly tool allowlist for workflow steps
Added a readonly tool allowlist enforcement for workflow steps, blocking execution of state-mutating tools (`fn_task_update`, `fn_task_move`, etc.) during workflow step runs. The policy is wired into the executor and merger execution paths, with tests covering allowlist enforcement and a documentati

Fusion-Task-Id: FN-4366
2026-05-14 06:24:03 -07:00
Fusion
d4e6e383be feat(FN-4465): complete Step 6 — docs and changeset
Fusion-Task-Id: FN-4465
Fusion-Task-Lineage: 4365d4cb-ab93-4ed5-add9-3e14b26237ad
2026-05-14 05:55:17 -07:00
Fusion
927a32182d feat(FN-4465): complete Step 4 — dashboard stale signal surfacing
Fusion-Task-Id: FN-4465
Fusion-Task-Lineage: 4365d4cb-ab93-4ed5-add9-3e14b26237ad
2026-05-14 05:55:16 -07:00
Fusion
3577a8babd feat(FN-4465): complete Step 3 — scheduler stale task reporter
Fusion-Task-Id: FN-4465
Fusion-Task-Lineage: 4365d4cb-ab93-4ed5-add9-3e14b26237ad
2026-05-14 05:55:16 -07:00
Fusion
f6951e7f4a feat(FN-4465): complete Step 2 — hydrate task age staleness
Fusion-Task-Id: FN-4465
Fusion-Task-Lineage: 4365d4cb-ab93-4ed5-add9-3e14b26237ad
2026-05-14 05:55:16 -07:00
Fusion
6b637eaf69 feat(FN-4465): complete Step 1 — core detector helper and types
Fusion-Task-Id: FN-4465
Fusion-Task-Lineage: 4365d4cb-ab93-4ed5-add9-3e14b26237ad
2026-05-14 05:55:16 -07:00
Fusion
b5b7ca9b09 feat(FN-4296): complete Step 5 — finalize sync wiring and verification fixes
Fusion-Task-Id: FN-4296
Fusion-Task-Lineage: 9d061861-547a-4905-8fdd-4b66dd7bff97
2026-05-14 05:35:35 -07:00
Fusion
300e023e2c test(FN-4296): tighten ephemeral exclusion coverage
Fusion-Task-Id: FN-4296
Fusion-Task-Lineage: 9d061861-547a-4905-8fdd-4b66dd7bff97
2026-05-14 05:35:35 -07:00
Fusion
f7e5aec4f3 test(FN-4296): complete Step 4 — add agent link drift regression coverage
Fusion-Task-Id: FN-4296
Fusion-Task-Lineage: 9d061861-547a-4905-8fdd-4b66dd7bff97
2026-05-14 05:35:35 -07:00
Fusion
68b76a1b22 feat(FN-4296): complete Step 3 — wire task moved link sync at runtime boot
Fusion-Task-Id: FN-4296
Fusion-Task-Lineage: 9d061861-547a-4905-8fdd-4b66dd7bff97
2026-05-14 05:35:35 -07:00
Fusion
5a80526fb9 test(FN-4296): align drift test with new recovery method
Fusion-Task-Id: FN-4296
Fusion-Task-Lineage: 9d061861-547a-4905-8fdd-4b66dd7bff97
2026-05-14 05:35:35 -07:00
Fusion
f5eaf97697 feat(FN-4296): complete Step 2 — recover drifted durable agent task links
Fusion-Task-Id: FN-4296
Fusion-Task-Lineage: 9d061861-547a-4905-8fdd-4b66dd7bff97
2026-05-14 05:35:35 -07:00
Fusion
d3fa2e1a8d feat(FN-4296): complete Step 1 — add task moved agent link sync module
Fusion-Task-Id: FN-4296
Fusion-Task-Lineage: 9d061861-547a-4905-8fdd-4b66dd7bff97
2026-05-14 05:35:34 -07:00
Fusion
1b233d5020 test(FN-4296): repro — durable agent retains stale taskId for queued/done task
Fusion-Task-Id: FN-4296
Fusion-Task-Lineage: 9d061861-547a-4905-8fdd-4b66dd7bff97
2026-05-14 05:35:34 -07: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
d318f08eb6 feat(FN-4191): complete Step 7 — add changeset
Fusion-Task-Id: FN-4191
Fusion-Task-Lineage: 00fddcfc-e136-41a5-84b1-b6f53b1692cb
2026-05-14 05:07:30 -07:00
Fusion
2becbeabf3 feat(FN-4191): complete Step 6 — document chat room compaction settings
Fusion-Task-Id: FN-4191
Fusion-Task-Lineage: 00fddcfc-e136-41a5-84b1-b6f53b1692cb
2026-05-14 05:07:30 -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
4f2c458447 feat(FN-4191): complete Step 4 — add chat room settings controls
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
af38c50abf feat(FN-4191): complete Step 2 — add project settings fields
Fusion-Task-Id: FN-4191
Fusion-Task-Lineage: 00fddcfc-e136-41a5-84b1-b6f53b1692cb
2026-05-14 05:07:29 -07:00
Fusion
c61af579bc feat(FN-4461): add transition evidence backfill script and tests
Adds a backfill script and its tests for FN-4441 transition evidence, covering two new files totaling 204 lines.

Fusion-Task-Id: FN-4461
2026-05-14 05:07:03 -07:00
Fusion
6a9e1c0e71 feat(FN-4086): complete Step 5 — docs and changeset
Fusion-Task-Id: FN-4086
Fusion-Task-Lineage: b2338fbc-960c-4540-9c19-216462525f0c
2026-05-14 04:54:25 -07:00
Fusion
482fa41132 test(FN-4086): fix engine test typing and recovery log assertions
Fusion-Task-Id: FN-4086
Fusion-Task-Lineage: b2338fbc-960c-4540-9c19-216462525f0c
2026-05-14 04:54:25 -07:00
Fusion
574a06b222 test(FN-4086): add stranded-todo recovery regression coverage
Fusion-Task-Id: FN-4086
Fusion-Task-Lineage: b2338fbc-960c-4540-9c19-216462525f0c
2026-05-14 04:54:25 -07:00
Fusion
3063c68932 fix(FN-4086): suppress execute dispatch during todo recovery hop
Fusion-Task-Id: FN-4086
Fusion-Task-Lineage: b2338fbc-960c-4540-9c19-216462525f0c
2026-05-14 04:54:25 -07:00