c2af7b6882
deploy/install.sh symlinks the SAME tracked unit into ~/.config/systemd/user OR /etc/systemd/system, so any literal ExecStart path is wrong in one of them. That is why the path flip-flopped:6905f4emoved %h/.local/bin -> /usr/local/bin ("-- system needs it"),933dd86moved it back but as /home/mfritsche/.local/bin, dropping the specifier. bullpen-triage crash-looped 27000+ times on 203/EXEC. Use a pair that resolves correctly in both scopes instead: Environment=PATH=%h/.local/bin:/usr/local/bin:/usr/bin:/bin ExecStart=/usr/bin/env <prog> Measured on hertz, not recalled: in a system unit %h expands to /root, so /root/.local/bin misses and /usr/local/bin wins; in a user unit it expands to the user's home and ~/.local/bin wins first. /usr/bin/env resolves the program through the unit's own PATH in both scopes. The two layouts stay as they are — DEPLOY.md justifies them with a trust boundary (agent tier without fleet credentials vs. coordinator tier with sic reach), so collapsing them would trade a security property for deploy comfort. tests/test_units_portable.py fails on the pre-fix tree (exactly these 7 units) and passes after. Verified live: daemon-reload + restart of every affected unit on noether, all active/running, NRestarts=0.