Toes health-checks /ok during startup. The Go server can take a
while to become healthy (cloning system apps repo on first run),
so return 200 while the process is alive but not yet ready.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The postinstall script doesn't run on toes (package.json is
transformed during deploy), so the binary was never downloaded.
Now the server downloads it from GitHub releases if missing.
Added validate() to catch missing DATA_DIR and non-executable
binary with clear error messages.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>