* fix(gmail): preserve bind errors across watcher output chunks
Carry a bounded stderr tail across data chunks so the address-in-use
marker is detected even when split across chunk boundaries. Without
this, the exit handler misses the bind failure and enters an endless
5-second respawn loop instead of stopping restarts.
* fix(gmail): decide watcher restarts after stderr close
Restart policy waited on exit while Node can still deliver the final
stderr fragment afterward, so a split bind marker could still respawn.
Co-authored-by: Cursor <cursoragent@cursor.com>
* fix(gmail): classify untruncated combined stderr before bounded tail retention
* fix(gmail): avoid retries after watcher spawn failures
---------
Co-authored-by: Cursor <cursoragent@cursor.com>