← Commit history

Publish 1.9.202

John Lauer ·b9539143a7 ·3mo ago ·parent a7f0fa3
3 files changed +44−2
SKILL.md+42
@@ -363,3 +363,45 @@ that owns it. **Do NOT `export ADOM_AI_THREAD`** — threads share one container and one `$HOME`, so it names the shell rather than you: every thread reports the same name, which is worse than none because it is confident and wrong. Pass it per call (or `{"caller":{"aiThread":"..."}}` in the args).++## AUDIT YOURSELF — the standard procedure when John says "audit your windows" (2026-07-30)++**"Audit your windows" ALWAYS includes the ICONS.** John had to tell me this twice: I reported+sessions, health, geometry and logs and left the taskbar out, and the icon state was where the real+regressions were hiding (a window that silently lost its badge after a restart; 8 stale AUMID keys for+3 windows). An audit without the icon section is not an audit — and it is not finished until you have+looked at the taskbar ON GLASS, because the API reports a badge as applied while it is invisible.++Run ALL SEVEN sections, in this order, and report them as a table:++1. **Sessions (bridge view)** — `browser_list_windows`: count, sessionId, owner, tabCount, profile,+   ageMinutes, `_degraded`. Flag: owner:null (ownership protection is off), duplicate sessions+   pointing at one window, a tabCount that does not match what was opened.+2. **ICONS / TASKBAR (never skip)**+   - per window: the `overlay` field — `favicon+adom:<host>` (correct), `count:N`, or `none` **plus+     its reason**. A `none` on a favicon-serving page is a regression; a `none` on local PDFs is+     legitimate (no favicon exists).+   - AUMID keys: `reg query HKCU\Software\Classes\AppUserModelId` filtered to `Adom.Pup*`.+     Expect **exactly 1** (`Adom.Pup`) under minimalTouch. More = stale keys from closed windows, or+     per-window identity churn that destroys/recreates taskbar buttons.+   - **ON GLASS:** `desktop_screenshot_screen`, crop the taskbar strip, and LOOK. Confirm each pup+     button wears the composite badge (page favicon + Adom mark inset flush in the lower-right).+     Report how many of N windows are actually badged.+3. **OS ground truth** — `desktop_find_window {titleContains:"(session:"}`: one real window per+   session (no ghosts, no untracked strays), and each rect at the standard inset frame+   (15,15 2531x1499 on this laptop). A maximized window reads ~-11,-11 2582x1550 — that is+   maximized, not stranded. `-32000,-32000` = minimized, confirm with IsIconic before calling it lost.+4. **Health** — `browser_eval` per window: `readyState`, `visibilityState`, a `1+1` drivability check.+   `visibilityState:hidden` is NORMAL for a parked/minimized window; only **frontmost-yet-hidden** is+   the broken state. Note any crashed tabs.+5. **Log** — `bridge_log_read`, count `[crash] [heal] [health] [unstick] [disconnect] [reclaim]+   [tabs] park-failed Handler error`. Explicitly report **park-failed** and **[reclaim] adopted**+   lines: a park-failed window is sitting wherever Chrome left it, and an adoption means pup LOST a+   window and re-bound it (which produces duplicate sessions for one window).+6. **Chrome footprint** — procs + total MB, and **pup's share vs the user's own Chrome**. Never+   report a big total as if it were all pup's.+7. **Cleanup state** — leftover test windows, phantom sessions, stale session files.++**Report rules:** state what is WRONG first, name which findings are your own regressions, and never+present an API-reported success (badge applied, verb ok:true) as proof — prove it on glass or in the+page.
package.json+1−1
@@ -1,6 +1,6 @@ {   "slug": "adom-desktop-puppeteer-bridge",-  "version": "1.9.201",+  "version": "1.9.202",   "type": "app",   "description": "The pup SKILL PACK \u2014 the AI skills that teach a cloud/container AI how to drive the Adom Desktop Puppeteer (pup) bridge (browser_* verbs): the everyday `pup` skill plus focused sub-skills for windows/sessions/tabs, screenshots+recording, browsers+Chrome install, and driving the Adom wiki. Installs into ~/.claude/skills + ~/.codex/skills. DOCS ONLY \u2014 this is NOT the bridge runtime. The bridge itself (the Node program that drives the browser) runs on the DESKTOP: Adom Desktop bundles it and auto-installs/updates it, and it's published separately on the Releases tab as adom-bridge-puppeteer-v<ver>.zip. So the pkg version (skills, bumps often) and the Release version (runtime, bumps rarely) differ on purpose. TL;DR: pkg install = the skills for your AI; the bridge = the Release zip, which Adom Desktop manages for you.",   "keywords": [
page.json+1−1
@@ -4,7 +4,7 @@   "slug": "adom-desktop-puppeteer-bridge",   "title": "Adom Desktop - Puppeteer Bridge",   "brief": "The Adom Desktop Puppeteer (pup) bridge — drive a real headful browser on the user's desktop from the cloud: open/screenshot/eval/record. Cold-start drives the browser ALREADY on the machine (installed Chrome, else Microsoft Edge — every Windows PC ships with Edge) with a fresh isolated profile, so the common case needs NO download; Chrome for Testing is fetched only as a last resort. Two artifacts: the Releases zip is the bridge runtime (also bundled in Adom Desktop); the pkg installs the container-side Claude skills.",-  "version": "1.9.201",+  "version": "1.9.202",   "tags": [     "skills",     "pup",