v1.99.3.0 release (#4342)

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
This commit is contained in:
Garry Tanandcapy-ai[bot] authored and GitHub committed 2026-11-13 14:11:16 +00:00
1 parent 4414f4cc93
commit 1d3c63c53d
7 files changed
+11 -12

No files matched your search

+8
View File
@@ -1,5 +1,13 @@
# Changelog
## [1.99.3.0] - 2026-11-13
- **/ship's documentation audit no longer refuses Next.js and SvelteKit route files.** When the Step 14.5 docs audit listed a reviewed or updated file whose path has square brackets, such as `app/api/items/[id]/route.ts`, `[...slug]` or `[[...opt]]`, the result check read the brackets as a glob, refused the result with `DOCS_RESULT_INVALID` on both attempts, and stopped an unattended /ship at Blocked recovery even though the audit found nothing wrong (#4313). A listed path that holds `*`, `?`, `[` or `]` now counts as a file when that exact file exists from the repository root, so file-routed projects ship normally. A pattern such as `docs/*.md` or `docs/[ab].md`, or a bracketed path that names no file, is still refused as a glob.
- **The transcript-scope brain-sync tests no longer time out on a bare local `bun test` (2026-11-12 daily flaky pass, GST-2555).** Each of the file's four cases spawns `gstack-brain-sync`, `gstack-config` and git several times, and the two push-retry cases take 3.4 to 5.6 seconds on a 4-core machine with nothing else running. Under bun's 5-second default they timed out in 3 of 8 runs there, while CI and the pregate runner already allow 30 seconds per test. The file now sets that same 30-second default, so a local focused run agrees with CI (12 of 12 cases passed in three bare runs). No assertion, threshold, trial count or retry changed.
- **A change that only edits tests now gets one reviewer in /ship.** A pull request whose diff touched only test files (for example, a test switched to a scripted clock) made `gstack-review-plan` print a plan with zero readers, so the only review was the author's own core checklist read, and /ship carried on as if the change had been reviewed. Review policy (R51) gives tests one reviewer and one round. Now a tests-only diff plans one batched reader on the Testing checklist (`DISPATCH: specialist batched effort=medium checklists=testing`), which leaves any docs in the diff out of what it reads, and a clean pass or below-floor fixes still end the loop after that one round. A change that only touches registered generated outputs gets one batched reader on the code checklists too. A docs-only diff still plans no reader, and the plans for code, gate-class and security changes are unchanged.
## [1.99.2.0] - 2026-11-12
- **Browser skills and question preferences work again from Codex, Cursor and the other non-Claude hosts' gstack folders.** Setup gives each of those hosts its own gstack folder (`~/.codex/skills/gstack` and the like) with no `package.json` or `node_modules`, and records the gstack checkout it came from in `.source-path`. `gstack-browser-ensure`, which every browser skill runs first, looked for Playwright only in that folder, so it reported `BROWSER_UNAVAILABLE playwright is not installed` even when the checkout had it. It now uses the checkout's dependencies, but only when the folder has no `package.json` of its own and `.source-path` is a regular file naming an absolute path whose real directory holds gstack's own `package.json` and `bin/gstack-browser-ensure`, neither one a link. An empty, stale, relative or linked pointer, or a directory that isn't gstack, is ignored as before, and `--check` still never writes. Setup also now puts `scripts/one-way-doors.ts` and `scripts/psychographic-signals.ts` in those folders. The question-preference helper loads them at run time, so its `--check` and `--signal-keys` stopped with `Cannot find module './scripts/one-way-doors.ts'`. Thanks to @SatriaSuriaAriffin, who found and reported both (#4290).
+1 -1
View File
@@ -1 +1 @@
1.99.2.0
1.99.3.0
+1 -1
View File
@@ -1,4 +1,4 @@
# gstack digest v1.99.2.0 — regenerate/re-copy after upgrading gstack
# gstack digest v1.99.3.0 — regenerate/re-copy after upgrading gstack
Behavioral rules from gstack (https://github.com/garrytan/gstack), compressed
for agent hosts without a full skill install. The full skills add workflows,
@@ -1,4 +0,0 @@
---
important: blocker
---
- **/ship's documentation audit no longer refuses Next.js and SvelteKit route files.** When the Step 14.5 docs audit listed a reviewed or updated file whose path has square brackets, such as `app/api/items/[id]/route.ts`, `[...slug]` or `[[...opt]]`, the result check read the brackets as a glob, refused the result with `DOCS_RESULT_INVALID` on both attempts, and stopped an unattended /ship at Blocked recovery even though the audit found nothing wrong (#4313). A listed path that holds `*`, `?`, `[` or `]` now counts as a file when that exact file exists from the repository root, so file-routed projects ship normally. A pattern such as `docs/*.md` or `docs/[ab].md`, or a bracketed path that names no file, is still refused as a glob.
@@ -1 +0,0 @@
- **The transcript-scope brain-sync tests no longer time out on a bare local `bun test` (2026-11-12 daily flaky pass, GST-2555).** Each of the file's four cases spawns `gstack-brain-sync`, `gstack-config` and git several times, and the two push-retry cases take 3.4 to 5.6 seconds on a 4-core machine with nothing else running. Under bun's 5-second default they timed out in 3 of 8 runs there, while CI and the pregate runner already allow 30 seconds per test. The file now sets that same 30-second default, so a local focused run agrees with CI (12 of 12 cases passed in three bare runs). No assertion, threshold, trial count or retry changed.
@@ -1,4 +0,0 @@
---
important: regression
---
- **A change that only edits tests now gets one reviewer in /ship.** A pull request whose diff touched only test files (for example, a test switched to a scripted clock) made `gstack-review-plan` print a plan with zero readers, so the only review was the author's own core checklist read, and /ship carried on as if the change had been reviewed. Review policy (R51) gives tests one reviewer and one round. Now a tests-only diff plans one batched reader on the Testing checklist (`DISPATCH: specialist batched effort=medium checklists=testing`), which leaves any docs in the diff out of what it reads, and a clean pass or below-floor fixes still end the loop after that one round. A change that only touches registered generated outputs gets one batched reader on the code checklists too. A docs-only diff still plans no reader, and the plans for code, gate-class and security changes are unchanged.
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "gstack",
"version": "1.99.2",
"version": "1.99.3",
"description": "Garry's Stack — Claude Code skills + fast headless browser. One repo, one install, entire AI engineering workflow.",
"license": "MIT",
"type": "module",