Compound AI OpsFOUNDER X8 September 2026
launchd
SHELL AND PLIST, ONE PYTHON
launchd runs the interpreter named in the plist, not your shell's
A scheduled Python job can pass in testing and still fail when it starts on the hour. launchd does not use the interpreter your shell happened to test: the plist names the executable it will run.
We made the plist call /opt/homebrew/bin/python3 directly, and the ingest job still runs every 7200 seconds. The test and the scheduled run now point at the same Python.
#dev