mirror of
https://github.com/jjbrunton/Sauci.git
synced 2026-10-31 10:19:43 +00:00
The entrypoint guard compared process.argv[1] against new URL(import.meta.url).pathname. A URL pathname percent-encodes spaces, so in any checkout whose absolute path contains one the comparison never matched and main() never ran. Every ota:preflight:*, ota:publish:*, and ota:doctor:* script then exited 0 having done absolutely nothing, which is indistinguishable from success. A publish that silently no-ops is worse than one that fails: it reports a shipped update that never left the machine. Compare resolved filesystem paths instead. Verified from a checkout whose path contains a space: before the change `node scripts/ota-publish.mjs production --preflight` exited 0 with no output; after it runs a real export for both platforms and prints the preflight confirmation. Argument validation still rejects unknown targets and unsupported EOAS arguments. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>