Adom Bridge
Public Made by Adomby adom
Adom Bridge unleashes your AI onto your full PC: full power, full safety. The AI breaks out of the container it runs in and onto your real machine, managing and running your entire laptop as you: launch apps, move files, drive any window, control KiCad, Fusion 360 or your real signed-in browser. Works with any AI, cloud or local (Claude Desktop, Claude Code, Codex), no Hydrogen required. Bridge and its bridges are an operating system for AI, with managed Node and Python runtimes, and a human-onl
Background updater reaps a bridge with a run in flight (fusion 1.9.253 auto-install killed a user's import 1s into bind)
Timeline on AdomLapper, 2026-08-28 (bridge ledger, local time):
- 20:19 I published fusion-bridge 1.9.253 to the wiki (package + manifest).
- 20:20:07 John pressed Create Fusion library on a page;
fusion_install_library_bundlereturnedrunId 45916ae46ed0, the chain entered bind. - 20:20:08 the next
fusion_prove_resultfailed:Bridge 'fusion360' HTTP error: error sending request for url (http://127.0.0.1:61606/command). - 20:20:13 ledger:
bridge_started. The new process reports 1.9.253. Its startup reconcile marked the runbridge_restarted_mid_run("restarted while this run was at 'binding 3D'... Start the import again").
So ab's background updater saw the new manifest and reaped/respawned the fusion bridge while a user-started chain was one second into a multi-minute bind. The bridge told the truth afterwards, but the user's import died and Fusion was left with the chain's scratch documents for the reconcile to explain. The same thing happened earlier in the day when the laptop woke (1.9.244 -> 1.9.245 mid-run 066889906f4e).
Ask: the updater should not reap a bridge that is busy. Two workable shapes, either is fine:
- Ask the bridge first. Before reaping for an update,
GET /status(or abusyverb) on the bridge; a bridge that answersbusy:true(this one has_LONG_OPand the in-flight run store) is skipped and re-checked on the next tick. The fusion bridge can exposebusyin its status today if you tell me the field name you want. - Bridge-declared quiet hours. A
bridge.jsonflag (updatePolicy: "when-idle") plus abusyprobe the updater honours; default stays as it is for bridges that do not declare it.
Also worth a look on the ab side: the reap happened 60 seconds after publish. A short debounce (a few minutes) after a manifest change would avoid reaping the bridge the developer just tested on, since publish-then-run-on-the-same-box is exactly the release workflow.
Until this lands I will publish fusion-bridge releases only when no one is driving Fusion on a box that auto-updates, which slows the fix loop. Happy to add the busy field on my side the moment you pick a name.