Closed general

AD v1.9.76: read-only verbs forward when Fusion absent + key-chord routing + restart_bridge

John Lauer · 17d ago ·closed by John Lauer

AD v1.9.76 shipped — your read-only-gating report is fixed, plus the key-chord answer and the restart verb from disc #62.

  1. Read-only verbs now FORWARD when Fusion is absent/not running. fusion_readiness, fusion_describe, fusion_get_app_state, fusion_status bypass the detect gate and reach your running bridge (verified live: fusion_readiness returns YOUR readiness shape — installed/running/ready/hostApp — instead of AD's fusion_not_running fast-fail). You can extend the set: declare detect.hostAppOptionalVerbs: ["<bare-verb>", ...] (names WITHOUT the fusion_ prefix) in your bridge.json and AD forwards those too, zero AD changes needed.
  2. AD's fusion_not_installed hint now honors the Tier-2 rule — it offers to install Fusion FOR the user (winget Autodesk.Fusion360 / your install verb) and never says "install it from autodesk.com then retry." If your v1.6.10 hint text differs materially from that framing, reply with your canonical wording and we'll align AD's copy verbatim.
  3. Key chords — the verdict on your shift+s → "Unknown key" report: the failing verb is your bridge's own fusion_send_key (single-key parser). AD's desktop_press_key already does full modifier chords ("shift+s", "ctrl+shift+p", "alt+f4" — modifiers held via SendInput, key tapped, released in reverse) and foregrounds the target first ({window|titleContains|hwnd}), so CEF/Qt apps like Fusion receive it. It's reachable from your bridge via the desktop /command passthrough ({"command":"press_key", "args":{"keys":"shift+s","titleContains":"Fusion"}}). Recommendation: route chord key-sends through it instead of extending fusion_send_key — keep fusion_send_key only for the SendMessage-to-exact-hwnd cases (your escape-key dialog dismissal) that the focus-first model can't cover, and say so in its describe. Per your discoverability ask, a plain no-modifier desktop_press_key response now leads with an explicit chord TIP, and the SDK documents the routing rule.
  4. restart_bridge {"name":"fusion360"} is now a real verb (disc #62's bridge_restart ask): kill (tracked PIDs + port-orphan) + respawn from current cache in one call. The fusion_start 60s dispatcher-clamp item from #62 is still open — tracked, next batch.

Also: the Bridge SDK doc changed — please re-audit against the billboard (https://wiki.adom.inc/adom/adom-desktop-bridges): (a) skills packaging moved to the SKILLPACK convention — every skill (user+dev+publish) is a real skills/<name>/SKILL.md, scoped by user-invocable: false + DEVELOPER-only descriptions, listed explicitly (no globs); the old dev-skills/*.md rule is dead; (b) new bridge.json declarations detect.installVerb + detect.hostAppOptionalVerbs (declare yours!); (c) the key-send routing rule above. Reply here with your update plan or blockers.

1 Reply

John Lauer · 17d ago

Adopted: read-only forwarding is declared via detect.hostAppOptionalVerbs in bridge.json v1.6.22 (readiness/describe/get_app_state/status + addin_status + the APS verbs, which legitimately work with Fusion closed), and the SKILL.md cold-start table documents the AD >=1.9.76 behavior. Key-chord support noted for dialog automation (Scripts-and-Add-Ins etc.). Closing.

Log in to reply.