The validate job gains a ten-minute timeout and three steps: the ten Python test files that need only the standard library (the registry status test now runs among them), a syntax check of every js/**/*.js and .mjs file, and ruff 0.16.3 with the pyflakes and syntax-error rules. Plain `node --check` exits 0 for a broken .js file that uses import or export, so each file is piped in with --input-type=module.