v0.19.48
Gates-off is silent and honest.
- A disabled gate drains its stdin payload before exiting, so switching the gates off no longer raises false 'the gate could not be launched after repair' (EOF) fail-open alarms on large writes, and no longer loops through pointless repairs.
- The launcher judges a stdin-pipe break by the gate's output and exit status ('the gate ran'), never as a launch failure; a genuine crash routes to the script-crash marker with back-off.
- A healthy gate run clears a stale gate-failure-reason.json, so past false alarms stop appearing in doctor.
- doctor presents gates-off as a chosen state: one informational line and exit 0 instead of a wall of red enforcement rows; the nested-repo check explains a missing resolver log instead of a raw ENOENT; error details are no longer truncated mid-path.
Client-only release (no server change). Bundles: claude 0.19.48, copilot 0.19.48, npm/cli_vendor 0.19.48.