# systemd-USER-Unit für den MC2-Steward — die Wächter-Loops als eigener Prozess (UMBAU v3 P2). # Re-Warm-Wächter und Health-Sentry überleben damit jeden Steuerpult-Neustart, und der Sentry # kann auch das Steuerpult SELBST + den mc2-gateway überwachen (MC_SENTRY_WATCH_MC2=1). # Meldungen gehen per HTTP in den MC2-Briefkasten (MC_ANNOUNCE_HTTP); ist MC2 down, greift # weiterhin der Telegram-Direktweg (notify.sh). # Sudo-frei wie alle MC2-Units: ~/.config/systemd/user/ + systemctl --user. # # ‼️ NACHGETRAGEN 27.08.2026: Diese Unit lief auf der Box, fehlte aber im Repo — sie war weder # versioniert noch vom Disaster-Recovery abgedeckt, obwohl backend/routers/system.py, # services/maintenance.py (USER_SERVICES) und deploy/stack-postcheck.sh sie voraussetzen. # Inhalt 1:1 von der laufenden Box übernommen (`systemctl --user cat mc2-steward`), nur die # Description um den entfallenen Mem0-Dedupe-Loop gekürzt. Das Warm-Set-Drop-in liegt # daneben in mc2-steward.service.d-warmset.conf — beim Ausrollen mitnehmen. # # Ablage: ~/.config/systemd/user/mc2-steward.service ; dann: # systemctl --user daemon-reload && systemctl --user enable --now mc2-steward [Unit] Description=MC2 Steward (Wächter: Re-Warm, Health-Sentry) After=network-online.target Wants=network-online.target [Service] Type=simple WorkingDirectory=%h/mission-control-v2/backend ExecStart=%h/mission-control-v2/backend/.venv/bin/python steward.py Environment=PYTHONPATH=%h/mission-control-v2 Environment=MC_LLAMA_SWAP_URL=http://127.0.0.1:8080 Environment=MC_CONFIG_PATH=/etc/llama-swap/config.yaml Environment=MC_MODELS_DIR=/srv/models Environment=MC_ANNOUNCE_HTTP=http://127.0.0.1:9001 Environment=MC_SENTRY_WATCH_MC2=1 Restart=always RestartSec=3 [Install] WantedBy=default.target