test(memory-safety): pin the CLI boot-check into the build scripts

CI calls `pnpm verify:cli-runtime` directly, and the boot-check guards a real
regression (Electron output clobbering a CLI dependency under out/main), so a
rebase that drops the script silently breaks native-smoke.

Co-authored-by: Orca <help@stably.ai>
This commit is contained in:
Neil
2026-07-25 23:43:51 -07:00
co-authored by Orca
parent d192c52135
commit 6f0d1f66aa
2 changed files with 14 additions and 3 deletions
@@ -77,6 +77,16 @@ describe('check-bounded-ingress', () => {
).toEqual([])
})
it('keeps the CLI boot-check wired into the desktop and release builds', () => {
// Electron output once clobbered a CLI dependency emitted under out/main; the boot-check is the
// guard, and CI calls `pnpm verify:cli-runtime` directly, so a dropped script fails the job.
const root = path.resolve(import.meta.dirname, '../..')
const pkg = JSON.parse(readFileSync(path.join(root, 'package.json'), 'utf8'))
expect(pkg.scripts['verify:cli-runtime']).toBeDefined()
expect(pkg.scripts['build:desktop']).toContain('verify:cli-runtime')
expect(pkg.scripts['build:release']).toContain('verify:cli-runtime')
})
it('stays wired into pnpm lint', () => {
// A gate that can be unwired without any test failing WILL be unwired by a rebase — this one
// already was once, and the ratchet cannot detect its own removal.
+4 -3
View File
@@ -65,9 +65,9 @@
"build:cli": "tsc -p config/tsconfig.cli.json --outDir out --composite false --incremental false && node config/scripts/verify-cli-bin.mjs --fix-executable --fix-package-json && node config/scripts/install-dev-cli.mjs",
"build:electron-vite": "node config/scripts/run-electron-vite-build.mjs",
"build:web": "node config/scripts/run-vite-web-build.mjs && node config/scripts/verify-web-build.mjs",
"build:desktop": "pnpm run typecheck && pnpm run build:relay && pnpm run build:cli && pnpm run build:electron-vite && pnpm run build:web",
"build:desktop": "pnpm run typecheck && pnpm run build:relay && pnpm run build:cli && pnpm run build:electron-vite && pnpm run verify:cli-runtime && pnpm run build:web",
"build": "pnpm run build:desktop && pnpm run build:native",
"build:release": "pnpm run build:relay && pnpm run build:native && pnpm run verify:computer-native && pnpm run build:cli && pnpm run build:electron-vite && pnpm run build:web",
"build:release": "pnpm run build:relay && pnpm run build:native && pnpm run verify:computer-native && pnpm run build:cli && pnpm run build:electron-vite && pnpm run verify:cli-runtime && pnpm run build:web",
"postinstall": "node config/scripts/rebuild-native-deps.mjs",
"rebuild:electron": "node config/scripts/rebuild-native-deps.mjs",
"rebuild:node": "pnpm rebuild node-pty",
@@ -105,7 +105,8 @@
"bench:cold-park-reveal": "pnpm run ensure:electron-runtime && node tools/benchmarks/terminal-cold-park-reveal-bench.mjs",
"bench:cold-park-resource": "pnpm run ensure:electron-runtime && node tools/benchmarks/terminal-cold-park-resource-bench.mjs",
"bench:compare": "node config/scripts/compare-benchmark-artifacts.mjs",
"check:bounded-ingress": "node config/scripts/check-bounded-ingress.mjs"
"check:bounded-ingress": "node config/scripts/check-bounded-ingress.mjs",
"verify:cli-runtime": "node config/scripts/verify-cli-bin.mjs --run-help"
},
"dependencies": {
"@electron-toolkit/preload": "^3.0.2",