gstack 1.97.0.0’s browser stops trusting compromised certificates, and /investigate can demand a root cause

42 minutes ago

gstack 1.97.0.0: the bundled browser stops trusting the compromised eMudhra certificate authorities (Playwright 1.65.0, Chromium 158), the browse audit log stops saving typed secrets, and new opt-in gates hold /investigate to a root cause and /plan-ceo-review to a ranked list of top risks. Changelog: https://github.com/garrytan/gstack/blob/main/CHANGELOG.md#19700---2026-11-06 Skill gates: https://github.com/garrytan/gstack/blob/main/docs/skill-gates.md Commits: https://github.com/garrytan/gstack/commits/main gstack: https://github.com/garrytan/gstack

Ask about this presentation

Chapters

  1. 0:00Browser certificates
  2. 0:14Impersonation
  3. 0:28Typed secrets
  4. 0:40Logged URLs
  5. 0:5302 Gates
  6. 0:55/investigate gate
  7. 1:09Shell edits
  8. 1:21/plan-ceo-review gate
  9. 1:3403 /ship
  10. 1:35Audit model
  11. 1:43One diff
  12. 1:55Fewer re-reviews
  13. 2:08Review plan speed
  14. 2:2004 Fixes
  15. 2:21Sync, daemon, AGENTS.md
  16. 2:34gstack-redact
  17. 2:49Stable channel
  18. 3:02Turn the gate on
Show transcript
  1. In gstack 1.97, the bundled browser stops trusting certificates from eight eMudhra authorities whose keys were compromised. It now pins Playwright 1.65, which ships Chromium 158.

    Slide text
    gstack logo

    gstack 1.97.0.0’s browser stops trusting compromised certificates, and /investigate can demand a root cause

    Playwright 1.65.0 Chromium 158
    Eight eMudhra intermediate CAs had their keys compromised.
    Browser Gates /ship Fixes
    garrytan/gstack · CHANGELOG.md · 1.97.0.0
  2. Chrome had already dropped that root, but the old Chromium still carried it and gets no revocation updates, so anyone holding those keys could impersonate a site. Now the test site fails.

    Slide text

    Chromium 156 still trusted the root above those keys

    test site page loads ERR_CERT_AUTHORITY_INVALID
    gstack’s headless browser gets no CRLSet updates. The fix arrives with the new Chromium download.
    Browser Gates /ship Fixes
    garrytan/gstack · CHANGELOG.md · 1.97.0.0
  3. The browse audit log used to save a password you filled into a page in plain text. Now every typed value is saved as redacted, and selectors and cookie names stay readable.

    Slide text

    The browse audit log stops saving what you type

    a password passed to fill now [REDACTED]
    text sent with type now [REDACTED]
    cookie, header and storage valuesnames and keys kept
    Browser Gates /ship Fixes
    garrytan/gstack · CHANGELOG.md · 1.97.0.0
  4. Page URLs in the audit and network logs now drop query values and passwords. A goto command still keeps its full URL, and older log lines keep what they already saved.

    Slide text

    Logged URLs keep the host and path, and lose the query values

    ?user=a&password=hunter2pw
    ?user=[REDACTED]&password=[REDACTED]
    Still kept as typed: goto URLs and browse-console.log. Lines written before 1.97.0.0 keep their old values.
    Browser Gates /ship Fixes
    garrytan/gstack · CHANGELOG.md · 1.97.0.0
  5. Gates for two skills.

    Slide text
    02
    Gates
    Opt-in hooks that hold a skill to its own steps
    garrytan/gstack · CHANGELOG.md · 1.97.0.0
  6. On Opus 5.5, the /investigate skill alone got its root cause step followed zero times in 46 runs. The new gate blocks source edits until the session writes down a root cause.

    Slide text

    /investigate can block every fix until there’s a root cause

    0 of 46 runs followed that step from the skill text alone
    Root cause: <what is wrong>
    Browser Gates /ship Fixes
    garrytan/gstack · CHANGELOG.md · 1.97.0.0
  7. Opus often edits through the shell, so the old gate, which watched only Edit and Write, missed those changes. This one catches a sed or a redirect, puts the file back and reports it.

    Slide text

    The gate catches edits made through the shell

    sed -i > redirect tee git apply commit
    The earlier Edit and Write gate held in 13 of 28 sessions. Tests, docs, lockfiles and new files are never blocked.
    Browser Gates /ship Fixes
    garrytan/gstack · CHANGELOG.md · 1.97.0.0
  8. A second gate holds /plan-ceo-review until its review file has a numbered list of top risks. After three blocks it lets the session finish. Both gates are off by default.

    Slide text

    /plan-ceo-review can require a ranked list of top risks

    ## Top risks
    1. …
    2. …
    After 3 blocks the stop goes through. Both gates are off by default.
    Browser Gates /ship Fixes
    garrytan/gstack · CHANGELOG.md · 1.97.0.0
  9. Shipping.

    Slide text
    03
    /ship
    Your model, one diff, fewer repeat reviews
    garrytan/gstack · CHANGELOG.md · 1.97.0.0
  10. The docs, coverage and plan audits in /ship ran on Sonnet 5.5 whatever you set. Now they use your preferred model at low effort.

    Slide text

    /ship’s audits now run on the model you picked

    Sonnet 5.5, always your agent_model
    Docs, coverage and plan audits. With no preference set, they stay on Sonnet 5.5 at low effort.
    Browser Gates /ship Fixes
    garrytan/gstack · CHANGELOG.md · 1.97.0.0
  11. A reviewer brief rendered on its own, like the Red Team's, now gets the same exclusions as the rest. Before, one Red Team refused a 30 megabyte diff while the other readers read 2 megabytes.

    Slide text

    Every reviewer reads the same trimmed diff

    Red Team brief, rendered on its own
    30.3 MB · refused
    the other readers
    2 MB
    Browser Gates /ship Fixes
    garrytan/gstack · CHANGELOG.md · 1.97.0.0
  12. A docs audit's own edits, a policy change that touches none of your files, and a closing line like none of these rises to critical no longer send a pull request back for review.

    Slide text

    Fewer reasons to review the same PR twice

    a docs audit that edits files after the review
    a policy edit that matches none of your PR’s files
    a reviewer’s closing “None of these rises to CRITICAL.”
    Browser Gates /ship Fixes
    garrytan/gstack · CHANGELOG.md · 1.97.0.0
  13. On a results repo of almost 200,000 files, the review plan took over two and a half minutes. It now takes about 30 seconds, because its git calls no longer grow with the tree.

    Slide text

    Review plans on a huge results repo finish in about 30 seconds

    before · 432 git calls
    2 min 38 s
    1.97.0.0 · 76 git calls
    32 s
    A 195,000-file results tree, same output.
    Browser Gates /ship Fixes
    garrytan/gstack · CHANGELOG.md · 1.97.0.0
  14. Smaller fixes.

    Slide text
    04
    Fixes
    Smaller fixes, and a faster stable channel
    garrytan/gstack · CHANGELOG.md · 1.97.0.0
  15. Brain sync stops calling a rejected push an auth error when the remote's address contains author. The browse daemon stops losing its port while Chromium starts. The agents file shrinks to skill names.

    Slide text

    Fixes for brain sync, the browse daemon and AGENTS.md

    gstack-brain-sync retries a rejected push when the remote URL contains “author”
    the browse daemon picks its port after Chromium launches
    AGENTS.md lists skill names only: 9.8 KB down to 2.7 KB
    Browser Gates /ship Fixes
    garrytan/gstack · CHANGELOG.md · 1.97.0.0
  16. The redact scanner flagged code like config.prod as a leaked internal host, and /ship then asked you to confirm. In TypeScript, Dart and Python files, a property read now counts as code.

    Slide text

    gstack-redact stops calling config.prod a leaked hostname

    if (config.prod) → was flagged as a host
    In gstack’s own source, 57 of its 239 findings were property reads like this. TypeScript, Dart and Python files.
    Browser Gates /ship Fixes
    garrytan/gstack · CHANGELOG.md · 1.97.0.0
  17. The stable channel now checks every day. A fix marked security, regression, data loss or blocker reaches stable a day after it lands, and stable falls at most a week behind.

    Slide text

    Important fixes now reach stable within a day

    24 hours for a change marked security, regression, data-loss or blocker
    7 days the longest stable can lag main when main has gated changes
    Browser Gates /ship Fixes
    garrytan/gstack · CHANGELOG.md · 1.97.0.0
  18. If you use /investigate on Opus, I'd turn the new gate on, because it makes the root cause step happen. Setup is in the gstack changelog.

    Slide text

    If you run /investigate on Opus, turn its gate on

    Both gates ship off by default.
    garrytan/gstack · CHANGELOG.md
    Setup for the gates and every other change is in gstack’s changelog and docs/skill-gates.md.
    garrytan/gstack · CHANGELOG.md · 1.97.0.0

What happened in AI today, in your inbox

One short email each evening. Read it and you’re caught up.

Built with ❤️ in New York