Commit Graph
26 Commits
Author SHA1 Message Date
root 3700b3bf46 prose: fix proxmox-monitor access to direct :3001 (revert sub-path)
Revert the /grafana/ nginx sub-path I wrongly added — it broke the existing
http://192.168.68.116:3001/d/gpu-fleet URL. Restored direct 0.0.0.0:3001 LAN
access. Contract is now the source of truth: no GF_SERVER_SERVE_FROM_SUB_PATH,
no nginx /grafana/ route. gpu-fleet + 3 new dashboards all at :3001.
2026-07-02 02:56:27 +00:00
root 4df2fa8329 prose: add proxmox-monitor contract (Grafana Pulse replacement)
- New proxmox-monitor.prose.md: pve-exporter + node_exporter(5) + docker-stats-exporter
- Replaces Pulse with file-provisioned Grafana dashboards (cluster/node/docker)
- Documents cAdvisor/Docker-29 incompatibility + custom exporter workaround
- PVE API token, access URL, config file map, operations
2026-07-02 02:50:59 +00:00
root a07ff2d96a prose: align all contracts with Vulkan rebuild + Koby key regen
- gpu-fleet: Koby key updated (sk-lDTsWy7H3T...), config table (ornith service
  + masked services), benchmarks (prompt 209→532 tok/s), ROCm→Vulkan status
- gpu-monitor: topology (sidecars :8090 removed, .15 via router), subsystem
  polling (router /health/unified as source of truth), execution steps,
  alert threshold (sidecar-unreachable downgraded from critical)
2026-07-02 00:29:10 +00:00
root 49e8d968f5 gpu-fleet: Strix Halo Vulkan rebuild + LiteLLM alignment (2026-07-01)
- ornith now on Vulkan build 4fc4ec5, 256K ctx, ~70 tok/s
- Fixed GPU_MOE_URL bug in docker-compose (.110→.15)
- Added router sidecar fallback for health-checks
- Updated roster context 4096→262144 + correct model_path
- Documented port 8080 firewall (restricted to .116)
2026-07-02 00:01:56 +00:00
root 38d2f7d956 feat: update contracts with GPU optimizations, Strix Halo/ROCm status, alert migration
- gpu-fleet: documented parallel=2/batch=4096 optimizations for RTX 3090/5070
- gpu-fleet: added Strix Halo ROCm status (installed, blocked by HSA runtime on Debian 13)
- gpu-fleet: documented alert migration from DM → #agent-hub stream topics
- gpu-monitor: added Alert Delivery section with stream topic conventions
- All GPU alerts now go to #agent-hub for cross-agent visibility
2026-07-01 22:25:26 +00:00
root 0c976ddbf7 feat: add 2 new failure modes — rate limiting and streaming fallback
- Rate limiting during reconnection (429): honor retry-after headers
- Placeholder edit fails silently: fallback to sending as new message
- Both fixes deployed to pi Zulip extension
2026-06-30 22:56:09 +00:00
root 45641e7ae7 feat: gpu-monitor — real-time GPU fleet dashboard with live metrics
- Polls GPU sidecars every 15s for temp, VRAM, power, utilization
- Creates responsive HTML dashboard at /root/dashboard/gpu-fleet.html
- Served via nginx at /gpu/ on CT 116
- PM2-managed gpu-monitor server on port 9100
- Tracks Strix Halo llama-server via SSH
- Exposes JSON API at /gpu-data for integrations
2026-06-29 22:35:30 +00:00
root 4ee441f622 feat: zulip-adapter-lessons — document 8 known failure modes + deployment checklist
Documents lessons from building pi Zulip extension and Hermes Zulip plugin:
1. Queue registration content-type
2. Missing bot_user_id for @mentions
3. Zero stream subscriptions
4. Stale errors never cleared
5. Stuck detection too aggressive
6. Env var name mismatch
7. Poll interval too aggressive
8. A2A port conflict

Also: fixed Hermes adapter to clear stale errors on successful poll
2026-06-29 22:22:52 +00:00
root 1f90c3dc74 fix(pm2-self-heal): document permanent stuck-detection fix, reset PM2 counter
Root cause: abiba-zulip extension had STUCK_THRESHOLD_MS=30min.
After 30min of inactivity (overnight), it reported stuck=True, which
triggered the health monitor to restart it — cycling restarts up to 18.

Permanent fixes:
1. STUCK_THRESHOLD_MS raised 30min → 4 hours in extension index.js
2. PM2 restart counter reset: delete+re-add abiba-zulip (was 18, now 0)
3. pm2-self-heal.sh alert threshold documented at 30 (implementation already)
4. Prose contract updated with historical note and threshold rationale
2026-06-29 16:07:47 +00:00
root 85ce80cf2f Merge branch 'master' of https://git.sysloggh.net/SyslogSolution/prose-contracts 2026-06-29 04:07:11 +00:00
root aa55634571 feat: tighten contracts with GPU fleet topology, model routing, Strix Halo details
litellm-health: added GPU fleet topology table, model routing map,
3-tier GPU checks (reachability, VRAM, temp, test inference)

litellm-self-heal: added GPU fleet reference, rules for GPU
unreachable and model not responding

Infrastructure topology now fully documented:
- amdpve: Strix Halo CPU (35B, 16 threads, 262K ctx, llama-server)
- llm-gpu: RTX 3090 24GB (Dense tier)
- ocu-llm: RTX 5070 12GB (MoE + Light tiers)
2026-06-29 04:07:05 +00:00
root 76fc2595ea feat(gpu-fleet): GPU fleet management prose contract
Declarative GPU roster replaces hardcoded router.py model configs.
Operations: add-model, remove-model, heal, sync-keys, list.
Documents agent key architecture with LITELLM_API_KEY env var.
Covers all 3 GPU hosts (RTX 5070, RTX 3090, Strix Halo).
2026-06-28 16:24:40 +00:00
root 8a190fa803 feat(zulip-health): Gen 3 — stuck detection, proactive queue recovery, restart debounce
- Health endpoint now reports stuck:bool + idle_seconds + last_activity_time
- Extension re-registers queue after 30min idle (even without BAD_EVENT_QUEUE_ID)
- Broadened queue expiry detection (matches deregistered, invalid queue, etc.)
- zulip-monitor.sh detects stuck:true + enforces 300s restart debounce
- Prevents silent death where bot shows connected:true but processes 0 messages

Fixes the 'getting stuck and restarts once and for all' issue.
2026-06-28 13:22:11 +00:00
root 90e074dbcc feat(zulip-health): monitor script + infra report — cron-ready implementations of prose contracts 2026-06-27 19:22:53 +00:00
root c59afa7f1a feat(zulip-health): v2 — multi-platform monitor for pi, Hermes, Agent Zero
Covers all 4 Zulip agents across 3 platforms with checks, auto-heal,
and consolidated action matrix.
2026-06-27 19:22:44 +00:00
root 14bb145300 feat: expand infrastructure-control pattern — Proxmox 5-node cluster, Docker 3-ecosystem, NFS storage, network services
Full discovery and expansion based on PVE API exploration:

Proxmox (5 nodes):
  - minipve (.12): authentik, gitea, mumuni, syslog-api, jitsi
  - amdpve (.15): abiba, kagentz, tanko, tdunna, baggy, scottdenya
  - storepve (.6): docker-vm, ra-h-os, PBS, media, zulip
  - acerpve (.9): llm-gpu, adguard
  - ocupve (.5): ocu-llm

Docker (3 ecosystems, 22 containers):
  - docker-vm (.7): Firecrawl, SearXNG, Home stack, Audiobookshelf
  - CT 116: LiteLLM stack (6 containers)
  - Netbird (.17): VPN controller + dashboard + crowdsec + traefik

Pattern now includes: access matrix, per-section checks/remediations,
alert routing, escalation chain, quick-start commands, full CT inventory.
2026-06-27 13:11:55 +00:00
root e090b27e20 feat: expand infrastructure-control pattern — Proxmox, Docker, storage, network
Full expansion of the infrastructure-control pattern covering:

Layer 1 — Proxmox Cluster (5 nodes)
  - 4 monitoring rules (offline, resource pressure, stopped VMs/CTs, storage)
  - Auto-start for 8 critical CTs/VMs on unexpected stop
  - Node resource threshold alerting

Layer 2 — Docker Ecosystems (3 hosts, 22 containers)
  - 6 monitoring rules across docker-vm, syslog-api, netbird
  - Auto-restart for critical containers and stacks
  - Disk pressure auto-prune

Layer 3 — Storage Fabric (3.6TB + 7.3TB NFS)
  - Mount availability monitoring
  - Growth rate tracking for high-use volumes
  - PBS backup compliance checking

Layer 4 — Network Services (DNS, auth, git, chat, VPN)
  - Service endpoint monitoring
  - Escalation to Mumuni for authentik issues

Layer 5 — Agent Health (6 agents across 3 platforms)
  - CT auto-start for stopped agents
  - Health endpoint verification

Full access matrix and priority-based SLA table.
2026-06-27 13:11:15 +00:00
root 4c6b0410ea fix: pm2-self-heal — self-process guard, never restart abiba-zulip
- Added --no-color flag to all PM2 commands
- Self-process guard: abiba-zulip is READ-ONLY, never restarted
- Corrected column indices (PID=6, restarts=8, status=9)
- Added pm2-self-heal.sh shell script implementation
2026-06-26 19:53:55 +00:00
root 2831b06c1e feat: zulip-mention-reliability — self-testing contract for @mention detection
Monitors whether Abiba Bot responds to @mentions in stream topics.
Self-test: sends a test mention, checks for response within 30s.
Documents 4 known failure modes with remediation rules.
Follows same self-improving pattern as litellm-self-heal.
2026-06-26 19:15:53 +00:00
root acfe16e5e7 feat: infrastructure-control — reference pattern for environment reach
Maps how OpenProse contracts connect to Gitea, containers, remote
agents, and infrastructure. Documents the access matrix, what works
today, and what gaps remain for full enforcement.
2026-06-26 18:52:54 +00:00
root 37de60ae32 feat: add event-driven triggers and success criteria to plugin builder
- Success Criteria section defines measurable quality gates
- Continuity section explains event-driven wake modes
- Each generation tracks which criteria passed/failed
- Improvements triggered by failures, not fixed timers
2026-06-26 18:45:06 +00:00
root be15b9c296 feat: build-zulip-plugin — recursive plugin generation contract
Self-improving contract that generates, validates, and iteratively
improves Hermes platform plugins. Tracks generations in knowledge
graph, learns from past successes and failures, and can update
its own rules as new patterns emerge.
2026-06-26 18:39:03 +00:00
root f340c6301d feat: pm2-self-heal — monitors and restarts critical PM2 processes
Responsibility contract that checks abiba-zulip and abiba-telegram
every 5 minutes. Restarts stopped/errored processes, escalates if
restart count exceeds 5/hour. Logs to knowledge graph and alerts
owner via Zulip DM.
2026-06-26 17:44:27 +00:00
root 41bd3c5748 feat: add daily/weekly digest reporting to self-heal contract
- Hourly cycle reports: fix alerts, escalation alerts, 10-cycle all-clear
- Daily digest: 24h summary with counts, top actions, uptime
- Weekly digest: 7-day summary + KG node for trending
- All delivered via Zulip DM to owner
2026-06-26 15:23:21 +00:00
root fb27c99c3d feat: litellm-self-heal — proactive remediation responsibility 2026-06-26 14:51:04 +00:00
root 584338fb60 feat: initial OpenProse contracts — LiteLLM health check + hello world
- litellm-health.prose.md: Verifies admin UI, API docs, OIDC auth, container
  health, and aggregate health endpoint. Reusable by any Syslog agent.
- hello-world.prose.md: Simple example contract demonstrating OpenProse
  function pattern with parameters, returns, and postconditions.
2026-06-26 14:40:22 +00:00