From 51026088531f7964353fd6ead01162be08fb46f7 Mon Sep 17 00:00:00 2001 From: "Jonathan D.A. Jewell" <6759885+hyperpolymath@users.noreply.github.com> Date: Thu, 27 Aug 2026 10:21:28 +0100 Subject: [PATCH 1/2] =?UTF-8?q?fix(ci):=20stop=20blocking=20Bun=20?= =?UTF-8?q?=E2=80=94=20it=20is=20tier=201,=20not=20an=20anti-pattern?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit npm-bun-blocker.yml FAILED THE BUILD when a Bun lockfile was present. The owner ruled 2026-08-26 that Bun is the estate's tier-1 JS runtime and package manager, and the corrected policy states that "package.json plus bun.lock are expected, not anti-patterns" (standards#655). So this workflow rejected exactly what the policy now mandates: any repo adopting Bun correctly was failed by CI for doing so. It now rejects npm/pnpm/yarn lockfiles only. Estate-wide this pattern was present in 272 of 273 copies across 34 repos. Also repairs a blanked token from the language purge: the failure message read "Use instead." - the tool name had been substituted with an empty string. 1 file(s) changed. YAML re-parsed after every edit. --- affinescript/.github/workflows/npm-bun-blocker.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/affinescript/.github/workflows/npm-bun-blocker.yml b/affinescript/.github/workflows/npm-bun-blocker.yml index 168f2d9..8e01b61 100644 --- a/affinescript/.github/workflows/npm-bun-blocker.yml +++ b/affinescript/.github/workflows/npm-bun-blocker.yml @@ -10,10 +10,10 @@ jobs: contents: read steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - - name: Block npm/bun + - name: Block npm/pnpm/yarn lockfiles run: | - if [ -f "package-lock.json" ] || [ -f "bun.lockb" ] || [ -f ".npmrc" ]; then - echo "❌ npm/bun artifacts detected. Use Deno instead." + if [ -f "package-lock.json" ] || [ -f "pnpm-lock.yaml" ] || [ -f "yarn.lock" ] || [ -f ".npmrc" ]; then + echo "❌ npm/pnpm/yarn artifacts detected. Use Bun (package.json + bun.lock) instead." exit 1 fi - echo "✅ No npm/bun violations" + echo "✅ No npm/pnpm/yarn violations" From f23a2994ca0244d34d7ddf786c7a14940e2d0307 Mon Sep 17 00:00:00 2001 From: "Jonathan D.A. Jewell" <6759885+hyperpolymath@users.noreply.github.com> Date: Thu, 27 Aug 2026 17:50:07 +0100 Subject: [PATCH 2/2] =?UTF-8?q?fix(ci):=20stop=20rejecting=20.npmrc=20?= =?UTF-8?q?=E2=80=94=20Bun=20uses=20it?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Accepted review finding, raised INDEPENDENTLY by coderabbitai and codacy on several PRs in this wave, and correct. The blocker still listed .npmrc alongside the npm/pnpm/yarn lockfiles. But Bun reads .npmrc for private-registry and scoped-package authentication, so a perfectly valid Bun repository was still failed by the very check that was supposed to stop blocking Bun. Now rejects package-lock.json, pnpm-lock.yaml and yarn.lock only. 1 file(s). YAML re-parsed after every edit, and any file still mentioning .npmrc after the edit was reverted rather than shipped half-changed. --- affinescript/.github/workflows/npm-bun-blocker.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/affinescript/.github/workflows/npm-bun-blocker.yml b/affinescript/.github/workflows/npm-bun-blocker.yml index 8e01b61..bfe5156 100644 --- a/affinescript/.github/workflows/npm-bun-blocker.yml +++ b/affinescript/.github/workflows/npm-bun-blocker.yml @@ -12,7 +12,7 @@ jobs: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Block npm/pnpm/yarn lockfiles run: | - if [ -f "package-lock.json" ] || [ -f "pnpm-lock.yaml" ] || [ -f "yarn.lock" ] || [ -f ".npmrc" ]; then + if [ -f "package-lock.json" ] || [ -f "pnpm-lock.yaml" ] || [ -f "yarn.lock" ]; then echo "❌ npm/pnpm/yarn artifacts detected. Use Bun (package.json + bun.lock) instead." exit 1 fi