fix(ci): Bun-first runtime policy; retire two gates that enforced the opposite - #29
Conversation
… opposite Authority: standards LANGUAGE-POLICY.adoc §1 (added 2026-07-29) -- Bun > Deno > pnpm > npm. REPLACED npm-bun-blocker.yml -> runtime-policy.yml The old gate failed any build carrying bun.lockb with 'npm/bun artifacts detected. Use Deno instead.' It blocked what is now the FIRST-choice runtime and mandated the second. Present in 55 repos; zero repos had adopted Bun, because adopting it would have turned them red. The replacement fails on something real -- MIXED TOOLCHAINS, two package managers' lockfiles in one repo, i.e. two dependency graphs that can disagree -- and reports the tier in use otherwise. npm is tier 4 but PERMITTED, so it warns rather than blocks. Red-teamed both directions before shipping: none/bun/deno/npm alone -> exit 0; bun+npm and deno+pnpm -> exit 1. DELETED ts-blocker.yml It enforced 'use ReScript instead'. ReScript is itself retired estate-wide, so it policed a dead alternative. Worse, it could not fail: it diffed git diff HEAD~1 on a depth-1 checkout, where HEAD~1 does not exist, sent the error to /dev/null and used || true -- so the match set was ALWAYS empty. Measured 20/20 runs green; it has never once fired. Neither workflow is a required status check in any ruleset, so removing them creates no phantom context. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
|
Note Automatic reviews are paused because your trial's included automatic processing has been used for this period. Upgrade now, or comment "Gitar review" to run a review anytime. Code Review ✅ ApprovedAdopts a Bun-first CI runtime policy by replacing npm-bun-blocker.yml with runtime-policy.yml to catch mixed toolchains and retiring the defunct ts-blocker.yml gate. No issues found.
OptionsDisplay: compact → Showing less information. Comment with these commands to change the behavior for this request:
Was this helpful? React with 👍 / 👎 | Gitar |
|
|



Authority:
standards/LANGUAGE-POLICY.adoc§1 — Bun > Deno > pnpm > npm.Replaced
npm-bun-blocker.yml→runtime-policy.yml. The old gate failed any build carryingbun.lockbwith "Use Deno instead" — blocking the new first choice and mandating the second. It was in 55 repos, and zero repos had adopted Bun, because doing so would have turned them red.The replacement fails on something real — mixed toolchains (two package managers' lockfiles, i.e. two dependency graphs that can disagree) — and reports the tier in use otherwise. npm is tier 4 but permitted, so it warns rather than blocks. Red-teamed both ways: none/bun/deno/npm alone → exit 0; bun+npm and deno+pnpm → exit 1.
Deleted
ts-blocker.yml. It enforced "use ReScript instead" — ReScript is itself retired — and it could not fail:git diff HEAD~1on a depth-1 checkout, error to/dev/null,|| true. 20/20 runs green, never once fired.Neither is a required status check anywhere, so this creates no phantom context.
🤖 Generated with Claude Code