mirror of
https://github.com/garrytan/gstack.git
synced 2026-11-03 23:37:53 +01:00
train S5: merge #3936 at e18241cb38 v1.94.20.0
This commit is contained in:
commit
7b8daa96e1
5 files changed
+8
-4
No files matched your search
@@ -1,5 +1,9 @@
|
||||
# Changelog
|
||||
|
||||
## [1.94.20.0] - 2026-11-03
|
||||
|
||||
**The Windows-safe test subset is green again on current main.** `test/qa-report-dir.test.ts` expected `ENOTDIR` when `.gstack` is a file, but Windows reports `ENOENT` for the same mistake, so the test failed on every Windows run (windows-free-tests run 41607809007 at f6d6215). The test now accepts either code on Windows and still requires `ENOTDIR` everywhere else. With Windows checks now running by path, a red subset test would block any pull request that touches it.
|
||||
|
||||
## [1.94.19.0] - 2026-11-03
|
||||
|
||||
Follow-ups to the skill routing and contract hooks (GST-1088). `gstack-ship-queue ready` no longer misreads files a PR adds as deleted when the installed gstack is older than the checkout: the paid-case selector now derives dependencies from the checkout under review. Each of the two hook switches now has one default, `SWITCH_DEFAULT` in `lib/skill-route.ts` (both still off), which setup, both hooks, `gstack-config get|list|defaults` and the new `gstack-skill-route --default <switch>` all read, so changing a default is a one-line edit; `gstack-config list` and `defaults` now show both switches, an unrecognized value takes the default in the hooks as it already did in setup, and a config file that exists but cannot be read turns both hooks off in setup and in the hooks whatever the default. The contract checker no longer counts installs, builds or version probes (`bun install`, `go build`, `node --version`, `make clean`) as a test run after an edit, while option values (`make -C web test`, `pnpm --filter app test`) and `node --test` still count, and the Stop hook lets a final stop through while Agent dispatches are still running, recording the run as `deferred`, then checks the contract once the same agents have been running for 10 minutes; `gstack-skill-contract report` re-checks deferred runs.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# gstack digest v1.94.19.0 — regenerate/re-copy after upgrading gstack
|
||||
# gstack digest v1.94.20.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
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "gstack",
|
||||
"version": "1.94.19",
|
||||
"version": "1.94.20",
|
||||
"description": "Garry's Stack — Claude Code skills + fast headless browser. One repo, one install, entire AI engineering workflow.",
|
||||
"license": "MIT",
|
||||
"type": "module",
|
||||
|
||||
@@ -84,7 +84,7 @@ test('report-dir names the filesystem cause when .gstack is not a directory', ()
|
||||
fs.writeFileSync(path.join(f.root, '.gstack'), 'not a directory\n');
|
||||
const r = f.tool('gstack-qa-evidence', 'report-dir');
|
||||
expect(r.status).toBe(2);
|
||||
expect(r.stderr).toContain('report-dir failed: ENOTDIR');
|
||||
expect(r.stderr).toMatch(process.platform === 'win32' ? /report-dir failed: (ENOTDIR|ENOENT)/ : /report-dir failed: ENOTDIR/);
|
||||
});
|
||||
|
||||
test('report-dir refuses outside a git work tree instead of guessing a location', () => {
|
||||
|
||||
Reference in new issue
Block a user