- hermes-decomp killed by SIGTERM (exit 143) on pathological 380MB module this release
- replace Bun shell (no .timeout/.kill support) with Bun.spawn watchdog; kills decompile/extract after 20min
- on decompile failure, restore version.txt, mark run skipped (.update-skipped), exit cleanly so hourly run retries
- gate Publish/Tag/canvas steps on skip marker so a skipped release isn't pushed or tagged