app
Pup - the AI's own browser
Public Made by Adomby adom
pup gives your AI a real browser on your desktop that it drives completely, in the background, signed in as you: windows that never jump in front of your work, one shared profile that learns your logins, and every window labeled on the taskbar with its AI thread's name.
← Commit history
doctrine: orphaned lane browser + upgrade cycle (pup-bridge#121)
1 file changed
+16
dev-skills/pup-user-foreground/SKILL.md+16@@ -377,3 +377,19 @@ named every remaining raise. Read these before touching the birth again: The gate passed 4 of 4 on 2.0.641 (ConfRoomROG) and the z-watch episodes are all under one frame. The instrumentation stays in: the log now carries ms timestamps, and the z-watch lines are the first thing to read when anyone says a window appeared.++## A lane nobody owns, and an upgrade that must not reload in place (2.0.647, pup-bridge#121, 2026-09-19)++An hour lost on AdomLapper: a pup restart (bridge_install) lost the pid list of the browser it had launched; the+browser stayed alive on `--keep-alive-for-test`, held the profile lock, and every later launch printed "Opening in+existing browser session." to a stderr nobody reads and exited 0. pup logged only "never called home within 25 s"+and relaunched into the same wall, 60 s per open. Rules now in code:++1. Before any cold launch with the lane not alive, list browser processes whose command line names the lane+ profile and end them (`orphan_browser_pids`); `pup_readiness` reports them as `orphanedBrowser` first.+2. A worker that is behind pup after an upgrade is never reloaded in place (`chrome.runtime.reload()` broke the+ channel: every verb answered browser_gone with the windows alive). It is cycled through the crash-restore path:+ reserve every extension window, end the lane as pup's own kill, relaunch each window from its file on the+ re-staged extension. A bare kill (2.0.646) made recovery FORGET the windows because the kill cleared the pid+ list recovery reads: reserve and relaunch explicitly, never trust the health tick to notice.+3. A diagnostic that reports "0 processes" while a profile lock is held is lying: check the filter, not the box.