chore(deps): jest 29 -> 30.5.2 test toolchain
- jest ^30.5.2, @types/jest ^30.0.0; ts-jest refreshed in-range to 29.4.15
(ts-jest peers support jest ^30, typescript <7)
- existing jest.config.mjs (ts-jest ESM preset) validates under jest 30
- note: typescript stays 5.9.3 — ts-jest peer caps typescript <7 and
@typescript-eslint 8.x caps <6.1.0 (typescript 7 blocked; see follow-up
commit for typescript 6)
Gate: lint clean, tsc clean, jest 2/2 green under jest 30