mirror of
https://github.com/garrytan/gstack.git
synced 2026-11-01 22:45:02 +01:00
* fix(qa-callers): the caller scheduling contract no longer calls a probe read-only discovery (#3153) Census 38212265208 (main @e23f7b807, 2026-10-12) failed ship-exploratory-late-input: "probe preceded resource read: exploratory / system-functional / system-functional". The native events show capture 001 issued in the same provider response as the Reads of ship/sections/plan-completion.md and ship/sections/review-army.md, before the Step 9 section (which holds the "never batch a probe with a Read" STOP) returned and before any QA section was read. The Oct 7 capture (mtb1007a) is the same class. Diagnosis: fixture defect, not product prose. /ship's prose never names the QA capture helper (only qa/sections/exploratory.md does); the fixture prompt supplies it up front, and the fixture's appended scheduling contract (7697fb2, 2026-10-06) told the session to batch "Reads and read-only discovery" while its never-group list omitted Read-result dependencies. The case passed on Oct 3 and Oct 5, before that contract, and failed on Oct 7 and Oct 12 after it. Repair: the contract defines read-only discovery (captures, guard starts/runs and diagnostic-client runs are probes, never discovery), which removes the fixture's own invitation to batch them. It deliberately does not restate the product's Step 9 STOP: the case exists to detect that STOP being lost. The detector (callerProbeReadErrors) is unchanged. Test: the Oct 12 native tool order is replayed inline (no new fixture file, so the paid-runner global inputs stay untouched) with a reordered negative control, and the actual runner callback's contract is checked. Fails on47d639aat the discovery-definition assertion; passes after. Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> * fix(review-army): the simplification case drops its false premise and stages only its section (#3153) Census 38212265208's pass-rate gate flagged review-army-simplification at 159 s of its 180 s session budget (88.1%, above the 85% cap; main-only panel 142/91/146 s). The three Oct 12 transcripts show where the time went: - the prompt claimed "the diff is over 100 lines", but the fixture diff is 68; every trial reconciled that (scope tool, specialist stats, force-include reasoning, coverage-gap prose in the report and final message); - each session read the whole extracted review-SKILL.md and the 18.7 KB checklist, and grepped for a "## Step 4.5" heading the carved fixture no longer has; - the report was unbounded (30-45 s of output composition); trial 3 also dispatched a subagent and re-verified its findings. Repair (fixture work only, budget unchanged at 180 s / 20 turns): the case uses the same stageReviewArmySession/reviewArmyScope staging as perf-n-plus-one and consensus (recorded scope, stats, learnings and diff; only review-army.md and simplification.md staged), selects the specialist with the real /review --simplification force flag, applies the checklist in-session as the original prompt asked, and bounds the report to 30 lines with a brief final acknowledgement. The planted-structure and disavowed-frame assertions are unchanged. Test: review-army-budget.test.ts drives the actual registered callback with a mocked runner (pass control plus two negative controls); it fails on47d639a("Expected to contain: DIFF_LINES: 68") and passes after. Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> * docs(evals): record the #3153 census diagnoses (review-army-simplification headroom, ship-exploratory-late-input) (#3153) Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> * chore(release): tentative v1.91.108.0 stamp and CHANGELOG for the #3153 census repair (#3153) Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> --------- Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
116 lines
5.5 KiB
JSON
116 lines
5.5 KiB
JSON
{
|
|
"name": "gstack",
|
|
"version": "1.91.108",
|
|
"description": "Garry's Stack — Claude Code skills + fast headless browser. One repo, one install, entire AI engineering workflow.",
|
|
"license": "MIT",
|
|
"type": "module",
|
|
"bin": {
|
|
"browse": "./browse/dist/browse",
|
|
"make-pdf": "./make-pdf/dist/pdf"
|
|
},
|
|
"scripts": {
|
|
"build": "bash scripts/build.sh",
|
|
"build:cso": "bash scripts/build-cso.sh",
|
|
"format:cso": "prettier --write 'lib/cso/*.ts'",
|
|
"format:cso:check": "prettier --check 'lib/cso/*.ts'",
|
|
"typecheck": "tsc -p tsconfig.json",
|
|
"typecheck:test": "bun run scripts/typecheck-test.ts",
|
|
"test:cso:docker": "bun test --max-concurrency 1 test/cso-docker-integration.test.ts test/cso-node-lifecycle-integration.test.ts test/cso-stack-cold-integration.test.ts",
|
|
"test:cso:macos": "bun test test/cso-macos-launcher.test.ts test/cso-registry-socket.test.ts",
|
|
"test:cso:windows": "bun test test/cso-windows-launcher.test.ts",
|
|
"vendor:xterm": "mkdir -p extension/lib && cp node_modules/xterm/lib/xterm.js extension/lib/xterm.js && cp node_modules/xterm/css/xterm.css extension/lib/xterm.css && cp node_modules/xterm-addon-fit/lib/xterm-addon-fit.js extension/lib/xterm-addon-fit.js",
|
|
"dev:make-pdf": "bun run make-pdf/src/cli.ts",
|
|
"dev:design": "bun run design/src/cli.ts",
|
|
"build:diagram-render": "cd lib/diagram-render && bun install && bun run scripts/build.ts",
|
|
"build:gates": "bun build --compile make-pdf/src/cli.ts --outfile make-pdf/dist/pdf && bun build --compile browse/src/cli.ts --outfile browse/dist/browse && bun run build:diagram-render",
|
|
"gen:skill-docs": "bun run scripts/gen-skill-docs.ts",
|
|
"gen:skill-docs:user": "bun run scripts/gen-skill-docs.ts --respect-detection",
|
|
"audit:manifest": "bun run scripts/prompt-audit-manifest.ts",
|
|
"dev": "bun run browse/src/cli.ts",
|
|
"server": "bun run browse/src/server.ts",
|
|
"test": "bun run scripts/test-free-shards.ts",
|
|
"test:free": "bun run scripts/test-free-shards.ts",
|
|
"test:windows": "bun run scripts/test-free-shards.ts --windows-only",
|
|
"test:ubicloud": "bash scripts/ubicloud/test-free.sh",
|
|
"test:evals": "bun run scripts/retired-command.ts test:evals",
|
|
"test:evals:all": "bun run scripts/retired-command.ts test:evals:all",
|
|
"test:e2e": "bun run scripts/retired-command.ts test:e2e",
|
|
"test:e2e:all": "bun run scripts/retired-command.ts test:e2e:all",
|
|
"test:gate": "bun run scripts/retired-command.ts test:gate",
|
|
"test:periodic": "bun run scripts/retired-command.ts test:periodic",
|
|
"test:gate:sharded": "bun run scripts/test-paid-shards.ts --tier gate",
|
|
"test:periodic:sharded": "EVALS_ALL=1 bun run scripts/test-paid-shards.ts --tier periodic",
|
|
"test:codex": "bun run scripts/retired-command.ts test:codex",
|
|
"test:codex:all": "bun run scripts/retired-command.ts test:codex:all",
|
|
"skill:check": "bun run scripts/skill-check.ts",
|
|
"dev:skill": "bun run scripts/dev-skill.ts",
|
|
"start": "bun run browse/src/server.ts",
|
|
"eval:bg": "bun run scripts/retired-command.ts eval:bg",
|
|
"eval:bg:all": "bun run scripts/retired-command.ts eval:bg:all",
|
|
"eval:bg:gate": "bun run scripts/eval-bg.ts gate",
|
|
"eval:bg:periodic": "bun run scripts/eval-bg.ts periodic",
|
|
"test:health": "bun run scripts/test-health-report.ts",
|
|
"eval:list": "bun run scripts/eval-list.ts",
|
|
"eval:compare": "bun run scripts/eval-compare.ts",
|
|
"eval:summary": "bun run scripts/eval-summary.ts",
|
|
"eval:flake-rank": "bun run scripts/retired-command.ts eval:flake-rank",
|
|
"eval:pass-rates": "bun run scripts/eval-flake-rank.ts",
|
|
"eval:watch": "bun run scripts/retired-command.ts eval:watch",
|
|
"eval:select": "bun run scripts/eval-select.ts",
|
|
"analytics": "bun run scripts/analytics.ts",
|
|
"test:audit": "bun run scripts/retired-command.ts test:audit",
|
|
"slop": "npx slop-scan scan . 2>/dev/null || echo 'slop-scan not available (install with: npm i -g slop-scan)'",
|
|
"slop:diff": "bun run scripts/slop-diff.ts",
|
|
"test:quick": "bun run scripts/test-free-shards.ts --quick",
|
|
"test:pr": "EVALS_JOBS=${EVALS_JOBS:-2} bun run scripts/test-paid-shards.ts --tier gate --profile pr",
|
|
"test:release": "EVALS_ALL=1 EVALS_FRESH=1 EVALS_CACHE_PURPOSE=release bun run scripts/test-paid-shards.ts --tier gate --profile full && EVALS_ALL=1 EVALS_FRESH=1 EVALS_CACHE_PURPOSE=release bun run scripts/test-paid-shards.ts --tier periodic --profile full",
|
|
"eval:bg:pr": "bun run scripts/eval-bg.ts pr",
|
|
"eval:bg:release": "bun run scripts/eval-bg.ts release"
|
|
},
|
|
"dependencies": {
|
|
"@huggingface/transformers": "^4.3.0",
|
|
"@ngrok/ngrok": "^1.7.0",
|
|
"cross-spawn": "^7.0.6",
|
|
"diff": "^9.0.0",
|
|
"html-to-docx": "1.8.0",
|
|
"marked": "^18.0.11",
|
|
"playwright": "^1.62.1",
|
|
"sharp": "^0.35.4",
|
|
"socks": "^2.8.9"
|
|
},
|
|
"engines": {
|
|
"bun": ">=1.4.2"
|
|
},
|
|
"keywords": [
|
|
"browser",
|
|
"automation",
|
|
"playwright",
|
|
"headless",
|
|
"cli",
|
|
"claude",
|
|
"ai-agent",
|
|
"devtools"
|
|
],
|
|
"devDependencies": {
|
|
"@anthropic-ai/claude-agent-sdk": "0.2.141",
|
|
"@anthropic-ai/sdk": "^0.78.0",
|
|
"@types/bun": "1.4.2",
|
|
"prettier": "3.9.9",
|
|
"typescript": "7.0.2",
|
|
"xterm": "^5.3.0",
|
|
"xterm-addon-fit": "^0.8.0"
|
|
},
|
|
"overrides": {
|
|
"@modelcontextprotocol/sdk": "1.31.0",
|
|
"adm-zip": "^0.6.1",
|
|
"fast-uri": "3.1.8",
|
|
"hono": "4.13.13",
|
|
"ip-address": "10.7.3",
|
|
"proxy-addr": "2.0.8",
|
|
"sharp": "0.35.5"
|
|
},
|
|
"patchedDependencies": {
|
|
"playwright-core@1.62.1": "patches/playwright-core@1.62.1.patch"
|
|
}
|
|
}
|