[1.53.0] — 2026-05-18
WS9 — shell-surface test pyramid (the last untested layer).
🧪 Tests
test: tests/sh-files.test.mjs— the 4bin/*.shscripts and the.githooks/pre-commithook had zero coverage. 10 cases now lock:bash -n/sh -nsyntax, shebang + executable bit, and the behavioural contracts other workstreams depend on:career-ops-ui.sh—helpexits 0 + prints usage with no shell-source leak (v1.40.0 regression guard), unknown verb exits 2 with usage on stderr,usage()is a heredoc (not the fragilesed-scrape), all dispatcher case-labels present.start.sh—NO_OPENhonored, Node ≥ 18 gate, browser-raise delegated toscripts/open-dashboard.mjs(v1.43.0 guard), no bareopen "$URL".setup.sh— strict mode,SKIP_START, clones both repos,need git.run_all.sh—--quick/--no-e2eparsing, runs all 4 suites viarun_suite..githooks/pre-commit— execs the WS7 reviewer; no shell file invokesgit --no-verify(CLAUDE.md hard rule #7 guard);install-hooks.mjswirescore.hooksPathand is the npmpreparestep.
- 706 → 716.
📝 Documentation
docs/architecture/TESTING.md— added the shell-surface base layer to the pyramid diagram + a v1.53.0 totals note (716node --testcases / 90 files + 4 E2E surfaces); documents thatscripts/*.mjslogic is covered bycli-doctor/open-dashboard/ai-precommit-review/provider-selector+ the CI-gate scripts.
Verification
$ npm run test:ci
# 716 / 716 · ✓ no .also( leftovers · ✓ CHANGELOG parity: all 8 locales at v1.53.0