Files
serversdown c212099738 feat: host-side MI50 runaway watchdog (guard A, staged for install)
Independent Proxmox-host backstop to the in-app dream budget: a systemd timer
runs every ~2 min and stops lyra-brain if the MI50 is busy >=1hr continuously OR
junction >=97C for ~6 min, then pings Brian via ntfy. Trips on duration only
after a full hour so a legit ~40-min manual workload runs untouched. GPU temp/use
read from host rocm-smi; stop via 'pct exec 202 -- docker stop'.

Parsing + duration/temp decision logic dry-run-verified locally against real
rocm-smi output format (4 scenarios). NOT yet installed/live-verified — card is
off and Brian's away; install + trip-test per deploy/mi50-watchdog/README.md when
it's back.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015yrEb5qpPGv2FjyxrB7LLk
2026-07-04 19:05:32 +00:00
..

Deploy

Dream cycle (lyra-dream.service)

Lyra's unattended inner loop. Runs lyra-dream --loop 1800 so she consolidates memory and reflects every 30 min between conversations. Installed as a systemd user service on lyra-cortex (10.0.0.41), running as serversdown — no root needed to manage it.

Install / update

cp deploy/lyra-dream.service ~/.config/systemd/user/lyra-dream.service
systemctl --user daemon-reload
systemctl --user enable --now lyra-dream.service

Persist across reboot / logout (one-time, needs sudo)

A user service stops when the user logs out and doesn't start at boot until login — unless lingering is enabled:

sudo loginctl enable-linger serversdown

Operate

systemctl --user status lyra-dream.service      # is she ticking?
journalctl --user -u lyra-dream.service -f       # watch her think (logbus -> stderr)
systemctl --user restart lyra-dream.service      # after a code change
systemctl --user stop lyra-dream.service         # quiet her down

Tunables live in lyra/dream.py (drive thresholds, curiosity gains) and the --loop interval in the unit's ExecStart. The consolidation backend follows SUMMARY_BACKEND in .env (cloud gpt-4o-mini for bulk; the MI50 is too slow for the summarization backfill).