From 4f0bac406e0bcf2153223351516ac5a7a7fe70f1 Mon Sep 17 00:00:00 2001 From: Alexa Amundson Date: Sun, 15 Mar 2026 23:30:01 -0500 Subject: [PATCH] =?UTF-8?q?sync:=202026-03-15=2023:30=20=E2=80=94=2023=20f?= =?UTF-8?q?iles=20from=20Alexandria?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit RoadChain-SHA2048: af46e6a9314c50fd RoadChain-Identity: alexa@sovereign RoadChain-Full: af46e6a9314c50fddd4a6fa4df62988ead75ad66dc383f6fb38c1824a5d184b6d98a78f10dacb6cdbf2ac198396fe3ab2e07c187ab6e41b1dbc44f60de268c283ce6519708dba7899d2faa19e687ce9b6f590a9c89cd995ce5636bdb24a6b0406eb730e9ed1033171839e7d82b903fd60f3c2c2e3c9ef6fbbc3ef52f7ca87ede13bedc69fee77c465a1fe292e4580cf9e9661b2321ee66483dc6368ee913231aa830a83b267901a304701129a337a81f15e67c8e808f7d519ffd1303cf652ce9ef8c98a42df19a7ca69236ee0be44a0569cef18eaeaf14b16fb284e99ae357375380a3c76dd0588e7993aea0c8a0326a3b751bd44f0943251f86ee164fb1786c --- dotfiles/crontab.txt | 3 +- fleet/alice/autonomy-log.txt | 100 ++++++------ fleet/alice/heartbeat.json | 2 +- fleet/alice/ports.txt | 3 +- fleet/alice/services.txt | 2 - fleet/alice/system-info.json | 20 +-- fleet/anastasia/ports.txt | 2 +- fleet/anastasia/services.txt | 2 + fleet/anastasia/system-info.json | 16 +- fleet/aria/status.json | 2 +- fleet/cecilia/autonomy-log.txt | 100 ++++++------ fleet/cecilia/heartbeat.json | 2 +- fleet/cecilia/ports.txt | 68 ++++---- fleet/cecilia/system-info.json | 16 +- fleet/gematria/system-info.json | 14 +- fleet/lucidia/autonomy-log.txt | 100 ++++++------ fleet/lucidia/docker.txt | 28 ++-- fleet/lucidia/heartbeat.json | 2 +- fleet/lucidia/system-info.json | 16 +- fleet/octavia/status.json | 2 +- scripts/blackroad-fleet-coordinator.sh | 22 ++- scripts/blackroad-fork-enhancer.sh | 208 +++++++++++++++++++++++++ workers/stats-blackroad-src/worker.js | 16 ++ 23 files changed, 494 insertions(+), 252 deletions(-) create mode 100755 scripts/blackroad-fork-enhancer.sh diff --git a/dotfiles/crontab.txt b/dotfiles/crontab.txt index 2f722ab..d683599 100644 --- a/dotfiles/crontab.txt +++ b/dotfiles/crontab.txt @@ -18,9 +18,11 @@ */5 * * * * /Users/alexa/blackroad-health-monitor.sh >> /Users/alexa/.blackroad/logs/health-cron.log 2>&1 */5 * * * * /Users/alexa/stats-blackroad/collect.sh >> /Users/alexa/.blackroad/logs/fleet-collector.log 2>&1 */5 * * * * /bin/bash ~/local/scripts/fleet-monitor-push.sh +*/5 * * * * /usr/bin/flock -n /tmp/fleet-coord.lock /Users/alexa/blackroad-fleet-coordinator.sh >> /Users/alexa/.blackroad/logs/coordinator.log 2>&1 0 * * * * /Users/alexa/blackroad-pi-mesh-sync.sh sync >> /Users/alexa/.blackroad/mesh-sync.log 2>&1 0 */12 * * * rsync -az --exclude='.git' --exclude='node_modules' /Users/alexa/blackroad/ blackroad@159.65.43.12:~/blackroad-backup/ >> /tmp/do-backup.log 2>&1 0 */6 * * * /Users/alexa/bin/rclone sync /Users/alexa/blackroad gdrive-blackroad:blackroad --exclude '.git/**' --exclude 'node_modules/**' --exclude '*.pyc' --log-file=/tmp/gdrive-mac-sync.log 2>&1 +0 */6 * * * /Users/alexa/blackroad-operator/scripts/collectors/push-ecosystem-stats.sh >> /Users/alexa/.blackroad/logs/ecosystem-stats.log 2>&1 0 */6 * * * python3 /Users/alexa/blackroad-operator/tools/search/index-all.py --rebuild > /dev/null 2>&1 0 3 * * * /Users/alexa/blackroad-backup-sync.sh >> /Users/alexa/.blackroad/logs/backup-cron.log 2>&1 0 3 * * * /Users/alexa/blackroad-sovereign-mesh.sh sync >> /Users/alexa/.blackroad/sovereign-sync.log 2>&1 @@ -31,4 +33,3 @@ 0 8 1 * * bash /Users/alexa/blackroad-operator/scripts/corporate-autopilot.sh >> /Users/alexa/blackroad-operator/docs/corporate/autopilot.log 2>&1 5 6 * * * cd /Users/alexa/blackroad-os-kpis && bash reports/slack-notify.sh >> /Users/alexa/blackroad-os-kpis/data/cron.log 2>&1 7,37 * * * * /Users/alexa/blackroad-git-sync.sh >> /Users/alexa/.blackroad/logs/git-sync.log 2>&1 -*/5 * * * * /usr/bin/flock -n /tmp/fleet-coord.lock /Users/alexa/blackroad-fleet-coordinator.sh >> /Users/alexa/.blackroad/logs/coordinator.log 2>&1 diff --git a/fleet/alice/autonomy-log.txt b/fleet/alice/autonomy-log.txt index 4b365c9..96c16cb 100644 --- a/fleet/alice/autonomy-log.txt +++ b/fleet/alice/autonomy-log.txt @@ -1,50 +1,50 @@ -[2026-03-15 22:40:02] [FLEET] [alice] octavia: UP temp=36C mem=6762MB disk=67% -[2026-03-15 22:40:02] [HEAL] [alice] Healed 1 services -[2026-03-15 22:40:03] [FLEET] [alice] cecilia: UP temp=57C mem=5488MB disk=19% -[2026-03-15 22:40:04] [FLEET] [alice] gematria: UP temp=C mem=4192MB disk=67% -[2026-03-15 22:40:05] [FLEET] [alice] lucidia: UP temp=62C mem=3515MB disk=33% -[2026-03-15 22:40:07] [FLEET] [alice] aria: DOWN (no ping response) -[2026-03-15 22:40:08] [FLEET] [alice] anastasia: UP temp=C mem=275MB disk=69% -[2026-03-15 22:41:01] [BEAT] [alice] load=0.87 mem=3370/3794MB temp=35.5C disk=80% -[2026-03-15 22:42:01] [BEAT] [alice] load=0.90 mem=3369/3794MB temp=34.6C disk=80% -[2026-03-15 22:42:19] [BEAT] [alice] load=0.70 mem=3370/3794MB temp=33.6C disk=80% -[2026-03-15 22:42:19] [BEAT] [alice] load=0.70 mem=3370/3794MB temp=34.1C disk=80% -[2026-03-15 22:43:01] [BEAT] [alice] load=1.07 mem=3367/3794MB temp=36.5C disk=80% -[2026-03-15 22:44:01] [BEAT] [alice] load=1.07 mem=3369/3794MB temp=35.0C disk=80% -[2026-03-15 22:45:02] [HEAL] [alice] Service blackroad-agent is DOWN — restarting -[2026-03-15 22:45:02] [BEAT] [alice] load=1.46 mem=3353/3794MB temp=37.5C disk=80% -[2026-03-15 22:45:02] [HEAL] [alice] Service blackroad-agent restarted successfully -[2026-03-15 22:45:03] [HEAL] [alice] Healed 1 services -[2026-03-15 22:45:48] [DIAL] [alice] Switchboard unreachable -[2026-03-15 22:46:01] [BEAT] [alice] load=4.01 mem=3367/3794MB temp=33.6C disk=80% -[2026-03-15 22:46:28] [DIAL] [alice] Switchboard unreachable -[2026-03-15 22:47:01] [BEAT] [alice] load=1.90 mem=3367/3794MB temp=34.6C disk=80% -[2026-03-15 22:47:29] [BEAT] [alice] load=1.62 mem=3364/3794MB temp=36.5C disk=80% -[2026-03-15 22:47:30] [BEAT] [alice] load=1.62 mem=3364/3794MB temp=36.0C disk=80% -[2026-03-15 22:48:01] [BEAT] [alice] load=1.23 mem=3369/3794MB temp=33.1C disk=80% -[2026-03-15 22:49:01] [BEAT] [alice] load=0.84 mem=3357/3794MB temp=35.0C disk=80% -[2026-03-15 22:50:01] [FLEET] [alice] Starting cross-node health check -[2026-03-15 22:50:01] [HEAL] [alice] Service blackroad-agent is DOWN — restarting -[2026-03-15 22:50:01] [BEAT] [alice] load=0.87 mem=3336/3794MB temp=36.0C disk=80% -[2026-03-15 22:50:01] [HEAL] [alice] Service blackroad-agent restarted successfully -[2026-03-15 22:50:02] [FLEET] [alice] octavia: UP temp=37C mem=6738MB disk=67% -[2026-03-15 22:50:02] [HEAL] [alice] Healed 1 services -[2026-03-15 22:50:02] [FLEET] [alice] cecilia: UP temp=41C mem=5051MB disk=19% -[2026-03-15 22:50:04] [FLEET] [alice] gematria: UP temp=C mem=4188MB disk=67% -[2026-03-15 22:50:04] [FLEET] [alice] lucidia: UP temp=55C mem=3528MB disk=33% -[2026-03-15 22:50:06] [FLEET] [alice] aria: DOWN (no ping response) -[2026-03-15 22:50:07] [FLEET] [alice] anastasia: UP temp=C mem=275MB disk=69% -[2026-03-15 22:51:01] [BEAT] [alice] load=2.30 mem=3355/3794MB temp=34.1C disk=80% -[2026-03-15 22:52:01] [BEAT] [alice] load=1.24 mem=3360/3794MB temp=33.1C disk=80% -[2026-03-15 22:52:39] [BEAT] [alice] load=0.96 mem=3355/3794MB temp=33.1C disk=80% -[2026-03-15 22:52:39] [BEAT] [alice] load=0.96 mem=3355/3794MB temp=34.6C disk=80% -[2026-03-15 22:53:01] [BEAT] [alice] load=0.92 mem=3355/3794MB temp=34.6C disk=80% -[2026-03-15 22:54:02] [BEAT] [alice] load=1.25 mem=3358/3794MB temp=34.1C disk=80% -[2026-03-15 22:55:01] [HEAL] [alice] Service blackroad-agent is DOWN — restarting -[2026-03-15 22:55:01] [BEAT] [alice] load=0.78 mem=3352/3794MB temp=36.0C disk=80% -[2026-03-15 22:55:01] [HEAL] [alice] Service blackroad-agent restarted successfully -[2026-03-15 22:55:01] [HEAL] [alice] Healed 1 services -[2026-03-15 22:56:02] [BEAT] [alice] load=0.90 mem=3356/3794MB temp=33.1C disk=80% -[2026-03-15 22:57:01] [BEAT] [alice] load=1.10 mem=3354/3794MB temp=34.1C disk=80% -[2026-03-15 22:57:49] [BEAT] [alice] load=0.74 mem=3354/3794MB temp=31.6C disk=80% -[2026-03-15 22:57:49] [BEAT] [alice] load=0.74 mem=3354/3794MB temp=32.1C disk=80% +[2026-03-15 23:10:02] [FLEET] [alice] cecilia: UP temp=39C mem=3789MB disk=19% +[2026-03-15 23:10:02] [HEAL] [alice] Healed 1 services +[2026-03-15 23:10:03] [FLEET] [alice] gematria: UP temp=C mem=4173MB disk=67% +[2026-03-15 23:10:04] [FLEET] [alice] lucidia: UP temp=59C mem=3210MB disk=33% +[2026-03-15 23:10:06] [FLEET] [alice] aria: DOWN (no ping response) +[2026-03-15 23:10:07] [FLEET] [alice] anastasia: UP temp=C mem=276MB disk=69% +[2026-03-15 23:11:01] [BEAT] [alice] load=0.80 mem=3356/3794MB temp=33.1C disk=80% +[2026-03-15 23:12:01] [BEAT] [alice] load=1.12 mem=3354/3794MB temp=35.5C disk=80% +[2026-03-15 23:13:11] [BEAT] [alice] load=0.56 mem=3357/3794MB temp=33.6C disk=80% +[2026-03-15 23:13:16] [BEAT] [alice] load=1.79 mem=3354/3794MB temp=33.1C disk=80% +[2026-03-15 23:13:16] [BEAT] [alice] load=1.79 mem=3353/3794MB temp=33.1C disk=80% +[2026-03-15 23:14:01] [BEAT] [alice] load=1.43 mem=3356/3794MB temp=34.6C disk=80% +[2026-03-15 23:15:01] [HEAL] [alice] Service blackroad-agent is DOWN — restarting +[2026-03-15 23:15:01] [BEAT] [alice] load=5.98 mem=3333/3794MB temp=33.6C disk=80% +[2026-03-15 23:15:01] [HEAL] [alice] Service blackroad-agent restarted successfully +[2026-03-15 23:15:02] [HEAL] [alice] Healed 1 services +[2026-03-15 23:15:47] [DIAL] [alice] Switchboard unreachable +[2026-03-15 23:16:01] [BEAT] [alice] load=4.19 mem=3353/3794MB temp=33.6C disk=80% +[2026-03-15 23:16:10] [DIAL] [alice] Switchboard unreachable +[2026-03-15 23:17:01] [BEAT] [alice] load=1.89 mem=3353/3794MB temp=32.6C disk=80% +[2026-03-15 23:18:01] [BEAT] [alice] load=1.23 mem=3258/3794MB temp=36.0C disk=80% +[2026-03-15 23:18:26] [BEAT] [alice] load=1.13 mem=3301/3794MB temp=34.1C disk=81% +[2026-03-15 23:18:26] [BEAT] [alice] load=1.13 mem=3300/3794MB temp=33.1C disk=81% +[2026-03-15 23:19:01] [BEAT] [alice] load=1.15 mem=3345/3794MB temp=32.6C disk=81% +[2026-03-15 23:20:01] [FLEET] [alice] Starting cross-node health check +[2026-03-15 23:20:01] [HEAL] [alice] Service blackroad-agent is DOWN — restarting +[2026-03-15 23:20:01] [BEAT] [alice] load=2.26 mem=3338/3794MB temp=33.6C disk=81% +[2026-03-15 23:20:01] [HEAL] [alice] Service blackroad-agent restarted successfully +[2026-03-15 23:20:02] [FLEET] [alice] octavia: UP temp=39C mem=6588MB disk=68% +[2026-03-15 23:20:02] [FLEET] [alice] cecilia: UP temp=39C mem=3840MB disk=19% +[2026-03-15 23:20:02] [HEAL] [alice] Healed 1 services +[2026-03-15 23:20:04] [FLEET] [alice] gematria: UP temp=C mem=4170MB disk=67% +[2026-03-15 23:20:04] [FLEET] [alice] lucidia: UP temp=55C mem=3380MB disk=33% +[2026-03-15 23:20:06] [FLEET] [alice] aria: DOWN (no ping response) +[2026-03-15 23:20:07] [FLEET] [alice] anastasia: UP temp=C mem=280MB disk=69% +[2026-03-15 23:21:01] [BEAT] [alice] load=4.34 mem=3346/3794MB temp=33.6C disk=81% +[2026-03-15 23:22:01] [BEAT] [alice] load=2.09 mem=3343/3794MB temp=32.1C disk=81% +[2026-03-15 23:23:02] [BEAT] [alice] load=1.29 mem=3347/3794MB temp=33.1C disk=81% +[2026-03-15 23:23:34] [BEAT] [alice] load=1.14 mem=3343/3794MB temp=33.6C disk=81% +[2026-03-15 23:23:34] [BEAT] [alice] load=1.14 mem=3343/3794MB temp=34.1C disk=81% +[2026-03-15 23:24:01] [BEAT] [alice] load=1.14 mem=3346/3794MB temp=32.6C disk=81% +[2026-03-15 23:25:01] [HEAL] [alice] Service blackroad-agent is DOWN — restarting +[2026-03-15 23:25:01] [BEAT] [alice] load=0.72 mem=3343/3794MB temp=35.5C disk=81% +[2026-03-15 23:25:01] [HEAL] [alice] Service blackroad-agent restarted successfully +[2026-03-15 23:25:02] [HEAL] [alice] Healed 1 services +[2026-03-15 23:26:01] [BEAT] [alice] load=1.22 mem=3314/3794MB temp=33.1C disk=81% +[2026-03-15 23:27:01] [BEAT] [alice] load=0.76 mem=3314/3794MB temp=35.5C disk=81% +[2026-03-15 23:28:01] [BEAT] [alice] load=0.77 mem=3313/3794MB temp=32.6C disk=81% +[2026-03-15 23:28:42] [BEAT] [alice] load=0.90 mem=3310/3794MB temp=34.6C disk=81% +[2026-03-15 23:28:42] [BEAT] [alice] load=0.90 mem=3309/3794MB temp=34.1C disk=81% diff --git a/fleet/alice/heartbeat.json b/fleet/alice/heartbeat.json index 2e77321..b8cb58b 100644 --- a/fleet/alice/heartbeat.json +++ b/fleet/alice/heartbeat.json @@ -1 +1 @@ -{"node":"alice","ts":"2026-03-16T03:57:49Z","load":0.74,"mem_free_mb":3354,"mem_total_mb":3794,"temp_c":32.1,"disk_pct":80,"throttle":"0x0"} +{"node":"alice","ts":"2026-03-16T04:28:42Z","load":0.90,"mem_free_mb":3309,"mem_total_mb":3794,"temp_c":34.1,"disk_pct":81,"throttle":"0x0"} diff --git a/fleet/alice/ports.txt b/fleet/alice/ports.txt index 1ff4cda..217ffd1 100644 --- a/fleet/alice/ports.txt +++ b/fleet/alice/ports.txt @@ -10,7 +10,7 @@ LISTEN 0 5 0.0.0.0:8013 0.0.0.0:* users:(("python3",pid LISTEN 0 5 0.0.0.0:8012 0.0.0.0:* LISTEN 0 5 0.0.0.0:8014 0.0.0.0:* LISTEN 0 2048 0.0.0.0:8001 0.0.0.0:* users:(("python3",pid=617,fd=6)) -LISTEN 0 5 0.0.0.0:7890 0.0.0.0:* users:(("python3",pid=31841,fd=5)) +LISTEN 0 5 0.0.0.0:7890 0.0.0.0:* users:(("python3",pid=9367,fd=5)) LISTEN 0 200 0.0.0.0:443 0.0.0.0:* LISTEN 0 1024 0.0.0.0:6333 0.0.0.0:* LISTEN 0 128 0.0.0.0:6334 0.0.0.0:* @@ -24,6 +24,7 @@ LISTEN 0 511 0.0.0.0:9000 0.0.0.0:* LISTEN 0 244 127.0.0.1:5432 0.0.0.0:* LISTEN 0 128 [::1]:11434 [::]:* LISTEN 0 244 [::1]:5432 [::]:* +LISTEN 0 511 *:8090 *:* users:(("node",pid=25140,fd=27)) LISTEN 0 511 [::]:8080 [::]:* LISTEN 0 200 [::]:443 [::]:* LISTEN 0 511 [::1]:6379 [::]:* diff --git a/fleet/alice/services.txt b/fleet/alice/services.txt index c110d61..8f3effd 100644 --- a/fleet/alice/services.txt +++ b/fleet/alice/services.txt @@ -3,7 +3,6 @@ blackroad-agents-proxy.service blackroad-agents.service blackroad-nats-agent.service blackroad-operator.service -blackroad-salesforce-agent.service blackroad-status.service blackroad-task-queue-v2.service blackroad-task-worker.service @@ -26,7 +25,6 @@ prism-agent.service qdrant.service redis-server.service rng-tools-debian.service -road-phone.service roadnet-failover.service rsyslog.service rtkit-daemon.service diff --git a/fleet/alice/system-info.json b/fleet/alice/system-info.json index 21dac91..39c1792 100644 --- a/fleet/alice/system-info.json +++ b/fleet/alice/system-info.json @@ -1,19 +1,19 @@ { "hostname": "alice", - "ts": "2026-03-16T03:57:50Z", - "uptime_seconds": 4408, + "ts": "2026-03-16T04:28:44Z", + "uptime_seconds": 6262, "kernel": "6.1.21-v8+", - "temp_c": 32.1, + "temp_c": 34.1, "memory_mb": { "total": 3794, - "used": 339, - "free": 3355 + "used": 383, + "free": 3311 }, - "disk": "11G/15G (80%)", + "disk": "11G/15G (81%)", "load": [ - 0.74, - 1.03, - 1.13 + 0.9, + 1.3, + 1.47 ], "ollama_models": [ "qwen2.5:3b", @@ -25,5 +25,5 @@ ], "throttle": "0x0", "voltage": "0.9160V", - "services_running": 43 + "services_running": 42 } diff --git a/fleet/anastasia/ports.txt b/fleet/anastasia/ports.txt index c7eb609..df23a22 100644 --- a/fleet/anastasia/ports.txt +++ b/fleet/anastasia/ports.txt @@ -11,7 +11,7 @@ LISTEN 0 5 0.0.0.0:8787 0.0.0.0:* users:(("python3",pid LISTEN 0 511 0.0.0.0:80 0.0.0.0:* users:(("nginx",pid=3461172,fd=8),("nginx",pid=3461171,fd=8)) LISTEN 0 4096 0.0.0.0:111 0.0.0.0:* users:(("rpcbind",pid=589,fd=4),("systemd",pid=1,fd=127)) LISTEN 0 4096 *:8080 *:* users:(("headscale",pid=2341808,fd=12)) -LISTEN 0 511 *:3000 *:* users:(("node /srv/hello",pid=1771278,fd=19)) +LISTEN 0 511 *:3000 *:* users:(("node /srv/hello",pid=1777553,fd=19)) LISTEN 0 511 *:3001 *:* users:(("node",pid=757,fd=21)) LISTEN 0 128 [::]:22 [::]:* users:(("sshd",pid=991,fd=8)) LISTEN 0 511 [::]:80 [::]:* users:(("nginx",pid=3461172,fd=9),("nginx",pid=3461171,fd=9)) diff --git a/fleet/anastasia/services.txt b/fleet/anastasia/services.txt index 9a0ec20..73635b0 100644 --- a/fleet/anastasia/services.txt +++ b/fleet/anastasia/services.txt @@ -4,6 +4,7 @@ chronyd.service cloudflared.service containerd.service crond.service +dbus-:1.1-org.fedoraproject.SetroubleshootPrivileged@73409.service dbus-broker.service docker.service droplet-agent.service @@ -20,6 +21,7 @@ polkit.service rpcbind.service rsyslog.service serial-getty@ttyS0.service +setroubleshootd.service sshd.service systemd-journald.service systemd-logind.service diff --git a/fleet/anastasia/system-info.json b/fleet/anastasia/system-info.json index 1522637..7ae4cea 100644 --- a/fleet/anastasia/system-info.json +++ b/fleet/anastasia/system-info.json @@ -1,22 +1,22 @@ { "hostname": "anastasia", - "ts": "2026-03-16T03:57:50Z", - "uptime_seconds": 6775363, + "ts": "2026-03-16T04:28:44Z", + "uptime_seconds": 6777216, "kernel": "5.14.0-651.el9.x86_64", "temp_c": 0, "memory_mb": { "total": 765, - "used": 482, - "free": 282 + "used": 562, + "free": 202 }, "disk": "18G/25G (69%)", "load": [ - 0.01, - 0.03, - 0.02 + 0.16, + 0.09, + 0.03 ], "ollama_models": [], "throttle": "N/A", "voltage": "N/A", - "services_running": 28 + "services_running": 30 } diff --git a/fleet/aria/status.json b/fleet/aria/status.json index 50ad061..66bba3f 100644 --- a/fleet/aria/status.json +++ b/fleet/aria/status.json @@ -1 +1 @@ -{"node":"aria","status":"down","ts":"2026-03-16T03:57:49Z"} +{"node":"aria","status":"down","ts":"2026-03-16T04:28:43Z"} diff --git a/fleet/cecilia/autonomy-log.txt b/fleet/cecilia/autonomy-log.txt index e35fe5d..2dacc8e 100644 --- a/fleet/cecilia/autonomy-log.txt +++ b/fleet/cecilia/autonomy-log.txt @@ -1,50 +1,50 @@ -[2026-03-15 22:35:01] [BEAT] [cecilia] load=0.48 mem=4824/8062MB temp=39.7C disk=19% -[2026-03-15 22:35:05] [DIAL] [cecilia] Switchboard unreachable -[2026-03-15 22:36:01] [BEAT] [cecilia] load=1.19 mem=5491/8062MB temp=48.5C disk=19% -[2026-03-15 22:37:01] [BEAT] [cecilia] load=3.25 mem=5517/8062MB temp=51.8C disk=19% -[2026-03-15 22:37:09] [BEAT] [cecilia] load=3.44 mem=5518/8062MB temp=51.2C disk=19% -[2026-03-15 22:37:09] [BEAT] [cecilia] load=3.44 mem=5517/8062MB temp=51.2C disk=19% -[2026-03-15 22:38:01] [BEAT] [cecilia] load=3.77 mem=5515/8062MB temp=53.5C disk=19% -[2026-03-15 22:39:01] [BEAT] [cecilia] load=4.18 mem=5525/8062MB temp=55.1C disk=19% -[2026-03-15 22:40:02] [FLEET] [cecilia] Starting cross-node health check -[2026-03-15 22:40:02] [BEAT] [cecilia] load=4.46 mem=5488/8062MB temp=56.2C disk=19% -[2026-03-15 22:40:03] [FLEET] [cecilia] alice: UP temp=36C mem=3367MB disk=80% -[2026-03-15 22:40:03] [FLEET] [cecilia] octavia: UP temp=36C mem=6758MB disk=67% -[2026-03-15 22:40:05] [FLEET] [cecilia] gematria: UP temp=C mem=4193MB disk=67% -[2026-03-15 22:40:05] [FLEET] [cecilia] lucidia: UP temp=61C mem=3513MB disk=33% -[2026-03-15 22:40:07] [FLEET] [cecilia] aria: DOWN (no ping response) -[2026-03-15 22:40:08] [FLEET] [cecilia] anastasia: UP temp=C mem=275MB disk=69% -[2026-03-15 22:41:01] [BEAT] [cecilia] load=3.20 mem=5568/8062MB temp=46.3C disk=19% -[2026-03-15 22:42:01] [BEAT] [cecilia] load=1.35 mem=5568/8062MB temp=44.6C disk=19% -[2026-03-15 22:42:19] [BEAT] [cecilia] load=1.26 mem=5562/8062MB temp=44.1C disk=19% -[2026-03-15 22:42:19] [BEAT] [cecilia] load=1.26 mem=5560/8062MB temp=45.2C disk=19% -[2026-03-15 22:43:01] [BEAT] [cecilia] load=0.72 mem=5536/8062MB temp=43.5C disk=19% -[2026-03-15 22:44:01] [BEAT] [cecilia] load=0.60 mem=5275/8062MB temp=44.6C disk=19% -[2026-03-15 22:45:01] [BEAT] [cecilia] load=0.53 mem=5284/8062MB temp=44.1C disk=19% -[2026-03-15 22:45:47] [DIAL] [cecilia] Switchboard unreachable -[2026-03-15 22:46:01] [BEAT] [cecilia] load=2.22 mem=5141/8062MB temp=45.8C disk=19% -[2026-03-15 22:47:01] [BEAT] [cecilia] load=0.97 mem=5082/8062MB temp=43.5C disk=19% -[2026-03-15 22:47:29] [BEAT] [cecilia] load=0.65 mem=5077/8062MB temp=42.5C disk=19% -[2026-03-15 22:47:29] [BEAT] [cecilia] load=0.65 mem=5080/8062MB temp=43.0C disk=19% -[2026-03-15 22:48:01] [BEAT] [cecilia] load=0.60 mem=5079/8062MB temp=43.0C disk=19% -[2026-03-15 22:49:01] [BEAT] [cecilia] load=0.38 mem=5078/8062MB temp=41.4C disk=19% -[2026-03-15 22:50:01] [FLEET] [cecilia] Starting cross-node health check -[2026-03-15 22:50:01] [BEAT] [cecilia] load=0.19 mem=5045/8062MB temp=41.9C disk=19% -[2026-03-15 22:50:01] [FLEET] [cecilia] alice: UP temp=36C mem=3349MB disk=80% -[2026-03-15 22:50:02] [FLEET] [cecilia] octavia: UP temp=36C mem=6744MB disk=67% -[2026-03-15 22:50:03] [FLEET] [cecilia] gematria: UP temp=C mem=4197MB disk=67% -[2026-03-15 22:50:03] [FLEET] [cecilia] lucidia: UP temp=55C mem=3518MB disk=33% -[2026-03-15 22:50:05] [DIAL] [cecilia] Switchboard unreachable -[2026-03-15 22:50:05] [FLEET] [cecilia] aria: DOWN (no ping response) -[2026-03-15 22:50:06] [FLEET] [cecilia] anastasia: UP temp=C mem=275MB disk=69% -[2026-03-15 22:51:01] [BEAT] [cecilia] load=0.15 mem=5090/8062MB temp=40.8C disk=19% -[2026-03-15 22:52:01] [BEAT] [cecilia] load=1.28 mem=5085/8062MB temp=39.7C disk=19% -[2026-03-15 22:52:39] [BEAT] [cecilia] load=1.66 mem=5087/8062MB temp=40.2C disk=19% -[2026-03-15 22:52:39] [BEAT] [cecilia] load=1.66 mem=5083/8062MB temp=39.7C disk=19% -[2026-03-15 22:53:01] [BEAT] [cecilia] load=1.77 mem=5092/8062MB temp=39.7C disk=19% -[2026-03-15 22:54:01] [BEAT] [cecilia] load=0.87 mem=5089/8062MB temp=38.6C disk=19% -[2026-03-15 22:55:02] [BEAT] [cecilia] load=0.45 mem=5057/8062MB temp=39.7C disk=19% -[2026-03-15 22:56:01] [BEAT] [cecilia] load=0.25 mem=5154/8062MB temp=39.1C disk=19% -[2026-03-15 22:57:01] [BEAT] [cecilia] load=0.13 mem=5146/8062MB temp=39.7C disk=19% -[2026-03-15 22:57:48] [BEAT] [cecilia] load=0.37 mem=5197/8062MB temp=39.1C disk=19% -[2026-03-15 22:57:48] [BEAT] [cecilia] load=0.37 mem=5194/8062MB temp=38.6C disk=19% +[2026-03-15 23:05:05] [DIAL] [cecilia] Switchboard unreachable +[2026-03-15 23:06:01] [BEAT] [cecilia] load=0.70 mem=3895/8062MB temp=38.0C disk=19% +[2026-03-15 23:07:01] [BEAT] [cecilia] load=0.43 mem=3908/8062MB temp=38.0C disk=19% +[2026-03-15 23:08:01] [BEAT] [cecilia] load=0.25 mem=3908/8062MB temp=38.0C disk=19% +[2026-03-15 23:08:06] [BEAT] [cecilia] load=0.31 mem=3907/8062MB temp=38.0C disk=19% +[2026-03-15 23:08:06] [BEAT] [cecilia] load=0.31 mem=3905/8062MB temp=38.6C disk=19% +[2026-03-15 23:09:01] [BEAT] [cecilia] load=0.74 mem=3907/8062MB temp=38.6C disk=19% +[2026-03-15 23:10:01] [FLEET] [cecilia] Starting cross-node health check +[2026-03-15 23:10:01] [BEAT] [cecilia] load=0.31 mem=3805/8062MB temp=39.1C disk=19% +[2026-03-15 23:10:02] [FLEET] [cecilia] alice: UP temp=36C mem=3331MB disk=80% +[2026-03-15 23:10:02] [FLEET] [cecilia] octavia: UP temp=38C mem=6548MB disk=67% +[2026-03-15 23:10:04] [FLEET] [cecilia] gematria: UP temp=C mem=4174MB disk=67% +[2026-03-15 23:10:04] [FLEET] [cecilia] lucidia: UP temp=60C mem=3212MB disk=33% +[2026-03-15 23:10:06] [FLEET] [cecilia] aria: DOWN (no ping response) +[2026-03-15 23:10:07] [FLEET] [cecilia] anastasia: UP temp=C mem=276MB disk=69% +[2026-03-15 23:11:01] [BEAT] [cecilia] load=0.41 mem=3819/8062MB temp=37.5C disk=19% +[2026-03-15 23:12:01] [BEAT] [cecilia] load=0.36 mem=3817/8062MB temp=37.5C disk=19% +[2026-03-15 23:13:01] [BEAT] [cecilia] load=4.14 mem=3884/8062MB temp=47.4C disk=19% +[2026-03-15 23:13:15] [BEAT] [cecilia] load=4.54 mem=3879/8062MB temp=48.0C disk=19% +[2026-03-15 23:13:15] [BEAT] [cecilia] load=4.54 mem=3878/8062MB temp=48.0C disk=19% +[2026-03-15 23:14:01] [BEAT] [cecilia] load=2.55 mem=3892/8062MB temp=40.8C disk=19% +[2026-03-15 23:15:01] [BEAT] [cecilia] load=1.33 mem=3854/8062MB temp=40.8C disk=19% +[2026-03-15 23:15:46] [DIAL] [cecilia] Switchboard unreachable +[2026-03-15 23:16:01] [BEAT] [cecilia] load=0.71 mem=3882/8062MB temp=39.1C disk=19% +[2026-03-15 23:17:01] [BEAT] [cecilia] load=0.45 mem=3905/8062MB temp=39.1C disk=19% +[2026-03-15 23:18:01] [BEAT] [cecilia] load=0.31 mem=3902/8062MB temp=39.1C disk=19% +[2026-03-15 23:18:24] [BEAT] [cecilia] load=0.33 mem=3898/8062MB temp=39.1C disk=19% +[2026-03-15 23:18:24] [BEAT] [cecilia] load=0.33 mem=3897/8062MB temp=39.1C disk=19% +[2026-03-15 23:19:01] [BEAT] [cecilia] load=0.31 mem=3900/8062MB temp=38.6C disk=19% +[2026-03-15 23:20:01] [FLEET] [cecilia] Starting cross-node health check +[2026-03-15 23:20:01] [BEAT] [cecilia] load=0.30 mem=3860/8062MB temp=39.1C disk=19% +[2026-03-15 23:20:02] [FLEET] [cecilia] alice: UP temp=37C mem=3342MB disk=81% +[2026-03-15 23:20:02] [FLEET] [cecilia] octavia: UP temp=38C mem=6563MB disk=68% +[2026-03-15 23:20:04] [FLEET] [cecilia] gematria: UP temp=C mem=4173MB disk=67% +[2026-03-15 23:20:04] [FLEET] [cecilia] lucidia: UP temp=55C mem=3386MB disk=33% +[2026-03-15 23:20:06] [DIAL] [cecilia] Switchboard unreachable +[2026-03-15 23:20:06] [FLEET] [cecilia] aria: DOWN (no ping response) +[2026-03-15 23:20:07] [FLEET] [cecilia] anastasia: UP temp=C mem=280MB disk=69% +[2026-03-15 23:21:01] [BEAT] [cecilia] load=0.21 mem=3899/8062MB temp=38.6C disk=19% +[2026-03-15 23:22:01] [BEAT] [cecilia] load=1.08 mem=2941/8062MB temp=47.4C disk=19% +[2026-03-15 23:23:02] [BEAT] [cecilia] load=3.31 mem=2860/8062MB temp=48.0C disk=19% +[2026-03-15 23:23:33] [BEAT] [cecilia] load=2.83 mem=2856/8062MB temp=41.9C disk=19% +[2026-03-15 23:23:33] [BEAT] [cecilia] load=2.83 mem=2854/8062MB temp=41.4C disk=19% +[2026-03-15 23:24:01] [BEAT] [cecilia] load=1.80 mem=2853/8062MB temp=41.4C disk=19% +[2026-03-15 23:25:01] [BEAT] [cecilia] load=0.91 mem=2860/8062MB temp=41.9C disk=19% +[2026-03-15 23:26:01] [BEAT] [cecilia] load=0.47 mem=2896/8062MB temp=40.2C disk=19% +[2026-03-15 23:27:01] [BEAT] [cecilia] load=0.27 mem=2894/8062MB temp=39.1C disk=19% +[2026-03-15 23:28:01] [BEAT] [cecilia] load=0.35 mem=2894/8062MB temp=38.6C disk=19% +[2026-03-15 23:28:42] [BEAT] [cecilia] load=0.43 mem=2891/8062MB temp=39.1C disk=19% +[2026-03-15 23:28:42] [BEAT] [cecilia] load=0.43 mem=2889/8062MB temp=38.6C disk=19% diff --git a/fleet/cecilia/heartbeat.json b/fleet/cecilia/heartbeat.json index 06d37f7..63097db 100644 --- a/fleet/cecilia/heartbeat.json +++ b/fleet/cecilia/heartbeat.json @@ -1 +1 @@ -{"node":"cecilia","ts":"2026-03-16T03:57:48Z","load":0.37,"mem_free_mb":5194,"mem_total_mb":8062,"temp_c":38.6,"disk_pct":19,"throttle":"0x50000"} +{"node":"cecilia","ts":"2026-03-16T04:28:42Z","load":0.43,"mem_free_mb":2889,"mem_total_mb":8062,"temp_c":38.6,"disk_pct":19,"throttle":"0x50000"} diff --git a/fleet/cecilia/ports.txt b/fleet/cecilia/ports.txt index 6802cb6..a639a30 100644 --- a/fleet/cecilia/ports.txt +++ b/fleet/cecilia/ports.txt @@ -1,33 +1,35 @@ -LISTEN 0 4096 127.0.0.1:9000 0.0.0.0:* -LISTEN 0 128 0.0.0.0:34001 0.0.0.0:* -LISTEN 0 4096 127.0.0.1:37175 0.0.0.0:* -LISTEN 0 32 127.0.0.1:53 0.0.0.0:* -LISTEN 0 2048 0.0.0.0:8788 0.0.0.0:* users:(("python3",pid=1429,fd=16)) -LISTEN 0 5 0.0.0.0:8787 0.0.0.0:* users:(("python3",pid=1562,fd=3)) -LISTEN 0 5 0.0.0.0:9100 0.0.0.0:* -LISTEN 0 128 0.0.0.0:5002 0.0.0.0:* users:(("python3",pid=1566,fd=3)) -LISTEN 0 128 0.0.0.0:5001 0.0.0.0:* users:(("python3",pid=1572,fd=3)) -LISTEN 0 511 0.0.0.0:80 0.0.0.0:* -LISTEN 0 128 0.0.0.0:22 0.0.0.0:* -LISTEN 0 200 127.0.0.1:5432 0.0.0.0:* -LISTEN 0 32 192.168.4.96:53 0.0.0.0:* -LISTEN 0 5 0.0.0.0:7890 0.0.0.0:* users:(("python3",pid=97297,fd=5)) -LISTEN 0 5 0.0.0.0:4010 0.0.0.0:* users:(("python3",pid=1035,fd=3)) -LISTEN 0 511 0.0.0.0:8080 0.0.0.0:* -LISTEN 0 511 0.0.0.0:3100 0.0.0.0:* -LISTEN 0 5 0.0.0.0:11435 0.0.0.0:* users:(("python3",pid=1412,fd=3)) -LISTEN 0 4096 127.0.0.1:8088 0.0.0.0:* -LISTEN 0 4096 127.0.0.1:20241 0.0.0.0:* -LISTEN 0 5 0.0.0.0:3001 0.0.0.0:* -LISTEN 0 5 0.0.0.0:3000 0.0.0.0:* users:(("python3",pid=1563,fd=3)) -LISTEN 0 16 *:5900 *:* -LISTEN 0 4096 *:9001 *:* -LISTEN 0 4096 *:9000 *:* -LISTEN 0 511 [::]:80 [::]:* -LISTEN 0 128 [::]:22 [::]:* -LISTEN 0 4096 [::1]:9000 [::]:* -LISTEN 0 4096 *:8086 *:* -LISTEN 0 511 [::]:8080 [::]:* -LISTEN 0 4096 *:11434 *:* -LISTEN 0 32 [::1]:53 [::]:* -LISTEN 0 200 [::1]:5432 [::]:* +LISTEN 0 4096 127.0.0.1:9000 0.0.0.0:* +LISTEN 0 128 0.0.0.0:34001 0.0.0.0:* +LISTEN 0 4096 127.0.0.1:37175 0.0.0.0:* +LISTEN 0 32 127.0.0.1:53 0.0.0.0:* +LISTEN 0 2048 0.0.0.0:8788 0.0.0.0:* users:(("python3",pid=1429,fd=16)) +LISTEN 0 5 0.0.0.0:8787 0.0.0.0:* users:(("python3",pid=1562,fd=3)) +LISTEN 0 5 0.0.0.0:9100 0.0.0.0:* +LISTEN 0 128 0.0.0.0:5002 0.0.0.0:* users:(("python3",pid=1566,fd=3)) +LISTEN 0 128 0.0.0.0:5001 0.0.0.0:* users:(("python3",pid=1572,fd=3)) +LISTEN 0 4096 127.0.0.1:46533 0.0.0.0:* +LISTEN 0 511 0.0.0.0:80 0.0.0.0:* +LISTEN 0 4096 127.0.0.1:46527 0.0.0.0:* +LISTEN 0 128 0.0.0.0:22 0.0.0.0:* +LISTEN 0 200 127.0.0.1:5432 0.0.0.0:* +LISTEN 0 32 192.168.4.96:53 0.0.0.0:* +LISTEN 0 5 0.0.0.0:7890 0.0.0.0:* users:(("python3",pid=121632,fd=5)) +LISTEN 0 5 0.0.0.0:4010 0.0.0.0:* users:(("python3",pid=1035,fd=3)) +LISTEN 0 511 0.0.0.0:8080 0.0.0.0:* +LISTEN 0 511 0.0.0.0:3100 0.0.0.0:* +LISTEN 0 5 0.0.0.0:11435 0.0.0.0:* users:(("python3",pid=1412,fd=3)) +LISTEN 0 4096 127.0.0.1:8088 0.0.0.0:* +LISTEN 0 4096 127.0.0.1:20241 0.0.0.0:* +LISTEN 0 5 0.0.0.0:3001 0.0.0.0:* +LISTEN 0 5 0.0.0.0:3000 0.0.0.0:* users:(("python3",pid=1563,fd=3)) +LISTEN 0 16 *:5900 *:* +LISTEN 0 4096 *:9001 *:* +LISTEN 0 4096 *:9000 *:* +LISTEN 0 511 [::]:80 [::]:* +LISTEN 0 128 [::]:22 [::]:* +LISTEN 0 4096 [::1]:9000 [::]:* +LISTEN 0 4096 *:8086 *:* +LISTEN 0 511 [::]:8080 [::]:* +LISTEN 0 4096 *:11434 *:* +LISTEN 0 32 [::1]:53 [::]:* +LISTEN 0 200 [::1]:5432 [::]:* diff --git a/fleet/cecilia/system-info.json b/fleet/cecilia/system-info.json index f1396ea..3ceac5e 100644 --- a/fleet/cecilia/system-info.json +++ b/fleet/cecilia/system-info.json @@ -1,19 +1,19 @@ { "hostname": "cecilia", - "ts": "2026-03-16T03:57:49Z", - "uptime_seconds": 4179, + "ts": "2026-03-16T04:28:43Z", + "uptime_seconds": 6033, "kernel": "6.12.62+rpt-rpi-2712", - "temp_c": 38.0, + "temp_c": 39.7, "memory_mb": { "total": 8062, - "used": 2867, - "free": 5195 + "used": 5184, + "free": 2878 }, "disk": "81G/457G (19%)", "load": [ - 0.37, - 0.6, - 0.93 + 0.43, + 0.75, + 0.91 ], "ollama_models": [ "deepseek-r1:1.5b", diff --git a/fleet/gematria/system-info.json b/fleet/gematria/system-info.json index 12694ff..b17b7b7 100644 --- a/fleet/gematria/system-info.json +++ b/fleet/gematria/system-info.json @@ -1,19 +1,19 @@ { "hostname": "gematria", - "ts": "2026-03-16T03:57:52Z", - "uptime_seconds": 5432664, + "ts": "2026-03-16T04:28:45Z", + "uptime_seconds": 5434517, "kernel": "5.15.0-113-generic", "temp_c": 0, "memory_mb": { "total": 7937, - "used": 3302, - "free": 4189 + "used": 3318, + "free": 4169 }, "disk": "52G/78G (67%)", "load": [ - 3.26, - 3.13, - 3.1 + 3.05, + 3.08, + 3.08 ], "ollama_models": [ "qwen2.5:7b", diff --git a/fleet/lucidia/autonomy-log.txt b/fleet/lucidia/autonomy-log.txt index 5548891..38077cb 100644 --- a/fleet/lucidia/autonomy-log.txt +++ b/fleet/lucidia/autonomy-log.txt @@ -1,50 +1,50 @@ -[2026-03-15 22:34:08] [DIAL] [lucidia] Switchboard unreachable -[2026-03-15 22:35:01] [BEAT] [lucidia] load=1.90 mem=3487/8063MB temp=56.2C disk=33% -[2026-03-15 22:36:01] [BEAT] [lucidia] load=2.06 mem=3457/8063MB temp=56.8C disk=33% -[2026-03-15 22:37:01] [BEAT] [lucidia] load=2.33 mem=3515/8063MB temp=61.7C disk=33% -[2026-03-15 22:37:09] [BEAT] [lucidia] load=3.86 mem=3515/8063MB temp=61.7C disk=33% -[2026-03-15 22:37:10] [BEAT] [lucidia] load=3.86 mem=3514/8063MB temp=62.8C disk=33% -[2026-03-15 22:38:01] [BEAT] [lucidia] load=3.72 mem=3513/8063MB temp=54.5C disk=33% -[2026-03-15 22:39:01] [BEAT] [lucidia] load=3.09 mem=3471/8063MB temp=53.5C disk=33% -[2026-03-15 22:40:01] [FLEET] [lucidia] Starting cross-node health check -[2026-03-15 22:40:01] [BEAT] [lucidia] load=2.87 mem=3474/8063MB temp=61.7C disk=33% -[2026-03-15 22:40:02] [FLEET] [lucidia] alice: UP temp=35C mem=3362MB disk=80% -[2026-03-15 22:40:04] [FLEET] [lucidia] octavia: DOWN (no ping response) -[2026-03-15 22:40:04] [FLEET] [lucidia] cecilia: UP temp=56C mem=5480MB disk=19% -[2026-03-15 22:40:06] [FLEET] [lucidia] gematria: UP temp=C mem=4188MB disk=67% -[2026-03-15 22:40:08] [FLEET] [lucidia] aria: DOWN (no ping response) -[2026-03-15 22:40:09] [FLEET] [lucidia] anastasia: UP temp=C mem=275MB disk=69% -[2026-03-15 22:41:01] [BEAT] [lucidia] load=2.12 mem=3506/8063MB temp=54.0C disk=33% -[2026-03-15 22:42:01] [BEAT] [lucidia] load=3.38 mem=3536/8063MB temp=65.0C disk=33% -[2026-03-15 22:42:19] [BEAT] [lucidia] load=3.82 mem=3546/8063MB temp=59.5C disk=33% -[2026-03-15 22:42:19] [BEAT] [lucidia] load=3.82 mem=3546/8063MB temp=59.0C disk=33% -[2026-03-15 22:43:01] [BEAT] [lucidia] load=3.45 mem=3525/8063MB temp=55.6C disk=33% -[2026-03-15 22:44:01] [BEAT] [lucidia] load=3.24 mem=3510/8063MB temp=55.6C disk=33% -[2026-03-15 22:45:01] [BEAT] [lucidia] load=2.56 mem=3490/8063MB temp=57.3C disk=33% -[2026-03-15 22:45:46] [DIAL] [lucidia] Switchboard unreachable -[2026-03-15 22:46:01] [BEAT] [lucidia] load=1.80 mem=3506/8063MB temp=58.4C disk=33% -[2026-03-15 22:47:01] [BEAT] [lucidia] load=1.77 mem=3473/8063MB temp=53.5C disk=33% -[2026-03-15 22:47:29] [BEAT] [lucidia] load=1.70 mem=3482/8063MB temp=60.6C disk=33% -[2026-03-15 22:47:30] [BEAT] [lucidia] load=1.70 mem=3484/8063MB temp=60.0C disk=33% -[2026-03-15 22:48:01] [BEAT] [lucidia] load=2.67 mem=3480/8063MB temp=55.6C disk=33% -[2026-03-15 22:49:01] [BEAT] [lucidia] load=2.76 mem=3479/8063MB temp=61.7C disk=33% -[2026-03-15 22:49:09] [DIAL] [lucidia] Switchboard unreachable -[2026-03-15 22:50:01] [FLEET] [lucidia] Starting cross-node health check -[2026-03-15 22:50:01] [BEAT] [lucidia] load=2.31 mem=3527/8063MB temp=55.6C disk=33% -[2026-03-15 22:50:02] [FLEET] [lucidia] alice: UP temp=36C mem=3349MB disk=80% -[2026-03-15 22:50:04] [FLEET] [lucidia] octavia: DOWN (no ping response) -[2026-03-15 22:50:04] [FLEET] [lucidia] cecilia: UP temp=42C mem=5049MB disk=19% -[2026-03-15 22:50:06] [FLEET] [lucidia] gematria: UP temp=C mem=4188MB disk=67% -[2026-03-15 22:50:08] [FLEET] [lucidia] aria: DOWN (no ping response) -[2026-03-15 22:50:09] [FLEET] [lucidia] anastasia: UP temp=C mem=276MB disk=69% -[2026-03-15 22:51:01] [BEAT] [lucidia] load=1.95 mem=3565/8063MB temp=55.1C disk=33% -[2026-03-15 22:52:01] [BEAT] [lucidia] load=2.08 mem=3568/8063MB temp=60.0C disk=33% -[2026-03-15 22:52:39] [BEAT] [lucidia] load=2.30 mem=3546/8063MB temp=52.4C disk=33% -[2026-03-15 22:52:39] [BEAT] [lucidia] load=2.30 mem=3546/8063MB temp=51.8C disk=33% -[2026-03-15 22:53:01] [BEAT] [lucidia] load=1.95 mem=3558/8063MB temp=51.2C disk=33% -[2026-03-15 22:54:01] [BEAT] [lucidia] load=1.88 mem=3558/8063MB temp=48.5C disk=33% -[2026-03-15 22:55:01] [BEAT] [lucidia] load=3.74 mem=3484/8063MB temp=58.4C disk=33% -[2026-03-15 22:56:01] [BEAT] [lucidia] load=1.93 mem=3486/8063MB temp=48.5C disk=33% -[2026-03-15 22:57:01] [BEAT] [lucidia] load=2.52 mem=3550/8063MB temp=48.0C disk=33% -[2026-03-15 22:57:49] [BEAT] [lucidia] load=2.51 mem=3540/8063MB temp=53.5C disk=33% -[2026-03-15 22:57:49] [BEAT] [lucidia] load=2.51 mem=3543/8063MB temp=53.5C disk=33% +[2026-03-15 23:05:01] [BEAT] [lucidia] load=1.51 mem=3449/8063MB temp=56.2C disk=33% +[2026-03-15 23:06:01] [BEAT] [lucidia] load=1.54 mem=3436/8063MB temp=49.6C disk=33% +[2026-03-15 23:07:01] [BEAT] [lucidia] load=1.92 mem=3445/8063MB temp=51.2C disk=33% +[2026-03-15 23:08:01] [BEAT] [lucidia] load=2.54 mem=3436/8063MB temp=58.4C disk=33% +[2026-03-15 23:08:06] [BEAT] [lucidia] load=2.74 mem=3435/8063MB temp=57.3C disk=33% +[2026-03-15 23:08:06] [BEAT] [lucidia] load=2.74 mem=3433/8063MB temp=58.4C disk=33% +[2026-03-15 23:09:01] [BEAT] [lucidia] load=3.43 mem=3385/8063MB temp=55.1C disk=33% +[2026-03-15 23:10:01] [FLEET] [lucidia] Starting cross-node health check +[2026-03-15 23:10:01] [BEAT] [lucidia] load=2.86 mem=3278/8063MB temp=57.9C disk=33% +[2026-03-15 23:10:02] [FLEET] [lucidia] alice: UP temp=37C mem=3337MB disk=80% +[2026-03-15 23:10:04] [FLEET] [lucidia] octavia: DOWN (no ping response) +[2026-03-15 23:10:05] [FLEET] [lucidia] cecilia: UP temp=41C mem=3759MB disk=19% +[2026-03-15 23:10:07] [FLEET] [lucidia] gematria: UP temp=C mem=4181MB disk=67% +[2026-03-15 23:10:09] [FLEET] [lucidia] aria: DOWN (no ping response) +[2026-03-15 23:10:10] [FLEET] [lucidia] anastasia: UP temp=C mem=275MB disk=69% +[2026-03-15 23:11:01] [BEAT] [lucidia] load=2.65 mem=3151/8063MB temp=52.4C disk=33% +[2026-03-15 23:12:01] [BEAT] [lucidia] load=3.31 mem=3162/8063MB temp=54.0C disk=33% +[2026-03-15 23:13:01] [BEAT] [lucidia] load=2.27 mem=3226/8063MB temp=59.5C disk=33% +[2026-03-15 23:13:15] [BEAT] [lucidia] load=3.02 mem=3255/8063MB temp=60.0C disk=33% +[2026-03-15 23:13:15] [BEAT] [lucidia] load=3.02 mem=3253/8063MB temp=60.6C disk=33% +[2026-03-15 23:14:01] [BEAT] [lucidia] load=2.03 mem=3249/8063MB temp=51.8C disk=33% +[2026-03-15 23:15:01] [BEAT] [lucidia] load=2.57 mem=3325/8063MB temp=54.5C disk=33% +[2026-03-15 23:15:46] [DIAL] [lucidia] Switchboard unreachable +[2026-03-15 23:16:01] [BEAT] [lucidia] load=2.75 mem=3405/8063MB temp=60.0C disk=33% +[2026-03-15 23:17:01] [BEAT] [lucidia] load=1.35 mem=3409/8063MB temp=52.4C disk=33% +[2026-03-15 23:18:01] [BEAT] [lucidia] load=4.19 mem=3367/8063MB temp=61.7C disk=33% +[2026-03-15 23:18:24] [BEAT] [lucidia] load=3.75 mem=3352/8063MB temp=57.3C disk=33% +[2026-03-15 23:18:24] [BEAT] [lucidia] load=3.75 mem=3349/8063MB temp=57.3C disk=33% +[2026-03-15 23:19:02] [BEAT] [lucidia] load=3.38 mem=3417/8063MB temp=54.0C disk=33% +[2026-03-15 23:19:09] [DIAL] [lucidia] Switchboard unreachable +[2026-03-15 23:20:01] [FLEET] [lucidia] Starting cross-node health check +[2026-03-15 23:20:01] [BEAT] [lucidia] load=4.53 mem=3404/8063MB temp=55.1C disk=33% +[2026-03-15 23:20:01] [FLEET] [lucidia] alice: UP temp=35C mem=3338MB disk=81% +[2026-03-15 23:20:03] [FLEET] [lucidia] octavia: DOWN (no ping response) +[2026-03-15 23:20:04] [FLEET] [lucidia] cecilia: UP temp=39C mem=3843MB disk=19% +[2026-03-15 23:20:05] [FLEET] [lucidia] gematria: UP temp=C mem=4176MB disk=67% +[2026-03-15 23:20:07] [FLEET] [lucidia] aria: DOWN (no ping response) +[2026-03-15 23:20:08] [FLEET] [lucidia] anastasia: UP temp=C mem=280MB disk=69% +[2026-03-15 23:21:01] [BEAT] [lucidia] load=4.06 mem=3438/8063MB temp=61.1C disk=33% +[2026-03-15 23:22:01] [BEAT] [lucidia] load=2.02 mem=3404/8063MB temp=52.9C disk=33% +[2026-03-15 23:23:01] [BEAT] [lucidia] load=1.90 mem=3345/8063MB temp=53.5C disk=33% +[2026-03-15 23:23:33] [BEAT] [lucidia] load=1.65 mem=3410/8063MB temp=52.9C disk=33% +[2026-03-15 23:23:33] [BEAT] [lucidia] load=1.65 mem=3409/8063MB temp=52.4C disk=33% +[2026-03-15 23:24:01] [BEAT] [lucidia] load=2.98 mem=3481/8063MB temp=61.7C disk=33% +[2026-03-15 23:25:02] [BEAT] [lucidia] load=1.75 mem=3470/8063MB temp=53.5C disk=33% +[2026-03-15 23:26:01] [BEAT] [lucidia] load=2.10 mem=3479/8063MB temp=53.5C disk=33% +[2026-03-15 23:27:01] [BEAT] [lucidia] load=2.82 mem=3513/8063MB temp=62.8C disk=33% +[2026-03-15 23:28:01] [BEAT] [lucidia] load=2.99 mem=3445/8063MB temp=56.2C disk=33% +[2026-03-15 23:28:42] [BEAT] [lucidia] load=2.96 mem=3469/8063MB temp=61.1C disk=33% +[2026-03-15 23:28:42] [BEAT] [lucidia] load=2.96 mem=3467/8063MB temp=61.1C disk=33% diff --git a/fleet/lucidia/docker.txt b/fleet/lucidia/docker.txt index 4144544..e4f4b9f 100644 --- a/fleet/lucidia/docker.txt +++ b/fleet/lucidia/docker.txt @@ -1,14 +1,14 @@ -blackroad-gitea Up About an hour -road-pdns-admin Up About an hour (healthy) -road-pdns Up About an hour -road-dns-db Up About an hour -roadauth Up About an hour -roadapi Up About an hour -blackroad-edge-agent Up About an hour -blackroad.systems Up About an hour -blackroadai.com Up About an hour -blackroad-auth-gateway Up About an hour -blackroad-metaverse Up About an hour -blackroad-os Up About an hour -blackroad-os-carpool Up About an hour -pi-my-agent-1 Up About an hour (healthy) +blackroad-gitea Up 2 hours +road-pdns-admin Up 2 hours (healthy) +road-pdns Up 2 hours +road-dns-db Up 2 hours +roadauth Up 2 hours +roadapi Up 2 hours +blackroad-edge-agent Up 2 hours +blackroad.systems Up 2 hours +blackroadai.com Up 2 hours +blackroad-auth-gateway Up 2 hours +blackroad-metaverse Up 2 hours +blackroad-os Up 2 hours +blackroad-os-carpool Up 2 hours +pi-my-agent-1 Up 2 hours (healthy) diff --git a/fleet/lucidia/heartbeat.json b/fleet/lucidia/heartbeat.json index 7d5c6f1..b8227fb 100644 --- a/fleet/lucidia/heartbeat.json +++ b/fleet/lucidia/heartbeat.json @@ -1 +1 @@ -{"node":"lucidia","ts":"2026-03-16T03:57:49Z","load":2.51,"mem_free_mb":3543,"mem_total_mb":8063,"temp_c":53.5,"disk_pct":33,"throttle":"0x0"} +{"node":"lucidia","ts":"2026-03-16T04:28:42Z","load":2.96,"mem_free_mb":3467,"mem_total_mb":8063,"temp_c":61.1,"disk_pct":33,"throttle":"0x0"} diff --git a/fleet/lucidia/system-info.json b/fleet/lucidia/system-info.json index c74cea8..e90e5cf 100644 --- a/fleet/lucidia/system-info.json +++ b/fleet/lucidia/system-info.json @@ -1,19 +1,19 @@ { "hostname": "octavia", - "ts": "2026-03-16T03:57:49Z", - "uptime_seconds": 4227, + "ts": "2026-03-16T04:28:43Z", + "uptime_seconds": 6081, "kernel": "6.12.62+rpt-rpi-2712", - "temp_c": 51.8, + "temp_c": 61.1, "memory_mb": { "total": 8063, - "used": 4516, - "free": 3546 + "used": 4617, + "free": 3445 }, "disk": "73G/235G (33%)", "load": [ - 2.51, - 2.42, - 2.55 + 2.96, + 2.77, + 2.72 ], "ollama_models": [ "qwen2.5:3b", diff --git a/fleet/octavia/status.json b/fleet/octavia/status.json index 9c8ff05..51dddaf 100644 --- a/fleet/octavia/status.json +++ b/fleet/octavia/status.json @@ -1 +1 @@ -{"node":"octavia","status":"down","ts":"2026-03-16T03:57:49Z"} +{"node":"octavia","status":"down","ts":"2026-03-16T04:28:43Z"} diff --git a/scripts/blackroad-fleet-coordinator.sh b/scripts/blackroad-fleet-coordinator.sh index 607ffd1..b34a965 100755 --- a/scripts/blackroad-fleet-coordinator.sh +++ b/scripts/blackroad-fleet-coordinator.sh @@ -18,9 +18,22 @@ mkdir -p "$LOG_DIR" "$STATE_DIR" STATS_URL="https://stats-blackroad.amundsonalexa.workers.dev" STATS_KEY="blackroad-stats-push-2026" +SLACK_URL="https://blackroad-slack.amundsonalexa.workers.dev" log() { printf "[%s] %s\n" "$(date '+%Y-%m-%d %H:%M:%S')" "$1"; } +slack_alert() { + curl -s --max-time 5 -X POST "$SLACK_URL/alert" \ + -H "Content-Type: application/json" \ + -d "{\"text\":\"$1\"}" >/dev/null 2>&1 || true +} + +slack_post() { + curl -s --max-time 5 -X POST "$SLACK_URL/post" \ + -H "Content-Type: application/json" \ + -d "{\"text\":\"$1\"}" >/dev/null 2>&1 || true +} + # ── 1. PROBE ALL NODES ── probe_node() { local name=$1 @@ -35,7 +48,7 @@ probe_node() { echo "{\"name\":\"$name\",\"ip\":\"$ip\",\"status\":\"down\",\"ts\":\"$(date -u +%Y-%m-%dT%H:%M:%SZ)\"}" > "$state_file" if [[ "$prev_status" != "down" ]]; then log "ALERT: $name ($ip) went DOWN" - # Could push to Slack here + slack_alert "🔴 *$name* ($ip) went DOWN" fi return fi @@ -69,12 +82,13 @@ EOF # State change alerts if [[ "$prev_status" == "down" || "$prev_status" == "ssh_fail" ]]; then log "RECOVERED: $name ($ip) is back UP" + slack_post "🟢 *$name* ($ip) recovered — back online" fi # Threshold alerts - if [[ "$disk" -gt 90 ]]; then log "ALERT: $name disk at ${disk}%"; fi - if [[ "$temp" -gt 75 ]]; then log "ALERT: $name temp at ${temp}C"; fi - if [[ "$mem_free" -lt 200 ]]; then log "ALERT: $name low memory (${mem_free}MB free)"; fi + if [[ "$disk" -gt 90 ]]; then log "ALERT: $name disk at ${disk}%"; slack_alert "💾 *$name* disk critical: ${disk}%"; fi + if [[ "$temp" -gt 75 ]]; then log "ALERT: $name temp at ${temp}C"; slack_alert "🌡️ *$name* overheating: ${temp}°C"; fi + if [[ "$mem_free" -lt 200 ]]; then log "ALERT: $name low memory (${mem_free}MB free)"; slack_alert "🧠 *$name* low memory: ${mem_free}MB free"; fi } # ── 2. SERVICE HEALTH CHECKS ── diff --git a/scripts/blackroad-fork-enhancer.sh b/scripts/blackroad-fork-enhancer.sh new file mode 100755 index 0000000..abcc391 --- /dev/null +++ b/scripts/blackroad-fork-enhancer.sh @@ -0,0 +1,208 @@ +#!/bin/bash +# BlackRoad Fork Enhancer v2 +# Adds BlackRoad integration layer to forked repos WITHOUT breaking upstream +# Uses GitHub API (no cloning needed) +# +# Usage: ./blackroad-fork-enhancer.sh [org/user] [--dry-run] + +set -e + +PINK='\033[38;5;205m' +GREEN='\033[38;5;82m' +YELLOW='\033[1;33m' +CYAN='\033[38;5;69m' +RED='\033[0;31m' +NC='\033[0m' + +ORG="${1:-blackboxprogramming}" +DRY_RUN="${2:---execute}" +ENHANCED=0 +SKIPPED=0 +FAILED=0 + +echo -e "${PINK}╔════════════════════════════════════════════════════════════╗${NC}" +echo -e "${PINK}║${NC} ${CYAN}BlackRoad Fork Enhancer v2${NC} ${PINK}║${NC}" +echo -e "${PINK}╚════════════════════════════════════════════════════════════╝${NC}" +echo -e " ${CYAN}Target:${NC} $ORG" +echo -e " ${CYAN}Mode:${NC} $DRY_RUN" +echo "" + +# Get all forked repos +FORKS=$(gh repo list "$ORG" --fork --limit 100 --json name -q '.[].name' 2>/dev/null) +TOTAL=$(echo "$FORKS" | wc -l | tr -d ' ') +echo -e "${GREEN}Found $TOTAL forks${NC}" +echo "" + +# Content templates +INTEGRATION_README='# BlackRoad Integration + +This is a fork maintained by [BlackRoad OS, Inc.](https://blackroad.io) for integration with the BlackRoad ecosystem. + +## What We Added + +- `.blackroad/` directory with integration configs +- BlackRoad CI/CD workflow +- Integration documentation + +## Upstream + +This repo tracks the upstream project. BlackRoad additions live exclusively in `.blackroad/` and `.github/workflows/blackroad-ci.yml` to avoid merge conflicts. + +## Links + +- [BlackRoad OS](https://blackroad.io) +- [Documentation](https://docs.blackroad.io) +- [GitHub](https://github.com/blackboxprogramming) + +--- +© 2025-2026 BlackRoad OS, Inc. All rights reserved. +BlackRoad OS — Pave Tomorrow. +' + +INTEGRATION_CONFIG='{ + "name": "REPO_NAME", + "type": "fork", + "org": "ORG_NAME", + "integration": { + "status": "active", + "added": "DATE_NOW", + "version": "1.0.0" + }, + "upstream": { + "synced": true, + "branch": "main" + }, + "blackroad": { + "category": "CATEGORY", + "tags": [], + "fleet_node": null, + "docs": "https://docs.blackroad.io" + } +}' + +CI_WORKFLOW='name: BlackRoad CI +on: + push: + branches: [main, master] + paths: + - ".blackroad/**" + pull_request: + branches: [main, master] + paths: + - ".blackroad/**" + +jobs: + validate: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Validate integration config + run: | + if [ -f .blackroad/config.json ]; then + python3 -c "import json; json.load(open('"'"'.blackroad/config.json'"'"'))" && echo "Config valid" || echo "Config invalid" + fi + - name: Check integration README + run: test -f .blackroad/README.md && echo "README present" || echo "README missing" +' + +# Categorize repo +categorize() { + local name="$1" + case "$name" in + pixel-*|isometric-*|tiny-world|SanAndreasUnity|GameBoyWorlds|OpenViking|OpenSandbox|NotBlox|bit-office|superpowers|openclaw) + echo "game" ;; + *agent*|*claude*|*squad*|BitNet|sgpt|rowboat|hindsight|skills|lucidia-*) + echo "ai" ;; + pi-*|awesome-sysadmin|awesome-selfhosted*|awesome-raspberry*|hailo*|nginx*|ish|git|git.*) + echo "infrastructure" ;; + algorithm*|the-book-*|PDF4QT|A2UI|system-prompts*|htmldocs|clerk-docs|alfred-*|alexa-*) + echo "reference" ;; + *) + echo "general" ;; + esac +} + +# Process each fork +COUNT=0 +for REPO in $FORKS; do + COUNT=$((COUNT + 1)) + echo -e "${CYAN}[$COUNT/$TOTAL]${NC} $REPO" + + # Check if already enhanced + EXISTS=$(gh api "repos/$ORG/$REPO/contents/.blackroad/config.json" 2>/dev/null | python3 -c "import json,sys; d=json.load(sys.stdin); print('yes' if 'name' in d else 'no')" 2>/dev/null || echo "no") + + if [ "$EXISTS" = "yes" ]; then + echo -e " ${YELLOW}Already enhanced — skipping${NC}" + SKIPPED=$((SKIPPED + 1)) + continue + fi + + # Get default branch + DEFAULT_BRANCH=$(gh repo view "$ORG/$REPO" --json defaultBranchRef -q '.defaultBranchRef.name' 2>/dev/null || echo "main") + CATEGORY=$(categorize "$REPO") + NOW=$(date -u +"%Y-%m-%dT%H:%M:%SZ") + + # Build config + CONFIG=$(echo "$INTEGRATION_CONFIG" | sed "s/REPO_NAME/$REPO/g; s/ORG_NAME/$ORG/g; s/DATE_NOW/$NOW/g; s/CATEGORY/$CATEGORY/g") + + if [ "$DRY_RUN" = "--dry-run" ]; then + echo -e " ${YELLOW}[DRY RUN] Would add .blackroad/ to $ORG/$REPO ($CATEGORY)${NC}" + continue + fi + + # Add files via GitHub API (no clone needed) + # 1. .blackroad/README.md + README_B64=$(echo "$INTEGRATION_README" | base64 | tr -d '\n') + gh api -X PUT "repos/$ORG/$REPO/contents/.blackroad/README.md" \ + -f message="chore: add BlackRoad integration layer" \ + -f content="$README_B64" \ + -f branch="$DEFAULT_BRANCH" \ + --silent 2>/dev/null + + if [ $? -ne 0 ]; then + echo -e " ${RED}Failed to add README${NC}" + FAILED=$((FAILED + 1)) + continue + fi + + # 2. .blackroad/config.json + CONFIG_B64=$(echo "$CONFIG" | base64 | tr -d '\n') + gh api -X PUT "repos/$ORG/$REPO/contents/.blackroad/config.json" \ + -f message="chore: add BlackRoad integration config" \ + -f content="$CONFIG_B64" \ + -f branch="$DEFAULT_BRANCH" \ + --silent 2>/dev/null + + # 3. .github/workflows/blackroad-ci.yml + CI_B64=$(echo "$CI_WORKFLOW" | base64 | tr -d '\n') + gh api -X PUT "repos/$ORG/$REPO/contents/.github/workflows/blackroad-ci.yml" \ + -f message="ci: add BlackRoad CI workflow" \ + -f content="$CI_B64" \ + -f branch="$DEFAULT_BRANCH" \ + --silent 2>/dev/null + + # 4. Update description to include BlackRoad + CURRENT_DESC=$(gh repo view "$ORG/$REPO" --json description -q '.description' 2>/dev/null) + if [[ ! "$CURRENT_DESC" == *"BlackRoad"* ]] && [[ ! "$CURRENT_DESC" == *"fork"* ]]; then + NEW_DESC="${CURRENT_DESC} (BlackRoad integration)" + gh repo edit "$ORG/$REPO" --description "$NEW_DESC" 2>/dev/null || true + fi + + # 5. Add topics + gh repo edit "$ORG/$REPO" --add-topic "blackroad" --add-topic "blackroad-fork" --add-topic "$CATEGORY" 2>/dev/null || true + + echo -e " ${GREEN}Enhanced ($CATEGORY)${NC}" + ENHANCED=$((ENHANCED + 1)) + + # Rate limit: 1 per 2 seconds to avoid GitHub abuse + sleep 2 +done + +echo "" +echo -e "${PINK}╔════════════════════════════════════════════════════════════╗${NC}" +echo -e "${PINK}║${NC} ${GREEN}Done!${NC} ${PINK}║${NC}" +echo -e "${PINK}╚════════════════════════════════════════════════════════════╝${NC}" +echo -e " ${GREEN}Enhanced:${NC} $ENHANCED" +echo -e " ${YELLOW}Skipped:${NC} $SKIPPED" +echo -e " ${RED}Failed:${NC} $FAILED" +echo -e " ${CYAN}Total:${NC} $TOTAL" diff --git a/workers/stats-blackroad-src/worker.js b/workers/stats-blackroad-src/worker.js index c607194..e14235f 100644 --- a/workers/stats-blackroad-src/worker.js +++ b/workers/stats-blackroad-src/worker.js @@ -126,14 +126,30 @@ export default { env.STATS.get('cache:analytics:24h').then(c => c || env.STATS.get('stats:analytics')).then(c => c || fetchAnalytics(env)), ]); + const ecosystem = await env.STATS.get('stats:ecosystem'); + return json({ fleet: fleet ? JSON.parse(fleet) : null, infra: infra ? JSON.parse(infra) : null, github: github ? (typeof github === 'string' ? JSON.parse(github) : github) : null, analytics: analytics ? (typeof analytics === 'string' ? JSON.parse(analytics) : analytics) : null, + ecosystem: ecosystem ? JSON.parse(ecosystem) : null, }); } + // ── Ecosystem stats ── + if (path === '/ecosystem') { + const eco = await env.STATS.get('stats:ecosystem'); + return json(eco ? JSON.parse(eco) : { data: {} }); + } + + // ── Any pushed category by name ── + if (path.startsWith('/stats/')) { + const category = path.slice(7); + const data = await env.STATS.get(`stats:${category}`); + return json(data ? JSON.parse(data) : { error: 'not found' }); + } + // ── Health ── if (path === '/health') { const fleet = await env.STATS.get('stats:fleet');