fix(supervisor): self-bootstrap PATH and surface stopped tasks immediately
PATH self-bootstrap: follow-up to the SIGTTIN fix in afd33f2d. main() now prepends os.path.dirname(sys.executable) to PATH before any child spawn, so the supervisor can launch `sol` children even when the operator's interactive PATH does not include the venv bin dir. It is idempotent, so repeated calls do not duplicate the entry.
Stopped-task detection: follow-up to the SIGTTIN fix in afd33f2d. TaskQueue.enforce_deadlines now polls each active process's psutil status. Tasks observed in STOPPED or TRACING_STOP state for two consecutive ticks are terminated via the existing termination thread (reason="stopped"), reusing the _cap_terminated set so the eventual exit is recorded as exit_status="timeout". A debounce tick avoids racing on transient stop/cont, and operators get a distinct "was stopped (state=...)" warning alongside the existing cap-path warning.
Co-Authored-By: Codex <codex@openai.com>