mirror of https://github.com/garrytan/gstack.git
Three coupled changes to scripts/test-free-shards.ts: 1. STRICT OUTPUT: runFreeShard streams through the paid runner's BunTestOutputClassifier — exit 0 without bun's 'Ran N tests across M files' summary, with (fail) lines, or with a wrong file count is a FAILURE (anti-truncation backstop at the runner layer), plus an external wall-clock timeout that SIGKILLs the process group (timed-out distinct from failed; exit 124 vs 1). Also fixes a latent shard-bleed: file selectors now use exactTestFileSelectors (relative paths were substring filters that matched sibling roots). 2. PARALLEL: full-suite mode is one 'bun test --parallel' invocation (Bun 1.3.13). Measured semantics recorded in the header: per-file worker isolation, standard summary, and mid-suite process.exit surfaces as a crashed-worker FAIL with exit 1 — strictly safer than serial, where the same exit truncates silently. No static weight lists; --shards M --shard i keeps deterministic hash partitioning for CI matrices (native --shard rejected: round-robin renumbers when files land). Spawned shards get throwaway GSTACK_HOME/TMPDIR so parallel shards can't contend on real state. Per-shard epilogue prints files/seconds/status every run. 3. Stable indices: assignFilesToShards no longer drops empty shards, so a shard's index depends only on the file hash and requested count — an empty CI matrix slot is a fast no-op success, not a renumbering. package.json 'test' now delegates to the runner (TEST_ROOTS becomes the single source of truth for roots; slop:diff tail preserved; the runner inherits the 30s per-test timeout the old glob passed inline). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| app | ||
| host-adapters | ||
| resolvers | ||
| analytics.ts | ||
| archetypes.ts | ||
| brain-cache-spec.ts | ||
| build-app.sh | ||
| build.sh | ||
| capture-baseline.ts | ||
| compare-pr-version.ts | ||
| declared-annotation.ts | ||
| detect-bump.ts | ||
| dev-skill.ts | ||
| discover-skills.ts | ||
| eval-compare.ts | ||
| eval-list.ts | ||
| eval-select.ts | ||
| eval-summary.ts | ||
| eval-watch.ts | ||
| garry-output-comparison.ts | ||
| gen-llms-txt.ts | ||
| gen-skill-docs.ts | ||
| gstack-schema-pack.ts | ||
| host-config-export.ts | ||
| host-config.ts | ||
| jargon-list.json | ||
| models.ts | ||
| one-way-doors.ts | ||
| preflight-agent-sdk.ts | ||
| proactive-suggestions.json | ||
| psychographic-signals.ts | ||
| question-registry.ts | ||
| setup-scc.sh | ||
| skill-check.ts | ||
| slop-diff.ts | ||
| task-emission-schema.ts | ||
| test-free-shards.ts | ||
| test-paid-shards.ts | ||
| test-strict-output.ts | ||
| update-readme-throughput.ts | ||
| write-version-files.sh | ||