☰
Dashboard SSE: report snapshot failures instead of swallowing them. The stream caught any error from dashboardSnapshot(…
Document the foreground-caption rule in the pup skill and the maintainer skill (John). Foregrounding is a rude operatio…
Fix the dashboard's dead script. The action buttons added in 1.9.226 inlined onclick handlers INSIDE the page's templat…
Dashboard: actions + overlay reasoning (John). ACTIONS — close all windows, close an individual window, close an indivi…
Dashboard hierarchy (John): render TASKBAR BUTTON -> window(s) -> tabs, with a favicon on every tab. Which windows shar…
Live pup management dashboard at /dashboard (John's ask), served by the bridge's own HTTP server with SSE. Shows every…
Issue #22 follow-through: add ownerSource to browser_status and browser_list_windows ('declared' when the caller passed…
Issue #22 (AdityaAngajala) — session ownership is no longer opt-in. His Finding 1: owner was an optional self-asserted…
Captions are hard-capped at 2 seconds (John's standing rule, caught live). pupCaption defaulted to 8s and callers were…
Issue #5 (John, 2026-07-06) — browser_raise_os_window now resolves the window by the TRACKED HANDLE instead of matching…
Issue #28 (Drew Owens) — browser_set_viewport no longer pins a window for life. All four of his requested fixes: (1) RE…
Issue #15 — pup now SELF-HEALS its dependencies instead of dying on every respawn. pup ships a source-only zip (node_mo…
Fetch favicons IN-PAGE (with cookies) before falling back to the cookie-less bridge fetch. John: 'the website being loa…
Resolve a pup window's OS handle WITHOUT its title, fixing the taskbar button John has asked about repeatedly. Measured…
Diagnostic: dump the exact composed badge PNG to disk plus the target (hwnd vs titleContains) before handing it to AD,…
THE reason ten badge revisions never appeared: the composite was memo-cached on a key that did NOT include the bridge b…
Remove the deliberate throw my own 1.9.210 revert left in the FIRST no-favicon path, which ran before the 1.9.211 gener…
ACTUALLY FIX the root cause I kept describing instead of doing (John: 'and yet its still not fixed?'). Everything — tas…
Generic badge icons, per John: mirror what Chrome does. A faviconless page now gets a GENERIC WEBPAGE icon (grey globe…
Revert the invented badge placeholder (John: the teal tile was 'hideous', and a full-size Adom logo — 'no it shouldn't'…
Stop depending on SVG in the badge compositor — this is why John kept seeing 'only the Adom mark'. Every fallback I add…
Find and fix the ACTUAL hole behind the bare first taskbar button, by tracing the decode path instead of guessing at pi…
Make the generic no-favicon glyph actually visible. My 1.9.205 glyph used a #123033 plate with 2.2px strokes — nearly t…
A badge must ALWAYS have a main icon (John: 'why does the first taskbar icon still not have a main overlay icon?'). The…
Fix the overlay badges properly — three separate root causes, all mine. (1) WRONG TAB: pup picked the favicon source fr…
Record the AUDIT YOURSELF procedure (icons are MANDATORY) + fix the three regressions that audit found. John, twice: 'w…
Show the foreground REASON on screen, and fix why a PDF window came to the front unasked. (1) John: 'every time you ope…
Record the native-input hard rule in the SUB-SKILL and BOTH maintainer skills, not just the main SKILL.md (John: 'have…
HARD RULE recorded + enforced: never send native OS input without warning the user first. What happened: an agent (me)…
Fix the Bills thread's second-pass findings + the root cause of the input-blocking freeze. ORPHANED CURSOR: pre-1.9.196…
Fix 6 real-session bugs reported by the Bills thread driving Chase Connect's login. BUG 1: browser_press_key ignored mo…
Cursor: port HD's AI cursor byte-faithful + add the Adom mark (John: 'we should have a consistent cursor in all of our…
Pre-emptively refuse guaranteed-broken file:// URLs (John: a thread opened file:///home/adom/project/.../helium-lab.htm…
Badge: the Adom favicon sits WHOLE and FLUSH in the lower-right corner (John's correction). Dropped the dark disc/conta…
Badge design per John: no plate. The badge IS the page's own favicon at full bleed with the Adom mark inset into its lo…
Composite badge: light plate so dark favicons are visible. Proven on glass in 1.9.191 that the wiki badge rendered but…
Composite taskbar badge: favicon + Adom mark, overlay-only branding (John's design). Overlays are the GENTLE branding p…
Seal minimal-touch so the experiment measures what it claims. A systematic sweep of every desktop_taskbar / set_window_…
Taskbar-state audit fixes (John: 'you still seem to be inconsistent with how you handle them'). (1) applyAppOverlay lea…
Gate the AUMID stamp at its choke point so minimal-touch is actually silent. Live measurement showed mt3 still getting…
Close the last two minimal-touch leaks found by live measurement: per-verb auto-flash (scheduleAutoFlash) and the post-…
Close the minimal-touch leaks the first live check caught: the launch path still fired a taskbar flash, stamped a per-s…
Stop doing the extra things to Chrome, instead of monitoring harder (John: 'you crash chrome with the way you control i…
Stop the unstick misfire that kept clicking the user's screen (John: 'why does the mouse keep jumping to the upper righ…
Unstick last-resort upgraded to a REAL input click (proven cure). The stuck-occlusion state (window frontmost, page rep…
EMERGENCY: revert+harden the v1.9.181 tab reconciler that destroyed live windows (John's smu-deck-pup2 and wiki-review…
THE FIGHT-THE-USER FIX (John: 'pup windows still don't behave well and seem to freeze a lot' — he was right, pup was do…
STUCK-OCCLUSION auto-unstick (root-caused live on John's Slides window): after a browser-process hang, Chrome's occlusi…
Fix inflated tab counts + vanished overlay icons (John caught count:4 on 1-tab windows). Root cause: rescanProfile keye…
Crashed-renderer recovery: require STABLY-alive (two consecutive readyState reads ~700ms apart) before declaring a resp…