Commit Graph

7452 Commits

Author SHA1 Message Date
gsxdsm
b143f6c88b feat(dashboard): desktop launch gate for run-local vs connect-remote
Wrap <App /> in a DesktopLaunchGate that runs only inside the Electron shell.
On first run it shows a chooser (Run Locally / Connect Remote). On "local"
it calls setDesktopMode("local") so main starts the embedded runtime, polls
shell:getState until localRuntime.state === "running", then reloads with
?serverBaseUrl=http://127.0.0.1:<port> so the dashboard's API calls route
to the embedded server (file:// origins can't resolve relative /api). On
"remote" it opens the existing connection manager. Replaces the dead-end
"can't reach backend" landing in the packaged desktop app.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-17 22:10:58 -07:00
gsxdsm
e5af9c93ae fix(desktop): packaged macOS app launched with no window / blank white screen
In packaged Electron builds, `process.argv[1]` is undefined (Electron loads
the main script via package.json `main`, not via argv), so the bottom-of-file
guard never invoked `run()` and the app started without creating a window.
Also build the dashboard client with `--base ./` so its `file://`-loaded
index.html resolves `./assets/*` from inside the asar instead of the
filesystem root, which was producing a blank white window.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-17 22:01:51 -07:00
Fusion (runfusion.ai)
56a7178aca feat(FN-4959): complete Step 5 — add changeset for fn_task_update priority
Fusion-Task-Id: FN-4959
Fusion-Task-Lineage: 59a0c481-5a2d-4a2f-9230-3a5437b687a6
2026-05-17 21:46:58 -07:00
Fusion (runfusion.ai)
ceacad78a1 chore(FN-4959): complete Step 4 — regenerate fusion skill tool references
Fusion-Task-Id: FN-4959
Fusion-Task-Lineage: 59a0c481-5a2d-4a2f-9230-3a5437b687a6
2026-05-17 21:46:58 -07:00
Fusion (runfusion.ai)
716a45a96b test(FN-4959): complete Step 3 — cover priority updates on fn_task_update
Fusion-Task-Id: FN-4959
Fusion-Task-Lineage: 59a0c481-5a2d-4a2f-9230-3a5437b687a6
2026-05-17 21:46:58 -07:00
Fusion (runfusion.ai)
e0e0bc5bef feat(FN-4959): complete Step 2 — extend fn_task_update priority support
Fusion-Task-Id: FN-4959
Fusion-Task-Lineage: 59a0c481-5a2d-4a2f-9230-3a5437b687a6
2026-05-17 21:46:58 -07:00
Fusion (runfusion.ai)
53e0372bc9 test(FN-4986): complete Step 3 — update footer cluster alignment assertions
Fusion-Task-Id: FN-4986
Fusion-Task-Lineage: d7a2c969-f3ea-4f93-bcdb-f86521845fce
2026-05-17 21:34:06 -07:00
Fusion (runfusion.ai)
10d00423a4 feat(FN-4986): complete Step 2 — align footer chip cluster via first-chip anchor
Fusion-Task-Id: FN-4986
Fusion-Task-Lineage: d7a2c969-f3ea-4f93-bcdb-f86521845fce
2026-05-17 21:34:06 -07:00
Fusion (runfusion.ai)
d856788d55 feat(FN-4954): complete Step 8 — documentation and changeset
Fusion-Task-Id: FN-4954
Fusion-Task-Lineage: b3dd2d2f-3aa3-48f1-8a56-56e66518d139
2026-05-17 21:17:38 -07:00
Fusion (runfusion.ai)
b8514b658e test(FN-4954): cover pool double-lease throw and fresh fallback
Fusion-Task-Id: FN-4954
Fusion-Task-Lineage: b3dd2d2f-3aa3-48f1-8a56-56e66518d139
2026-05-17 21:17:38 -07:00
Fusion (runfusion.ai)
c6453ca956 fix(FN-4954): complete Step 7 — restore green verification gates
Fusion-Task-Id: FN-4954
Fusion-Task-Lineage: b3dd2d2f-3aa3-48f1-8a56-56e66518d139
2026-05-17 21:17:38 -07:00
Fusion (runfusion.ai)
c15a74e187 fix(FN-4954): correct runtime pool invariant audit emission
Fusion-Task-Id: FN-4954
Fusion-Task-Lineage: b3dd2d2f-3aa3-48f1-8a56-56e66518d139
2026-05-17 21:17:38 -07:00
Fusion (runfusion.ai)
04b965dbef test(FN-4954): complete Step 6 — add merger/pool reliability backstop
Fusion-Task-Id: FN-4954
Fusion-Task-Lineage: b3dd2d2f-3aa3-48f1-8a56-56e66518d139
2026-05-17 21:17:38 -07:00
Fusion (runfusion.ai)
7e90bce8bb feat(FN-4954): harden pool leasing invariants and wire runtime auditing
Fusion-Task-Id: FN-4954
Fusion-Task-Lineage: b3dd2d2f-3aa3-48f1-8a56-56e66518d139
2026-05-17 21:17:38 -07:00
Fusion (runfusion.ai)
0606e3aaea feat(FN-4954): complete Step 3 — add pool double-lease audit mutation type
Fusion-Task-Id: FN-4954
Fusion-Task-Lineage: b3dd2d2f-3aa3-48f1-8a56-56e66518d139
2026-05-17 21:17:38 -07:00
Fusion (runfusion.ai)
dd234d21e6 test(FN-4954): complete Step 2 — reproduce pool rehydrate double-lease race
Fusion-Task-Id: FN-4954
Fusion-Task-Lineage: b3dd2d2f-3aa3-48f1-8a56-56e66518d139
2026-05-17 21:17:38 -07:00
Fusion (runfusion.ai)
296262b07a test(FN-4987): align session-start interaction tests with recovery contract
Fusion-Task-Id: FN-4987
Fusion-Task-Lineage: 7825b364-d7b2-45fd-8eb1-94b7a08fa7ba
2026-05-17 20:10:17 -07:00
Fusion (runfusion.ai)
d2a5ff95c2 test(FN-4987): complete Step 5 — tighten unrelated failure guard assertions
Fusion-Task-Id: FN-4987
Fusion-Task-Lineage: 7825b364-d7b2-45fd-8eb1-94b7a08fa7ba
2026-05-17 20:10:16 -07:00
Fusion (runfusion.ai)
34d196c3f0 test(FN-4987): complete Step 4 — assert exhausted retry-cap behavior
Fusion-Task-Id: FN-4987
Fusion-Task-Lineage: 7825b364-d7b2-45fd-8eb1-94b7a08fa7ba
2026-05-17 20:10:16 -07:00
Fusion (runfusion.ai)
3af35ac650 test(FN-4987): complete Step 3 — assert preserve-progress recovery semantics
Fusion-Task-Id: FN-4987
Fusion-Task-Lineage: 7825b364-d7b2-45fd-8eb1-94b7a08fa7ba
2026-05-17 20:10:16 -07:00
Fusion (runfusion.ai)
980ab593ff test(FN-4987): complete Step 2 — assert per-classification recovery contract
Fusion-Task-Id: FN-4987
Fusion-Task-Lineage: 7825b364-d7b2-45fd-8eb1-94b7a08fa7ba
2026-05-17 20:10:16 -07:00
Fusion (runfusion.ai)
a92d39339c fix(FN-4987): complete Step 1 — wire session-start auto-recovery auditor
Fusion-Task-Id: FN-4987
Fusion-Task-Lineage: 7825b364-d7b2-45fd-8eb1-94b7a08fa7ba
2026-05-17 20:10:16 -07:00
Fusion (runfusion.ai)
24076970b1 feat(FN-4926): add fn_task_list regression tests
Adds regression tests for `fn_task_list` in the pi-extensions test suite and updates an existing planning-board-tools test, both scoped to FN-4926 coverage.

Fusion-Task-Id: FN-4926

Fusion-Task-Lineage: 9a6a82cb-4b17-4471-a386-7c4b7d275c40
2026-05-17 20:09:36 -07:00
Fusion (runfusion.ai)
32cadc9f42 feat(FN-4890): complete Step 8 — docs, defaults, and reliability coverage
Fusion-Task-Id: FN-4890
Fusion-Task-Lineage: d1ae6585-7df0-481f-83c3-c7cdd45daf4f
2026-05-17 19:39:00 -07:00
Fusion (runfusion.ai)
6356ac4a2d fix(FN-4890): isolate stall verification from self-rebound transitions
Fusion-Task-Id: FN-4890
Fusion-Task-Lineage: d1ae6585-7df0-481f-83c3-c7cdd45daf4f
2026-05-17 19:38:59 -07:00
Fusion (runfusion.ai)
70169972ed test(FN-4890): cover board-stall verification and cooldown
Fusion-Task-Id: FN-4890
Fusion-Task-Lineage: d1ae6585-7df0-481f-83c3-c7cdd45daf4f
2026-05-17 19:38:59 -07:00
Fusion (runfusion.ai)
a6898c5ba4 feat(FN-4890): complete Step 5 — board-health recovery levers
Fusion-Task-Id: FN-4890
Fusion-Task-Lineage: d1ae6585-7df0-481f-83c3-c7cdd45daf4f
2026-05-17 19:38:59 -07:00
Fusion (runfusion.ai)
1d2d3d1b0d feat(FN-4890): complete Step 3 — paused-scope decay auto-rebound
Fusion-Task-Id: FN-4890
Fusion-Task-Lineage: d1ae6585-7df0-481f-83c3-c7cdd45daf4f
2026-05-17 19:38:58 -07:00
Fusion (runfusion.ai)
eeb5fe8e2d feat(FN-4890): complete Step 8 — docs, defaults, and reliability coverage
Fusion-Task-Id: FN-4890
Fusion-Task-Lineage: d1ae6585-7df0-481f-83c3-c7cdd45daf4f
2026-05-17 19:37:55 -07:00
Fusion (runfusion.ai)
c49e684e4e fix(FN-4890): isolate stall verification from self-rebound transitions
Fusion-Task-Id: FN-4890
Fusion-Task-Lineage: d1ae6585-7df0-481f-83c3-c7cdd45daf4f
2026-05-17 19:37:55 -07:00
Fusion (runfusion.ai)
2ff1458e77 test(FN-4890): cover board-stall verification and cooldown
Fusion-Task-Id: FN-4890
Fusion-Task-Lineage: d1ae6585-7df0-481f-83c3-c7cdd45daf4f
2026-05-17 19:37:53 -07:00
Fusion (runfusion.ai)
6b83cf0020 feat(FN-4890): complete Step 5 — board-health recovery levers
Fusion-Task-Id: FN-4890
Fusion-Task-Lineage: d1ae6585-7df0-481f-83c3-c7cdd45daf4f
2026-05-17 19:37:52 -07:00
Fusion (runfusion.ai)
8226d170a2 feat(FN-4890): complete Step 3 — paused-scope decay auto-rebound
Fusion-Task-Id: FN-4890
Fusion-Task-Lineage: d1ae6585-7df0-481f-83c3-c7cdd45daf4f
2026-05-17 19:37:52 -07:00
Fusion (runfusion.ai)
dcb055df6b test(FN-4992): add merged PR auto-transition interaction coverage
Fusion-Task-Id: FN-4992
Fusion-Task-Lineage: 133d5e6a-0612-4f67-9105-3b7dbabd5ec0
2026-05-17 19:37:02 -07:00
Fusion (runfusion.ai)
0fd9d4094d test(FN-4992): add changes-requested reliability interaction coverage
Fusion-Task-Id: FN-4992
Fusion-Task-Lineage: 133d5e6a-0612-4f67-9105-3b7dbabd5ec0
2026-05-17 19:37:02 -07:00
Fusion (runfusion.ai)
8ecba01c76 fix(FN-4890): stabilize board-health integration and blocker release coverage
Fusion-Task-Id: FN-4890
Fusion-Task-Lineage: d1ae6585-7df0-481f-83c3-c7cdd45daf4f
2026-05-17 19:36:14 -07:00
Fusion (runfusion.ai)
e659dd5f14 fix(FN-4890): preserve active todo blockers in stale-blocked sweep
Fusion-Task-Id: FN-4890
Fusion-Task-Lineage: d1ae6585-7df0-481f-83c3-c7cdd45daf4f
2026-05-17 19:36:14 -07:00
Fusion (runfusion.ai)
36de8ce0c0 fix(FN-4890): tighten incident replay and stale blocker release
Fusion-Task-Id: FN-4890
Fusion-Task-Lineage: d1ae6585-7df0-481f-83c3-c7cdd45daf4f
2026-05-17 19:36:14 -07:00
Fusion (runfusion.ai)
25eae69487 test(FN-4890): complete Step 6 — add FN-4890 incident replay assertion
Fusion-Task-Id: FN-4890
Fusion-Task-Lineage: d1ae6585-7df0-481f-83c3-c7cdd45daf4f
2026-05-17 19:36:14 -07:00
Fusion (runfusion.ai)
5233bc9347 feat(FN-4890): complete Step 8 — docs, defaults, and reliability coverage
Fusion-Task-Id: FN-4890
Fusion-Task-Lineage: d1ae6585-7df0-481f-83c3-c7cdd45daf4f
2026-05-17 19:36:13 -07:00
Fusion (runfusion.ai)
e40aecf77d fix(FN-4890): isolate stall verification from self-rebound transitions
Fusion-Task-Id: FN-4890
Fusion-Task-Lineage: d1ae6585-7df0-481f-83c3-c7cdd45daf4f
2026-05-17 19:36:13 -07:00
Fusion (runfusion.ai)
5f6dddf863 test(FN-4890): cover board-stall verification and cooldown
Fusion-Task-Id: FN-4890
Fusion-Task-Lineage: d1ae6585-7df0-481f-83c3-c7cdd45daf4f
2026-05-17 19:36:13 -07:00
Fusion (runfusion.ai)
dfeb379a14 test(FN-4890): strengthen board-stall sweep assertions
Fusion-Task-Id: FN-4890
Fusion-Task-Lineage: d1ae6585-7df0-481f-83c3-c7cdd45daf4f
2026-05-17 19:36:13 -07:00
Fusion (runfusion.ai)
38dc36b9ba fix(FN-4890): wire board-stall alerts through notifier hook
Fusion-Task-Id: FN-4890
Fusion-Task-Lineage: d1ae6585-7df0-481f-83c3-c7cdd45daf4f
2026-05-17 19:36:12 -07:00
Fusion (runfusion.ai)
4d10511418 fix(FN-4890): refine board-stall notification path
Fusion-Task-Id: FN-4890
Fusion-Task-Lineage: d1ae6585-7df0-481f-83c3-c7cdd45daf4f
2026-05-17 19:36:12 -07:00
Fusion (runfusion.ai)
70aa8b31b7 feat(FN-4890): complete Step 5 — board-health recovery levers
Fusion-Task-Id: FN-4890
Fusion-Task-Lineage: d1ae6585-7df0-481f-83c3-c7cdd45daf4f
2026-05-17 19:36:12 -07:00
Fusion (runfusion.ai)
f71c2a1829 feat(FN-4890): complete Step 3 — paused-scope decay auto-rebound
Fusion-Task-Id: FN-4890
Fusion-Task-Lineage: d1ae6585-7df0-481f-83c3-c7cdd45daf4f
2026-05-17 19:36:12 -07:00
Fusion (runfusion.ai)
295a5cff45 feat(FN-4890): complete Step 2 — run-audit event types
Fusion-Task-Id: FN-4890
Fusion-Task-Lineage: d1ae6585-7df0-481f-83c3-c7cdd45daf4f
2026-05-17 19:36:11 -07:00
Fusion (runfusion.ai)
6624adf110 feat(FN-4890): complete Step 1 — settings and notification types
Fusion-Task-Id: FN-4890
Fusion-Task-Lineage: d1ae6585-7df0-481f-83c3-c7cdd45daf4f
2026-05-17 19:36:10 -07:00
Fusion (runfusion.ai)
46cd63796f docs(FN-4976): add reliability backstop coverage entry
Fusion-Task-Id: FN-4976
Fusion-Task-Lineage: b7d6e778-f6b1-4529-b04b-81352a11ddad
2026-05-17 19:21:42 -07:00