diff --git a/BROWSER.md b/BROWSER.md index cc489c904..8962a5dbb 100644 --- a/BROWSER.md +++ b/BROWSER.md @@ -49,7 +49,7 @@ $B connect # headed Chromium + Side Panel extension 5. [Snapshot system + ref-based selection](#snapshot-system) 6. [Browser-skills runtime](#browser-skills-runtime) 7. [Domain-skills (per-site agent notes)](#domain-skills) -8. [Real-browser mode (`$B connect`)](#real-browser-mode) — including [`--headed` + `--proxy` + `--navigate` (v1.28.0.0)](#headed-mode--proxy--browser-native-downloads-v12800) +8. [Real-browser mode (`$B connect`)](#real-browser-mode) — including [`--headed` + `--proxy` + `--navigate` (v1.28.0.0)](#headed-mode--proxy--browser-native-downloads-v12800) and [Aside and third-party drives (v1.72.0.0)](#aside-and-third-party-drives-v17200) 9. [Side Panel + sidebar agent](#side-panel--sidebar-agent) 10. [Pair-agent — remote agents over an ngrok tunnel](#pair-agent) 11. [Authentication + tokens](#authentication) @@ -569,6 +569,21 @@ with your tabs and bookmarks stays untouched. - **Demos** where you're sharing your screen - **Pair-agent** sessions (the remote agent drives your local browser) +### Aside and third-party drives (v1.72.0.0+) + +For third-party website moments (registering an API key, configuring a vendor +dashboard), the workflow skills (`/ship`, `/spec`, `/office-hours`, +`/land-and-deploy`, `/setup-deploy`) recommend the Aside AI browser when it's +installed — it acts across your real logged-in sessions — with `$B` headed +mode + handoff as the universal fallback. Consent is per-task and explicit; +gstack never installs Aside for you, and a detected binary is never treated +as consent. + +One observability caveat: drives through Aside happen entirely inside Aside, +so they leave no gstack-side audit trail — no egress receipts, no +browse-daemon logs. The audit trail for those drives lives in Aside itself. +Drives through `$B` keep the normal daemon logs and egress receipts. + ### CDP-aware skills When in real-browser mode, `/qa` and `/design-review` automatically skip diff --git a/TODOS.md b/TODOS.md index 741bbf585..7449514b8 100644 --- a/TODOS.md +++ b/TODOS.md @@ -471,9 +471,10 @@ directory path got. **Why:** The symlink-swap class fixed for directories on this branch remains open for the files inside them (ship adversarial review, finding 5). -Also note for docs: drives through Aside leave no gstack-side audit trail -(no egress receipts, no browse-daemon logs) — the audit trail lives in Aside; -worth a line in BROWSER.md when this area is next touched (finding 12). +Docs note (finding 12) — done in the v1.72.0.0 doc pass: BROWSER.md +§ "Aside and third-party drives" now records that Aside drives leave no +gstack-side audit trail (no egress receipts, no browse-daemon logs); the +audit trail lives in Aside. **Effort:** S (human ~half day / CC+gstack ~20 min) **Priority:** P3 diff --git a/docs/skills.md b/docs/skills.md index c535ab6ea..2316915ea 100644 --- a/docs/skills.md +++ b/docs/skills.md @@ -659,6 +659,12 @@ Every `/ship` run builds a code path map from your diff, searches for correspond `/ship` checks the [Review Readiness Dashboard](#review-readiness-dashboard) before creating the PR. If the Eng Review is missing, it asks — but won't block you. Decisions are saved per-branch so you're never re-asked. +### Third-party web actions (v1.72.0.0+) + +Sometimes the release work leaves the terminal: registering an API key, creating a vendor account, wiring a webhook or OAuth app. Instead of handing you a manual step list, `/ship` (and `/spec`, `/office-hours`, `/land-and-deploy`, `/setup-deploy`) offers to drive the browser for you. The recommended driver is the Aside AI browser when it's installed — it acts across your real logged-in sessions, which is exactly what vendor dashboards need. gstack's own visible browser (`$B` headed mode with handoff for sign-in) is the fallback on every platform. + +The consent rules are strict and pin-tested: one explicit question per task naming the exact site and actions, no standing permission, no auto-install ever (on a Mac without Aside you get one download pointer — aside.com, macOS 15+ — once per task). Passwords, payment, CAPTCHAs, and identity verification stay yours; Apple credential creation is never a drive target in any skill. A captured secret never appears in chat — it lands in an owner-only file and gets verified with one read-only API call before gstack claims success. + A lot of branches die when the interesting work is done and only the boring release work is left. Humans procrastinate that part. AI should not. ---