From 2e693a5918c252ade9fdf0fc147502822f492fbb Mon Sep 17 00:00:00 2001 From: Garry Tan Date: Sat, 29 Aug 2026 05:08:47 +0000 Subject: [PATCH] fix(test): decouple slop:diff from bun run test; quality-gate runs it per PR MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 'bun run test' silently appended up to two 120s npx slop-scan runs plus a git worktree add/remove after the suite (2>/dev/null || true) — invisible in the documented '~90-100s' timing and pure friction in the pre-commit loop. Decoupling is not coverage removal: quality-gate.yml now runs slop:diff on every PR (advisory, matching its in-repo 'never blocking' contract), and /review already invokes it explicitly. Co-Authored-By: Claude Fable 5 --- .github/workflows/quality-gate.yml | 8 ++++++++ package.json | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/.github/workflows/quality-gate.yml b/.github/workflows/quality-gate.yml index 43375e669..6fc745e75 100644 --- a/.github/workflows/quality-gate.yml +++ b/.github/workflows/quality-gate.yml @@ -43,6 +43,14 @@ jobs: - name: Install frozen dependencies run: bun install --frozen-lockfile --ignore-scripts + # Advisory slop scan of branch-changed files. Lived inside `bun run + # test` before (silently appended, up to 240s invisible in the "~90s + # suite" claim); decoupling it from the pre-commit loop is only honest + # if a per-PR path still runs it — this is that path. || true: quality + # signal, never a gate (/review runs it interactively too). + - name: Slop scan (changed files, advisory) + run: bun run slop:diff || true + - name: Scan changed text for credentials (added lines, own redact engine) env: BASE_SHA: ${{ github.event.pull_request.base.sha || github.event.before }} diff --git a/package.json b/package.json index 2b94b0d60..1e0155c74 100644 --- a/package.json +++ b/package.json @@ -19,7 +19,7 @@ "gen:skill-docs:user": "bun run scripts/gen-skill-docs.ts --respect-detection", "dev": "bun run browse/src/cli.ts", "server": "bun run browse/src/server.ts", - "test": "bun run scripts/test-free-shards.ts && (bun run slop:diff 2>/dev/null || true)", + "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:evals": "EVALS=1 bun test --retry 1 --concurrent --max-concurrency ${EVALS_CONCURRENCY:-15} test/skill-llm-eval*.test.ts test/skill-e2e-*.test.ts test/skill-routing-e2e.test.ts test/codex-e2e*.test.ts test/gemini-e2e.test.ts test/llm-judge-recommendation.test.ts test/carve-section-loading.test.ts",