hermes-agent/tests/plugins
underthestars-zhy a652131c42 fix(photon): stop gateway restarts from orphaning the sidecar on its port
A hard gateway exit (crash, SIGKILL, supervisor restart) left the
detached Node sidecar running with a token the next gateway run doesn't
know, so it could never be told to /shutdown. Every replacement spawn
then died on EADDRINUSE, failing each 30→300s reconnect attempt while
the orphan kept consuming the inbound gRPC stream.

Two layers:
- Lifetime binding: the adapter now holds the sidecar's stdin as a
  pipe, and the sidecar (PHOTON_SIDECAR_WATCH_STDIN=1) shuts down on
  stdin EOF — fired by the OS on any parent death, including SIGKILL.
- Startup reaping: before spawning, the adapter probes the port and
  terminates a stale listener, but only after verifying its command
  line is a Photon sidecar; a foreign listener raises a clear error
  instead of being signalled.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 01:07:38 -07:00
..
browser
dashboard_auth
image_gen
memory
model_providers
platforms/photon
transcription
tts
video_gen
web
__init__.py
test_achievements_plugin.py
test_discord_runtime_failure.py
test_disk_cleanup_plugin.py
test_google_meet_audio.py
test_google_meet_node.py
test_google_meet_plugin.py
test_google_meet_realtime.py
test_kanban_attachments.py
test_kanban_dashboard_plugin.py
test_kanban_worker_runs.py
test_langfuse_plugin.py
test_nemo_relay_plugin.py
test_plugin_dashboard_auth_contract.py
test_retaindb_plugin.py
test_security_guidance_plugin.py
test_teams_pipeline_plugin.py