← Commit history

Publish 2.1.115

John Lauer ·34d8646e19 ·1mo ago ·parent 66f02eb
4 files changed +30−8
dist/linux/adom-bridge
⋯ 1 unchanged line ⋯
package.json+1−1
@@ -1,6 +1,6 @@ {
   "slug": "adom-bridge",
-  "version": "2.1.114",
+  "version": "2.1.115",
   "type": "app",
   "brief": "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-only permission system keeps you in charge of every side-effecting command.",
   "description": "Install this package in a cloud or Hydrogen Desktop container, not on the PC. It delivers two things: the Linux adom-bridge-cli (linked onto PATH) and the Claude skill set that teaches an AI every desktop verb (shell, files, screenshots, windows, notifications, KiCad, Fusion 360, browser automation). The CLI drives the Adom Bridge app running on your Windows PC over the relay; the Windows app itself is the separate installer in the Download box, not part of this package. Run adom-wiki pkg update to keep the CLI and skills current.",
page.json+1−1
@@ -1,6 +1,6 @@ {   "slug": "adom-bridge",-  "version": "2.1.114",+  "version": "2.1.115",   "type": "app",   "description": "Install this package in a cloud or Hydrogen Desktop container, not on the PC. It delivers two things: the Linux adom-bridge-cli (linked onto PATH) and the Claude skill set that teaches an AI every desktop verb (shell, files, screenshots, windows, notifications, KiCad, Fusion 360, browser automation). The CLI drives the Adom Bridge app running on your Windows PC over the relay; the Windows app itself is the separate installer in the Download box, not part of this package. Run adom-wiki pkg update to keep the CLI and skills current.",   "keywords": [
skills/adom-bridge-multi-machine/SKILL.md+28−6
@@ -1,15 +1,37 @@ ---
 name: adom-bridge-multi-ad
-description: Address and fan out to multiple Adom Bridges on one relay. Use when more than one machine runs Adom Bridge on the same relay and you need to target a specific one (--target <name>) or broadcast to all (--target all) — e.g. a laptop plus an Azure VM. Covers client naming, --target, the targets verb, and ambiguous-target handling.
+description: Address and fan out to multiple Adom Bridges on one relay. Use when more than one machine runs Adom Bridge on the same relay and you need to target a specific one (--target <name>) or broadcast to all (--target all) — e.g. a laptop plus an Azure VM. Covers client naming, --target, the targets verb, ambiguous-target handling, and primary_machine (which box is the user's own, so an unqualified request lands there).
 ---
 
 # Multi-ab addressing — name + fan out to many Adom Bridges on one relay
 
-> **Status: PLANNED (not yet implemented) — design + verified architecture map, captured 2026-06-14.**
-> This is the golden reference for the "one cloud relay → many named ABs" feature. The "Verified
-> current architecture" section is true of the codebase as of this date (file:line refs); the
-> "Design" section is the approved implementation plan. Re-verify the line numbers before coding —
-> they drift.
+> **Status: SHIPPED.** `--target <name>` / `--target all` / the `targets` verb have been live
+> since v1.8.133; `primary_machine` landed in 2.1.114. The banner below used to say PLANNED,
+> which was true when this page was written on 2026-06-14 and wrong for every month after, so an
+> AI reading it concluded `--target` did not exist. What follows is still the golden reference for
+> HOW the feature works; the "Verified current architecture" file:line refs are from 2026-06-14
+> and have drifted, so re-verify them before coding against them.
+
+## Which machine is the user's own (`primary_machine`, 2.1.114)
+
+Naming machines solved addressing but not the question that actually comes up: when the user says
+"open this in pup" or "take a screenshot" without naming a box, **which one do they mean?** A relay
+holding four machines gives you no way to know, and guessing is wrong most of the time.
+
+So ab records the answer once instead of inferring it:
+
+- `settings_set {"primary_machine": "<client name>"}` stores it. `""` or `null` clears it.
+- `targets` reports `primaryMachine` and `thisMachine`, marks the primary row `primary:true`, and
+  **leads its hint with the answer** — a hint you read after you have already picked a machine is
+  worth nothing.
+- An unqualified desktop command on an ambiguous relay retries on the primary and stamps
+  `targetResolvedBy:"primaryMachine"` in the response, so the resolution is visible rather than
+  magic.
+
+**With no primary set, ab still refuses with `ambiguous_target`.** That is deliberate: guessing is
+the bug this fixes. The refusal now tells you what to ask. So on the first unqualified request
+against a multi-machine relay, **ask the user which machine is theirs and set it** — once, not
+every session.
 >
 > **Trigger words:** multiple Adom Bridges, multiple ABs, two laptops, azure vm ab, last one wins,
 > last ab wins, relay fight, ab fighting, commands go to wrong machine, target a specific ab,