Both spawners built their argument with a file URL's .pathname, which on Windows is
"/C:/Users/...". Node resolves that against the drive root, so the build spawned
"C:\C:\Users\...\check-rules.mjs" and aborted on a module it could not find.
update-readme.mjs had the same bug and swallowed it in a bare catch, so instead of
failing it silently wrote a README whose guard box was empty — "0 guard lines" where
there should be four. A Windows build therefore could not happen, and if it had, it
would have quietly deleted the guard output from the README.
Same root as the packs/ CRLF bug: this repository has only ever been built on macOS and
Linux, where .pathname happens to be a usable path.
Also adds check-creatures to the pre-build guards, which it was missing, so the build
and npm run check now refuse the same things.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>