gstack 1.99.4.0: /ship keeps its second-model review when OpenAI refuses it

9 hours ago

gstack 1.99.4.0: when OpenAI refuses /ship's second-model review under its cyber-security policy, Capy's /ship retries it on GPT-6 Astra, then Gemini 4 Carbon. Reviewers now state their blocker count, gbrain setups under GBRAIN_HOME sync to the right brain, and three /ship fixes land. Changelog 1.99.4.0: https://github.com/garrytan/gstack/blob/main/CHANGELOG.md#19940---2026-11-14 Commits: https://github.com/garrytan/gstack/commits/main gstack: https://github.com/garrytan/gstack

Ask about this presentation

Chapters

  1. 0:00OpenAI refusals
  2. 0:15When every model refuses
  3. 0:28Blocker count
  4. 0:43GBRAIN_HOME
  5. 0:58Three /ship fixes
  6. 1:12Changelog
Show transcript
  1. When OpenAI refused /ship's outside review as a cyber-security risk, that second read was lost. On Capy, /ship now asks GPT-6 Astra again for a read-only correctness review, and then Gemini 4 Carbon.

    Slide text
    gstack logo

    gstack’s /ship keeps its second-model review when OpenAI refuses it

    outside voice: OpenAI declined · cyber_policy
    RETRY → GPT-6 Astra · read-only correctness review
    RETRY → Gemini 4 Carbon · brief unchanged
    Refusals Limits Blockers gbrain Fixes
    garrytan/gstack · CHANGELOG.md
  2. If all three models refuse, the native review still runs, and the pull request lists the missing read as a coverage gap. The Codex CLI and API runners name the refusal but do not retry.

    Slide text

    If every model refuses, the pull request says the second read is missing

    Still runs: the native review
    PR body: lists the gap as missing coverage, never as a pass
    No retry yet: the Codex CLI and API runners report the new reason only
    Refusals Limits Blockers gbrain Fixes
    garrytan/gstack · CHANGELOG.md
  3. Every blocking reviewer in /ship now ends with one line counting its blocking findings. If gstack parsed fewer blockers, it adds a critical row for each missing one, so a blocker the parser misses still blocks.

    Slide text

    /ship’s reviewers now state how many findings block, and gstack checks the count

    REVIEW_VERDICT: blocking=3
    findings parsed: 2 blocking
    → CRITICAL row added for the missing blocker
    Refusals Limits Blockers gbrain Fixes
    garrytan/gstack · CHANGELOG.md
  4. With two brains on one machine, gstack read the config in the home folder and ignored GBRAIN_HOME, so the source wireup could sync to the wrong brain. The wireup, skill start and health checks now follow GBRAIN_HOME.

    Slide text

    gstack now finds gbrain’s config under GBRAIN_HOME, so syncs reach the right brain

    GBRAIN_HOME=/srv/brain
    ~/.gbrain/config.json
    → /srv/brain/.gbrain/config.json
    Source wireup, skill start and /health all follow it. Nothing changes when GBRAIN_HOME is unset.
    Refusals Limits Blockers gbrain Fixes
    garrytan/gstack · CHANGELOG.md
  5. Tests in hidden folders like the GitHub scripts folder now run instead of failing. The outside review renders again for pull requests over two megabytes, and a results manifest you exclude by name leaves the review.

    Slide text

    /ship stops failing on hidden test folders and oversized pull requests

    Hidden folders: tests under .github/scripts/ now run on Bun 1.4 instead of failing the lane
    Over 2 MB: the second-model review renders on its own again
    Data files: a manifest.json named by file name in review_exclude_paths leaves the review diff
    Refusals Limits Blockers gbrain Fixes
    garrytan/gstack · CHANGELOG.md
  6. If you run /ship on Capy, or keep a brain under GBRAIN_HOME, I would take this update, though the model retry needs a Capy machine. The gstack changelog has every detail, including a check for misdirected syncs.

    Slide text
    gstack logo

    Running /ship on Capy, or gbrain under GBRAIN_HOME? Take this one.

    gstack CHANGELOG.md
    Each change in full, with a check for syncs that went to the wrong brain.
    Refusals Limits Blockers gbrain Fixes
    garrytan/gstack · CHANGELOG.md

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