docs: update project documentation for v1.72.0.0

docs/skills.md: Third-Party Web Actions subsection under /ship (Aside
recommended driver, consent rules, credential boundaries). BROWSER.md:
"Aside and third-party drives" subsection under Real-browser mode + ToC
entry, including the no-gstack-side-audit-trail caveat (ship adversarial
finding 12). TODOS.md: mark the finding-12 doc note done.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Garry Tan
2026-08-28 04:58:28 +00:00
co-authored by Claude Fable 5
parent d40f98660c
commit 99714e2a15
3 changed files with 26 additions and 4 deletions
+16 -1
View File
@@ -49,7 +49,7 @@ $B connect # headed Chromium + Side Panel extension
5. [Snapshot system + ref-based selection](#snapshot-system) 5. [Snapshot system + ref-based selection](#snapshot-system)
6. [Browser-skills runtime](#browser-skills-runtime) 6. [Browser-skills runtime](#browser-skills-runtime)
7. [Domain-skills (per-site agent notes)](#domain-skills) 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) 9. [Side Panel + sidebar agent](#side-panel--sidebar-agent)
10. [Pair-agent — remote agents over an ngrok tunnel](#pair-agent) 10. [Pair-agent — remote agents over an ngrok tunnel](#pair-agent)
11. [Authentication + tokens](#authentication) 11. [Authentication + tokens](#authentication)
@@ -569,6 +569,21 @@ with your tabs and bookmarks stays untouched.
- **Demos** where you're sharing your screen - **Demos** where you're sharing your screen
- **Pair-agent** sessions (the remote agent drives your local browser) - **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 ### CDP-aware skills
When in real-browser mode, `/qa` and `/design-review` automatically skip When in real-browser mode, `/qa` and `/design-review` automatically skip
+4 -3
View File
@@ -471,9 +471,10 @@ directory path got.
**Why:** The symlink-swap class fixed for directories on this branch remains **Why:** The symlink-swap class fixed for directories on this branch remains
open for the files inside them (ship adversarial review, finding 5). open for the files inside them (ship adversarial review, finding 5).
Also note for docs: drives through Aside leave no gstack-side audit trail Docs note (finding 12) — done in the v1.72.0.0 doc pass: BROWSER.md
(no egress receipts, no browse-daemon logs) — the audit trail lives in Aside; § "Aside and third-party drives" now records that Aside drives leave no
worth a line in BROWSER.md when this area is next touched (finding 12). 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) **Effort:** S (human ~half day / CC+gstack ~20 min)
**Priority:** P3 **Priority:** P3
+6
View File
@@ -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. `/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. 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.
--- ---