Fusion (runfusion.ai)
3d7e737fbe
feat(FN-4761): finalize review auto-move docs and release note
...
Fusion-Task-Id: FN-4761
Fusion-Task-Lineage: b6b1ed73-c396-4dd2-b97f-366272d05c7f
2026-05-17 11:39:19 -07:00
Fusion (runfusion.ai)
9cee0ef083
fix(FN-4761): correct review-feedback document persistence
...
Fusion-Task-Id: FN-4761
Fusion-Task-Lineage: b6b1ed73-c396-4dd2-b97f-366272d05c7f
2026-05-17 11:39:19 -07:00
Fusion (runfusion.ai)
5bde911bdb
feat(FN-4761): sync PR reviews and surface review threads
...
Fusion-Task-Id: FN-4761
Fusion-Task-Lineage: b6b1ed73-c396-4dd2-b97f-366272d05c7f
2026-05-17 11:39:19 -07:00
Fusion (runfusion.ai)
73c6f46b5b
fix(FN-4911): correct reveal payload and reader identity
...
Fusion-Task-Id: FN-4911
Fusion-Task-Lineage: 021e3ee9-a776-4648-a17d-8ae1a7ebc5be
2026-05-17 11:10:59 -07:00
Fusion (runfusion.ai)
ea0c400dab
feat(FN-4911): complete Step 1 — add secrets API routes
...
Fusion-Task-Id: FN-4911
Fusion-Task-Lineage: 021e3ee9-a776-4648-a17d-8ae1a7ebc5be
2026-05-17 11:10:59 -07:00
Fusion (runfusion.ai)
a2bd876eb4
test(FN-4907): cover stale settings invalidation and sync refresh paths
...
Fusion-Task-Id: FN-4907
Fusion-Task-Lineage: e84d5357-0719-4cc7-ab3f-f665ac83b218
2026-05-17 10:31:35 -07:00
Fusion (runfusion.ai)
4416de159c
fix(FN-4907): invalidate stale settings caches on sync and provider writes
...
Fusion-Task-Id: FN-4907
Fusion-Task-Lineage: e84d5357-0719-4cc7-ab3f-f665ac83b218
2026-05-17 10:31:34 -07:00
gsxdsm
67aff5de80
fix(dashboard): auto-invalidate index.html and view-chunk caches on mtime change
...
The dashboard server cached index.html and the Vite view-chunk manifest
forever with no invalidation. When the on-disk files changed (release
upgrade, rebuild) the server kept serving stale HTML referencing chunk
hashes that no longer existed, leaving the browser stuck on a blank
white page until the server was restarted.
Both caches now key on file mtime and refresh automatically. The
serveIndexHtml catch path also logs the failure and clears the
templated cache so the next request can recover instead of silently
404ing until restart.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-17 09:24:28 -07:00
Fusion (runfusion.ai)
49daa3046d
feat(FN-4760): complete Step 2 — add PR checks endpoint and client
...
Fusion-Task-Id: FN-4760
Fusion-Task-Lineage: 71db4a53-ee59-49f0-a1f7-232954b86660
2026-05-17 08:49:51 -07:00
Fusion (runfusion.ai)
ef43957d72
feat(FN-4760): complete Step 1 — add PR check details and all-checks API
...
Fusion-Task-Id: FN-4760
Fusion-Task-Lineage: 71db4a53-ee59-49f0-a1f7-232954b86660
2026-05-17 08:49:50 -07:00
Fusion (runfusion.ai)
ab31aaceb4
feat(FN-4847): add actionable denial reason to sync-status
...
Fusion-Task-Id: FN-4847
Fusion-Task-Lineage: af551b65-a484-496a-8bab-b46193e06104
2026-05-17 08:47:16 -07:00
Fusion (runfusion.ai)
af8999f6c6
test(FN-4847): complete Step 2 — add edge-case auth/ownership tests
...
Fusion-Task-Id: FN-4847
Fusion-Task-Lineage: af551b65-a484-496a-8bab-b46193e06104
2026-05-17 08:47:16 -07:00
Fusion (runfusion.ai)
ae76e6285e
test(FN-4871): unskip and expand inbound auth regression matrix
...
Fusion-Task-Id: FN-4871
Fusion-Task-Lineage: afa2af88-9c7d-4809-bf8f-2aa6cf79ce40
2026-05-17 04:19:59 -07:00
Fusion (runfusion.ai)
1ea7a93aa4
fix(FN-4871): reject empty bearer/apiKey on inbound sync
...
Fusion-Task-Id: FN-4871
Fusion-Task-Lineage: afa2af88-9c7d-4809-bf8f-2aa6cf79ce40
2026-05-17 04:19:59 -07:00
Fusion (runfusion.ai)
6aee8923db
feat(FN-4869): add regression tests for inbound sync empty apiKey handling
...
Adds regression test coverage for the inbound node-sync empty apiKey validation path in `routes-nodes-sync.test.ts`.
Fusion-Task-Id: FN-4869
2026-05-17 04:00:02 -07:00
Fusion (runfusion.ai)
9339473732
feat(FN-4870): add missing-URL denial regression test for node settings syn
...
Adds regression test coverage for missing-URL denial scenarios in the node settings sync contract, ensuring the API correctly rejects requests without a target URL.
Fusion-Task-Id: FN-4870
2026-05-17 03:50:40 -07:00
Fusion (runfusion.ai)
d1183ea741
test(FN-4862): add node settings sync auth backstops
...
- Add route coverage for push and pull requests when a remote node apiKey is empty
- Reject malformed and non-exact bearer headers for settings and auth receive endpoints
- Verify sourceNodeId never bypasses bearer validation while valid tokens still reach apply paths
- Assert 401 responses do not echo attempted bearer tokens
Fusion-Task-Id: FN-4862
2026-05-17 02:19:49 -07:00
Fusion (runfusion.ai)
41a8aca91c
fix(FN-4782): add explicit index preload marker
...
Fusion-Task-Id: FN-4782
Fusion-Task-Lineage: 5d6b5632-a135-4d25-9382-57fa23e22484
2026-05-17 01:56:39 -07:00
Fusion (runfusion.ai)
aa105c9b80
feat(FN-4782): complete Step 3 — inject view chunk preload
...
Fusion-Task-Id: FN-4782
Fusion-Task-Lineage: 5d6b5632-a135-4d25-9382-57fa23e22484
2026-05-17 01:56:39 -07:00
Fusion (runfusion.ai)
6bb70dc805
feat(FN-4782): complete Step 2 — add view chunk manifest helper
...
Fusion-Task-Id: FN-4782
Fusion-Task-Lineage: 5d6b5632-a135-4d25-9382-57fa23e22484
2026-05-17 01:56:39 -07:00
Fusion (runfusion.ai)
98aee61df8
feat(FN-4857): complete Step 2 — add room attachment upload routes
...
Fusion-Task-Id: FN-4857
Fusion-Task-Lineage: 52e7b1cd-ec8f-4b6c-abfc-08c91e321b9e
2026-05-17 01:37:38 -07:00
Fusion (runfusion.ai)
3221e57b09
feat(FN-4855): complete Step 2-3 — harden disable route and modal state
...
Fusion-Task-Id: FN-4855
Fusion-Task-Lineage: 47f093b7-dffc-4c1a-8dee-2fe01d0c9ed6
2026-05-17 01:08:50 -07:00
Fusion (runfusion.ai)
08bca99e55
test(FN-4853): add /api/agents pending-approval performance regression
...
Fusion-Task-Id: FN-4853
Fusion-Task-Lineage: aaad0ff7-714c-4c82-a1e7-c9a725db90cb
2026-05-17 01:01:53 -07:00
Fusion (runfusion.ai)
b8b97655b2
feat(FN-4853): complete Step 2 — aggregate pending approval counts
...
Fusion-Task-Id: FN-4853
Fusion-Task-Lineage: aaad0ff7-714c-4c82-a1e7-c9a725db90cb
2026-05-17 01:01:52 -07:00
gsxdsm
2adc9fa0da
feat(FN-4841): merge fusion/fn-4841
2026-05-17 00:22:57 -07:00
Fusion (runfusion.ai)
c491dac28f
test(FN-4850): add active worktree rename and copy diff coverage
...
Fusion-Task-Id: FN-4850
Fusion-Task-Lineage: 903d8e4e-eba7-413e-86d8-94eae7318952
2026-05-17 00:06:26 -07:00
Fusion (runfusion.ai)
19b9ea4464
feat(FN-4850): complete Step 1 — deterministic rename detection
...
Fusion-Task-Id: FN-4850
Fusion-Task-Lineage: 903d8e4e-eba7-413e-86d8-94eae7318952
2026-05-17 00:06:25 -07:00
Fusion (runfusion.ai)
a3e47645b6
test(FN-4833): add node sync auth ownership backstops
...
- Add node settings sync round-trip tests covering outbound push and pull flows
- Assert outbound node sync and auth routes send the target node Bearer apiKey
- Reject inbound requests authenticated with a remote node key and outbound requests targeting the local or missing node
- Verify auth-sync diagnostics stay redacted and do not leak credentials
Fusion-Task-Id: FN-4833
2026-05-16 22:59:37 -07:00
gsxdsm
df998cb54f
feat(FN-4829): merge fusion/fn-4829
2026-05-16 22:26:42 -07:00
Fusion (runfusion.ai)
46a50c123f
feat(FN-4824): forward task assignment events across remote runtime
...
Fusion-Task-Id: FN-4824
Fusion-Task-Lineage: 65f53a33-0939-4b6f-b62b-4a255ad14d9e
2026-05-16 21:53:18 -07:00
Fusion (runfusion.ai)
ec169bf347
test(FN-4786): complete Step 4 — add first-turn loading regressions
...
Fusion-Task-Id: FN-4786
Fusion-Task-Lineage: eb683ec8-8b9d-4e3d-852c-7076224afa6b
2026-05-16 18:40:04 -07:00
Fusion (runfusion.ai)
560e35708a
fix(FN-4786): complete Step 3 — replay first-turn thinking catch-up
...
Fusion-Task-Id: FN-4786
Fusion-Task-Lineage: eb683ec8-8b9d-4e3d-852c-7076224afa6b
2026-05-16 18:40:03 -07:00
Fusion (runfusion.ai)
c3dd34f070
feat(FN-4816): add integration tests for node settings sync API routes
...
Adds integration tests for node settings sync API routes (`routes-nodes-sync.test.ts`), covering the settings push/pull and sync-status endpoints across the dashboard node management API.
Fusion-Task-Id: FN-4816
Fusion-Task-Lineage: 01f1bec6-f1c3-43bc-8854-5c4739f0e736
2026-05-16 17:44:25 -07:00
Fusion (runfusion.ai)
b81bfacf07
fix(FN-4813): avoid isolation transition double-write in project route
...
Fusion-Task-Id: FN-4813
Fusion-Task-Lineage: 846893a5-2afa-4817-8f64-8c444d2fd713
2026-05-16 17:31:09 -07:00
Fusion (runfusion.ai)
63adddadf9
feat(FN-4813): complete Step 5 — add isolation transition runtime restart path
...
Fusion-Task-Id: FN-4813
Fusion-Task-Lineage: 846893a5-2afa-4817-8f64-8c444d2fd713
2026-05-16 17:31:09 -07:00
Fusion (runfusion.ai)
8b6b4cfeb1
test(FN-4784): complete Step 2 — codex precedence coverage
...
Fusion-Task-Id: FN-4784
Fusion-Task-Lineage: e11a4758-93ab-451e-8721-ae8995aaa70d
2026-05-16 13:35:31 -07:00
Fusion (runfusion.ai)
fd01843d40
feat(FN-4784): complete Step 1 — prefer Fusion Codex OAuth
...
Fusion-Task-Id: FN-4784
Fusion-Task-Lineage: e11a4758-93ab-451e-8721-ae8995aaa70d
2026-05-16 13:35:28 -07:00
Fusion (runfusion.ai)
3668927042
feat(FN-4785): complete Step 2-3 — batch agent task and run lookups
...
Fusion-Task-Id: FN-4785
Fusion-Task-Lineage: be241ee7-9df0-433c-a00b-997bcd558862
2026-05-16 13:04:28 -07:00
Fusion (runfusion.ai)
be54c75533
feat(FN-4785): complete Step 3 — batch agent run status aggregation
...
Fusion-Task-Id: FN-4785
Fusion-Task-Lineage: be241ee7-9df0-433c-a00b-997bcd558862
2026-05-16 13:04:28 -07:00
Fusion (runfusion.ai)
7aeb7583f4
feat(FN-4785): complete Step 2 — batch sanitize agent task link lookups
...
Fusion-Task-Id: FN-4785
Fusion-Task-Lineage: be241ee7-9df0-433c-a00b-997bcd558862
2026-05-16 13:04:28 -07:00
Fusion (runfusion.ai)
d89a4569f1
fix(FN-4777): add dedup default setting and lint-safe regex
...
Fusion-Task-Id: FN-4777
Fusion-Task-Lineage: ed00f639-c928-4c14-be1f-2b43db6022c7
2026-05-16 12:56:31 -07:00
Fusion (runfusion.ai)
1ca873f64e
test(FN-4777): complete Step 4 — add dedup tracking coverage
...
Fusion-Task-Id: FN-4777
Fusion-Task-Lineage: ed00f639-c928-4c14-be1f-2b43db6022c7
2026-05-16 12:56:31 -07:00
Fusion (runfusion.ai)
f60dde01fe
feat(FN-4777): complete Step 3 — wire GitHub tracking dedup pre-check
...
Fusion-Task-Id: FN-4777
Fusion-Task-Lineage: ed00f639-c928-4c14-be1f-2b43db6022c7
2026-05-16 12:56:31 -07:00
Fusion (runfusion.ai)
de5a5c91d4
feat(FN-4777): complete Step 2 — add tracking dedup helper module
...
Fusion-Task-Id: FN-4777
Fusion-Task-Lineage: ed00f639-c928-4c14-be1f-2b43db6022c7
2026-05-16 12:56:31 -07:00
Fusion (runfusion.ai)
a6b1d59a0c
fix(FN-4777): handle gh search all-state without invalid flag
...
Fusion-Task-Id: FN-4777
Fusion-Task-Lineage: ed00f639-c928-4c14-be1f-2b43db6022c7
2026-05-16 12:56:31 -07:00
Fusion (runfusion.ai)
cfb44af446
feat(FN-4777): complete Step 1 — add GitHub issue search API
...
Fusion-Task-Id: FN-4777
Fusion-Task-Lineage: ed00f639-c928-4c14-be1f-2b43db6022c7
2026-05-16 12:56:30 -07:00
Fusion (runfusion.ai)
db7b196462
test(FN-4770): complete Steps 3-4 — add tracking async coverage
...
Fusion-Task-Id: FN-4770
Fusion-Task-Lineage: 8c8d1786-f81b-4544-9275-595b90ea5689
2026-05-16 11:39:37 -07:00
Fusion (runfusion.ai)
0653d94f1c
feat(FN-4770): complete Step 2 — detach planning tracking hook
...
Fusion-Task-Id: FN-4770
Fusion-Task-Lineage: 8c8d1786-f81b-4544-9275-595b90ea5689
2026-05-16 11:39:37 -07:00
Fusion (runfusion.ai)
55575dbf8c
test(FN-4772): add hybrid wiring integration and lifecycle coverage
...
Fusion-Task-Id: FN-4772
Fusion-Task-Lineage: d296e96a-fe44-4896-928a-fa44da62b41a
2026-05-16 11:32:55 -07:00
Fusion (runfusion.ai)
e316026083
test(FN-4751): complete Step 2 — pin manual pull non-recording contract
...
Fusion-Task-Id: FN-4751
Fusion-Task-Lineage: 2f6d2360-fcd6-4186-bb58-a35fa40a78fb
2026-05-16 11:26:56 -07:00