feat(supervision): add choice watcher daemon, HTTPS spec docs, and test suites

- bin/muse_choice_watcher.py + systemd/muse-choices-reconcile.*: automatic choice answering and timer reconciliation
- bin/digest.py: fleet log and health summarization
- docs/BOX-*-HTTPS.md: comprehensive HTTPS execution contracts and API documentation
- docs/MUSE-CHOICES-POLICY.md & docs/SUPERVISION-SPEC.md: autonomous execution specs
- tests/test_*.py: unit test suites for HTTPS API, choice watcher, fleet heal, and swarm pruning
This commit is contained in:
operator
2026-10-07 00:25:46 +00:00
parent 04339bad14
commit 0065d11e97
29 changed files with 6419 additions and 7 deletions
+16
View File
@@ -0,0 +1,16 @@
[Unit]
Description=NetVM Muse Choice Watcher Reconcile
After=network.target
[Service]
Type=oneshot
ExecStart=/usr/bin/python3 /home/super/Projects/NetVM/bin/muse_choice_watcher.py reconcile
WorkingDirectory=/home/super/Projects/NetVM
StandardOutput=journal
StandardError=journal
# Reconcile spawns long-lived per-pane daemons. Default KillMode=
# control-group would SIGTERM/SIGKILL them (setsid cannot escape a
# cgroup) the moment this oneshot service exits -- leaving every
# timer-started pane uncovered (observed live). Only signal the main
# process so spawned watchers survive service exit.
KillMode=process
+10
View File
@@ -0,0 +1,10 @@
[Unit]
Description=Run Muse Choice Watcher reconcile every minute
[Timer]
OnBootSec=1min
OnUnitActiveSec=1min
Persistent=true
[Install]
WantedBy=timers.target