Fusion (runfusion.ai)
d13ee7f526
feat(FN-4962): complete Step 4 — dashboard fallback and reliability coverage
...
Fusion-Task-Id: FN-4962
Fusion-Task-Lineage: de4ce54b-c5e4-40f9-a048-677adac3e1a0
2026-05-17 15:55:18 -07:00
Fusion (runfusion.ai)
235754a766
test(FN-4945): complete Step 3 — add secrets route regression tests
...
Fusion-Task-Id: FN-4945
Fusion-Task-Lineage: f3049b2a-26de-4d48-be99-eb90e4780a9e
2026-05-17 15:17:22 -07:00
Fusion (runfusion.ai)
bce62834f1
feat(FN-4945): complete Step 2 — harden secrets route guards
...
Fusion-Task-Id: FN-4945
Fusion-Task-Lineage: f3049b2a-26de-4d48-be99-eb90e4780a9e
2026-05-17 15:17:22 -07:00
Fusion (runfusion.ai)
26c3d330d3
feat(FN-4764): complete Step 2-4 — surface structured gh errors in API UI CLI
...
Fusion-Task-Id: FN-4764
Fusion-Task-Lineage: 14809ad5-8463-4e16-a934-1414225f17ae
2026-05-17 14:48:31 -07:00
Fusion (runfusion.ai)
abb0f63aae
feat(FN-4915): complete Step 2-3 — add secret audit emitters and approval audits
...
Fusion-Task-Id: FN-4915
Fusion-Task-Lineage: d5c49dae-6069-4998-b632-aca52cc312dc
2026-05-17 13:54:32 -07:00
Fusion (runfusion.ai)
bba945c8be
feat(FN-4763): complete Step 7 — finalize reclaim wiring and docs
...
Fusion-Task-Id: FN-4763
Fusion-Task-Lineage: b3628e63-682b-4a39-9a7d-2c96278c5366
2026-05-17 13:46:24 -07:00
Fusion (runfusion.ai)
76b1ba8178
feat(FN-4763): complete Step 4 — add conflict reclaim route test coverage
...
Fusion-Task-Id: FN-4763
Fusion-Task-Lineage: b3628e63-682b-4a39-9a7d-2c96278c5366
2026-05-17 13:46:23 -07:00
Fusion (runfusion.ai)
b0a34d70c1
fix(FN-4763): export PrConflictState and expand mapping tests
...
Fusion-Task-Id: FN-4763
Fusion-Task-Lineage: b3628e63-682b-4a39-9a7d-2c96278c5366
2026-05-17 13:46:23 -07:00
Fusion (runfusion.ai)
9d5d310fdc
feat(FN-4763): complete Step 1 — capture PR mergeable state
...
Fusion-Task-Id: FN-4763
Fusion-Task-Lineage: b3628e63-682b-4a39-9a7d-2c96278c5366
2026-05-17 13:46:21 -07:00
Fusion (runfusion.ai)
cb184910c7
fix(FN-4913): complete Step 9 — resolve quality gate failures
...
Fusion-Task-Id: FN-4913
Fusion-Task-Lineage: 2fa1fe49-a2a9-405d-833b-cb34d41ef19a
2026-05-17 12:58:02 -07:00
Fusion (runfusion.ai)
cca96a7604
test(FN-4913): complete Step 7 — add secrets sync contract coverage
...
Fusion-Task-Id: FN-4913
Fusion-Task-Lineage: 2fa1fe49-a2a9-405d-833b-cb34d41ef19a
2026-05-17 12:58:01 -07:00
Fusion (runfusion.ai)
22f8893db8
feat(FN-4913): complete Step 6 — wire secrets sync route registrars
...
Fusion-Task-Id: FN-4913
Fusion-Task-Lineage: 2fa1fe49-a2a9-405d-833b-cb34d41ef19a
2026-05-17 12:58:01 -07:00
Fusion (runfusion.ai)
eef8db102f
fix(FN-4913): ensure inbound secrets sync always closes central core
...
Fusion-Task-Id: FN-4913
Fusion-Task-Lineage: 2fa1fe49-a2a9-405d-833b-cb34d41ef19a
2026-05-17 12:58:01 -07:00
Fusion (runfusion.ai)
cd7e29e4ef
feat(FN-4913): complete Step 4 — add inbound secrets sync routes
...
Fusion-Task-Id: FN-4913
Fusion-Task-Lineage: 2fa1fe49-a2a9-405d-833b-cb34d41ef19a
2026-05-17 12:58:01 -07:00
Fusion (runfusion.ai)
db7eddd79c
feat(FN-4913): complete Step 3 — add outbound secrets sync routes
...
Fusion-Task-Id: FN-4913
Fusion-Task-Lineage: 2fa1fe49-a2a9-405d-833b-cb34d41ef19a
2026-05-17 12:58:01 -07:00
Fusion (runfusion.ai)
9dfefc551b
feat(FN-4941): close or delete GitHub issues when tasks are deleted
...
Fixed GitHub issue close and delete behavior when tasks are deleted in the dashboard's GitHub tracking state module, with test coverage added for both delete and state tracking scenarios.
Fusion-Task-Id: FN-4941
2026-05-17 12:56:38 -07:00
Fusion (runfusion.ai)
01caeb6d88
feat(FN-4762): merge fusion/fn-4762
...
Commits merged:
- merge fusion/fn-4762
Files changed:
AGENTS.md | 25 ++++++++++++++++++++++---
docs/README.md | 6 ++++++
packages/core/src/store.ts | 4 ++--
packages/dashboard/app/App.tsx | 10 ++++++++--
packages/dashboard/src/__tests__/github.test.ts | 3 ++-
5 files changed, 40 insertions(+), 8 deletions(-)
Fusion-Task-Id: FN-4762
Fusion-Task-Lineage: 5c7ef3b8-fefc-4cc2-a703-634124d77cde
2026-05-17 12:24:45 -07:00
Fusion (runfusion.ai)
73454fae5c
feat(FN-4762): complete Step 3 — PR merge routes and dashboard controls
...
Fusion-Task-Id: FN-4762
Fusion-Task-Lineage: 5c7ef3b8-fefc-4cc2-a703-634124d77cde
2026-05-17 12:11:51 -07:00
Fusion (runfusion.ai)
102893cba3
feat(FN-4762): complete Step 1 — core PR merge transition support
...
Fusion-Task-Id: FN-4762
Fusion-Task-Lineage: 5c7ef3b8-fefc-4cc2-a703-634124d77cde
2026-05-17 12:11:51 -07:00
Fusion (runfusion.ai)
329b102eb2
fix(FN-4939): stabilize desktop test mocks and restore lint/type safety
...
Fusion-Task-Id: FN-4939
Fusion-Task-Lineage: b2a00edb-5245-4223-97e4-0a16dd2c3289
2026-05-17 11:49:09 -07:00
Fusion (runfusion.ai)
9a462388b5
feat(FN-4928): complete Step 2 — fix prompt-sizes SQL and add real DB regression test
...
Fusion-Task-Id: FN-4939
Fusion-Task-Lineage: b2a00edb-5245-4223-97e4-0a16dd2c3289
2026-05-17 11:49:08 -07:00
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