Commit Graph

4204 Commits

Author SHA1 Message Date
Fusion
1eadad42cd feat(FN-4520): complete Step 2 — apply sent-bubble mention chip contrast overrides
Fusion-Task-Id: FN-4520
Fusion-Task-Lineage: fee9ca34-d68e-4ec9-b4f9-134e139a7df7
2026-05-14 13:21:02 -07:00
Fusion
3bd4539a2c fix(FN-4488): align policy typing across gate resolution
Fusion-Task-Id: FN-4488
Fusion-Task-Lineage: 3fc1ac43-490f-43f2-a27e-4fdceb64d9c4
2026-05-14 13:16:10 -07:00
Fusion
bf5170f5ff feat(FN-4488): complete Step 5 — wire settings and agent permission panels
Fusion-Task-Id: FN-4488
Fusion-Task-Lineage: 3fc1ac43-490f-43f2-a27e-4fdceb64d9c4
2026-05-14 13:16:10 -07:00
Fusion
921a9d3622 feat(FN-4488): complete Step 4 — shared policy editor
Fusion-Task-Id: FN-4488
Fusion-Task-Lineage: 3fc1ac43-490f-43f2-a27e-4fdceb64d9c4
2026-05-14 13:16:10 -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
109e7d2aca test(FN-4519): complete Step 2 — cover mount and SSE approvals badge
Fusion-Task-Id: FN-4519
Fusion-Task-Lineage: 45139d91-f44f-4b16-8dc2-012879684b2d
2026-05-14 13:06:15 -07:00
Fusion
914db2cd55 feat(FN-4519): complete Step 1 — seed approvals count from unread endpoint
Fusion-Task-Id: FN-4519
Fusion-Task-Lineage: 45139d91-f44f-4b16-8dc2-012879684b2d
2026-05-14 13:06:15 -07:00
Fusion
abd85dbda2 test(FN-4514): complete Step 4 — add quick chat autosize regression tests
Fusion-Task-Id: FN-4514
Fusion-Task-Lineage: 5910815a-9d67-4312-97d4-44d65d01dbc7
2026-05-14 12:52:37 -07:00
Fusion
81ec03497f feat(FN-4514): complete Step 3 — add quick chat textarea autosize CSS contract
Fusion-Task-Id: FN-4514
Fusion-Task-Lineage: 5910815a-9d67-4312-97d4-44d65d01dbc7
2026-05-14 12:52:36 -07:00
Fusion
afdebd1530 feat(FN-4514): complete Step 2 — swap quick chat composer to autosizing textarea
Fusion-Task-Id: FN-4514
Fusion-Task-Lineage: 5910815a-9d67-4312-97d4-44d65d01dbc7
2026-05-14 12:52:36 -07:00
Fusion
ec2f5418c9 feat(FN-4514): complete Step 1 — add autosize helper and textarea ref types
Fusion-Task-Id: FN-4514
Fusion-Task-Lineage: 5910815a-9d67-4312-97d4-44d65d01dbc7
2026-05-14 12:52:36 -07:00
Fusion
b8e387a004 test(FN-4511): complete Step 3 — assert badge icon and geometry parity
Fusion-Task-Id: FN-4511
Fusion-Task-Lineage: 9bc31d0c-643c-4f31-82b7-ecfc76d05731
2026-05-14 12:38:59 -07:00
Fusion
b6ee59c241 feat(FN-4511): complete Step 2 — lock github badge pill geometry
Fusion-Task-Id: FN-4511
Fusion-Task-Lineage: 9bc31d0c-643c-4f31-82b7-ecfc76d05731
2026-05-14 12:38:59 -07:00
Fusion
70cf30d396 feat(FN-4511): complete Step 1 — shrink GitHub badge icons
Fusion-Task-Id: FN-4511
Fusion-Task-Lineage: 9bc31d0c-643c-4f31-82b7-ecfc76d05731
2026-05-14 12:38:59 -07:00
Fusion
09ad2b4edf feat(FN-4367): finalize structured workflow verdict contract
Fusion-Task-Id: FN-4367
Fusion-Task-Lineage: adbfac60-5cfe-4ae9-9706-1094dfe7d676
2026-05-14 11:15:47 -07:00
gsxdsm
db78679758 feat(FN-4367): add structured JSON verdict output for prompt-mode workflow steps
- Add verdict (PASS/FAIL) field to core WorkflowStepResult type
- Add parseWorkflowStepOutput() engine helper for json-workflow-verdict blocks
- Update executeWorkflowStep to extract structured verdict/notes from output
- Persist verdict and notes in runWorkflowSteps result entries
- Update agent prompt Feedback Format to require JSON verdict block
- Update WS-006 (Frontend UX Design) template prompt with structured fast-bail
- Add WorkflowResultsTab verdict badge and notes rendering with CSS
- Add 11 engine tests for verdict parsing edge cases
- Add 6 dashboard tests for verdict/notes rendering
- Create replace-ws006-prompt.mjs migration script for existing DBs
- Add changeset for @runfusion/fusion patch

Fusion-Task-Id: FN-4367
Fusion-Task-Lineage: adbfac60-5cfe-4ae9-9706-1094dfe7d676
2026-05-14 11:15:47 -07:00
Fusion
44f486f167 chore(FN-4490): fix duplicate noCommitsExpected type definition
Fusion-Task-Id: FN-4490
Fusion-Task-Lineage: 0194e9e4-c49c-4c18-b057-433a58062c75
2026-05-14 10:56:48 -07:00
Fusion
1c298c9cc2 feat(FN-4487): fix dashboard updateTask typecheck for noCommitsExpected
Fixed a TypeScript typecheck issue in the dashboard's `updateTask` function related to `noCommitsExpected`, addressing a type mismatch in the legacy API layer.

Fusion-Task-Id: FN-4487
2026-05-14 10:50:57 -07:00
Fusion
51a253e99f fix(FN-4489): include noCommitsExpected in dashboard updateTask type
Fusion-Task-Id: FN-4489
Fusion-Task-Lineage: 9f732400-0deb-4537-be92-cc58c815e9fd
2026-05-14 10:38:22 -07:00
Fusion
188cb64c3d test(FN-4489): complete Step 3 — assert no-commits toggle render order
Fusion-Task-Id: FN-4489
Fusion-Task-Lineage: 9f732400-0deb-4537-be92-cc58c815e9fd
2026-05-14 10:38:22 -07:00
Fusion
19eb8a2e28 feat(FN-4489): complete Step 2 — relocate no-commits-expected section
Fusion-Task-Id: FN-4489
Fusion-Task-Lineage: 9f732400-0deb-4537-be92-cc58c815e9fd
2026-05-14 10:38: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
a673718b50 feat(FN-4371): complete remaining decision-only task handling
Fusion-Task-Id: FN-4371
Fusion-Task-Lineage: 4175ba4c-b7cb-4f3a-87c5-75e51f06c0ff
2026-05-14 09:59:15 -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
Fusion
418fdcffd3 test(FN-4480): complete Step 3 — assert computed collapse display behavior
Fusion-Task-Id: FN-4480
Fusion-Task-Lineage: a27631d7-61cf-4314-99d7-cdd81deffb76
2026-05-14 09:27:19 -07:00
Fusion
c222519c71 test(FN-4480): complete Step 2 — add CSS hidden-rule regression
Fusion-Task-Id: FN-4480
Fusion-Task-Lineage: a27631d7-61cf-4314-99d7-cdd81deffb76
2026-05-14 09:27:19 -07:00
Fusion
c45bb9ce6b fix(FN-4480): complete Step 1 — add hidden override for toolbar collapsible
Fusion-Task-Id: FN-4480
Fusion-Task-Lineage: a27631d7-61cf-4314-99d7-cdd81deffb76
2026-05-14 09:27:18 -07:00
Fusion
21c5099dd4 test(FN-4481): fix verification regressions in badge and migration tests
Fusion-Task-Id: FN-4481
Fusion-Task-Lineage: 8b52379c-60b7-4cae-b655-7ed780c5c523
2026-05-14 09:19:14 -07:00
Fusion
0ec2163fdb feat(FN-4481): complete Step 4 — align github badge size and coverage
Fusion-Task-Id: FN-4481
Fusion-Task-Lineage: 8b52379c-60b7-4cae-b655-7ed780c5c523
2026-05-14 09:19:14 -07:00
Fusion
1b3a88b692 test(FN-4479): complete Step 3 — update FileEditor tests for CodeMirror-only UI
Fusion-Task-Id: FN-4479
Fusion-Task-Lineage: 5dfad520-13eb-4a31-a45c-2daf767a3dff
2026-05-14 09:14:51 -07:00
Fusion
126f6c971c feat(FN-4479): complete Step 2 — remove dead textarea styles
Fusion-Task-Id: FN-4479
Fusion-Task-Lineage: 5dfad520-13eb-4a31-a45c-2daf767a3dff
2026-05-14 09:14:50 -07:00
Fusion
43dc598984 feat(FN-4479): complete Step 1 — remove textarea pane
Fusion-Task-Id: FN-4479
Fusion-Task-Lineage: 5dfad520-13eb-4a31-a45c-2daf767a3dff
2026-05-14 09:14:50 -07:00
Fusion
391351e051 test(FN-4477): complete Step 2 — add reopen restore regressions
Fusion-Task-Id: FN-4477
Fusion-Task-Lineage: 1001fb48-1eed-493c-9067-8234f462ac49
2026-05-14 09:09:54 -07:00
Fusion
f35c82ae40 feat(FN-4477): complete Step 1 — reset reopen restore refs
Fusion-Task-Id: FN-4477
Fusion-Task-Lineage: 1001fb48-1eed-493c-9067-8234f462ac49
2026-05-14 09:09:53 -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
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
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
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
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
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