spino.runner module¶
runner: headless subprocess entry point that executes the scheduling pipeline.
Usage:
python -m spino.runner /path/to/settings.json
It overlays the JSON settings onto the pipeline’s phase_config module and
then calls phase_scheduler.main(). The GUI launches this in a subprocess
and streams its stdout into the log pane; running it by hand is also the
recommended headless smoke test.
Why overlay-then-import: phase_scheduler binds CUSTOM_PLANETS at
import time (from phase_config import CUSTOM_PLANETS), so every override
must be applied to phase_config before phase_scheduler is imported.
The remaining globals are re-read inside main() and pick up the overrides
regardless.