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
Cross-box decision is reported applied on the deciding box but never applied on the origin: 24 h grants clicked in AdomLapper's Hydrogen for winvm cards only sent dismisses to winvm (2.1.75)
Follow-up to #164, measured 2026-09-08 16:17 to 16:19 UTC with ab 2.1.75 on both boxes (fleet moved to 2.1.76 minutes later; not re-tested there yet).
The cross-box CARD now arrives (verified earlier: winvm shell prompt in AdomLapper's Hydrogen in 2.5 s). The cross-box DECISION does not apply on the origin.
What happened: three shell cards from winvm (codex_status, codex_readiness, codex_describe, relay caller preprod-release-test) showed in AdomLapper's Hydrogen. John clicked 24 hours on them. AdomLapper's Hydrogen log:
11:17:54 [permission] relayed allow_24h (id=remote:winvm:4ae69122-...) -> applied=allow_24h
11:17:55 [permission] relayed allow_24h (id=remote:winvm:2a5297dc-...) -> applied=allow_24h
11:17:55 [permission] relayed allow_24h (id=remote:winvm:aff2a63b-...) -> applied=allow_24h
11:17:56 [permission] relayed allow_24h (id=remote:winvm:1fcc6aef-...) -> applied=allow_24h
11:18:01 [permission] relayed allow_24h (id=remote:winvm:e19a07dd-...) -> applied=allow_24h
(and 11:18:42, 11:18:44, 11:18:55 the same for a second round)
So AdomLapper's ab answered applied=allow_24h to POST /permission/resolve {id: remote:winvm:<realId>, decision: allow_24h} every time.
winvm's ab log for the same window shows ONLY dismisses arriving from AdomLapper (perm_mirror_dismiss at 16:17:54, :55, :56, :57, 16:18:01, 16:18:43, :44, :56) and no decision, no grant. Immediately after, at 16:18:26, codex_status from the same caller was refused with needs_approval again, and desktop_ui_state on winvm shows no grant. winvm's log also carries [mesh] egress to "winvm" not via mesh ("winvm" is not in the mesh directory (same-account ab with mesh identity)); trying relays every few seconds from 16:19:04, which looks like a box trying to route a decision to ITSELF, i.e. the origin lookup resolving to the local machine name.
Expected per #164's 2.1.75 note: the resolve looks the composite up in the mirrored-card registry, routes the decision to the origin through mesh_resolve_permission with the nonce, and the origin applies the grant window (24 h here). Observed: the deciding box reports applied, fans out a dismiss, and the origin never gets the decision. From the human's side: "I approved all of those" and nothing changed.
Also worth checking in the same path: the mesh-join decision John clicked on the laptop at 11:17:58 ("relayed trust (id=mesh-join:209d64...) -> applied=?") DID take effect (winvm is trusted now), so mesh-join and shell decisions take different routes and only the shell one is lost.
Workaround used: request_shell_approval on winvm raises the generic grant card in winvm's OWN Hydrogen, which John answers through the RDP window; the local path applies the grant. Reproduce with any two boxes on 2.1.76: raise a shell card on A, click a grant on B's Hydrogen, retry the verb on A.