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
bridge_install says ✓ while bridge_registry rejects the bridge.json — bridge silently disappears; validate + surface the parse error
bridge_install reports ✓ for a bridge.json the registry cannot parse — the bridge silently vanishes on its next reap
What happened (altium bridge, 2026-08-31): bridge.json shipped four verbs[] entries as {name, description} objects instead of strings. ab logged
[bridge_registry] parse ...\bridges-cache\altium\bridge.json failed: invalid type: map, expected a string at line 84 column 4
— but only in %LOCALAPPDATA%\inc.adom.bridge\logs\Adom Bridge.log. Meanwhile:
- the bridge kept running on its stale in-memory registration for hours (verbs routed fine, LEDs green);
bridge_killreaped it → it could not re-register →bridge_listsimply omitted it,altium_*becameUnknown verb — no installed bridge claims this prefix;bridge_installfrom the manifest returnedok, methodin_place_merge, "✓ Installed 'altium'. Its capsule ALREADY shows in the GUI" — three times — while the registry never accepted it;refresh_bridgesreturned ok with no error;bridge_info/bridge_resumesaid "not in registry".
So the author's whole signal was "everything says ok, the bridge is gone", and the only truth was a WARN in a log the CLI never surfaces.
Asks:
bridge_install(andrefresh_bridges) must validate the manifest it just cached and fail loudly with the parse error (errorCode: manifest_invalid, the serde message, the line) instead of ✓.- A registry parse failure should show up in
bridge_listas a row withstate: "invalid"+ the reason, not as absence — absence is indistinguishable from "never installed". bridge_log_read(or abridge_lifecycleverb) should expose ab's own lifecycle log entries for that bridge ([bridge_registry],[dynamic_bridge] reaped …), sinceserver.out.logonly exists once a process spawned.- Nice-to-have: reject the manifest at publish time —
adom-wiki release/pkg lint could validatebridge.jsonagainst the SDK schema; the SDK manifest skill should state plainly thatverbs[]isstring[].
Repro: put {"name":"x_ping","description":"…"} into any bridge's verbs[], bridge_kill it, then bridge_install — ✓ with no bridge.