Heimdall

VersionVerifier + AutoHealer

Mismatch alert → 5s cooldown → daemon ServiceManager restart (systemctl only as fallback) → new identity clears the alert.

VersionVerifier + AutoHealer (v2026-09-30T094737Z-5e473105f4) 2026-09-30 | Mismatch alert → 5s cooldown → daemon ServiceManager restart (systemctl only as fallback) → new identity clears the alert. 1 - VERSION VERIFIER - Detects version mismatches VersionVerifier kv/service/+/identity kv/service/+/heartbeat kv/version/mismatch-alert compare_build_versions 2 - AUTO HEALER - Handles mismatch alerts AutoHealer kv/version/mismatch-alert _restart_service systemctl restart kevin-{service} POST /api/services/{name}/restart 1. VersionVerifier subscribes… 2. VersionVerifier compares ve… 3. VersionVerifier publishes m… 4. AutoHealer subscribes to mi… 5. AutoHealer checks cooldown 6. AutoHealer restarts service Mismatch Alert Payload { "service": "daemon", "expected_version": "2026-05-23T074530Z-a3f8e2c", "actual_version": "2026-05-23T074501Z-b7f2a4d", "action_required": "restart", "machine_id": "orion", "environment": "dev", "timestamp": 1715813520 } Service Restart Request POST /api/services/{name}/restart { "service": "daemon" } VersionVerifier compares actual versions against expected versions and publishes mismatch alerts. AutoHealer handles mismatch alerts by checking cooldown and restarting services via systemctl or the daemon API. Legend actor = initiates work · process = code path · store = state on disk · bus = durable queue · dashed = separate process cyan = request flow · pink = state read/write · dashed green = pull / return path · red = refusal As of 2026-09-30 09:47 UTC, from commit 5e47310

Provenance

This drawing is generated, not drawn. It is rebuilt from the source files below, so when they change the picture changes — a diagram here cannot quietly describe a system that no longer works this way.

Owner
Heimdall
Slug
auto-healer
Rendered
2026-09-30T094737Z
From commit
5e473105f4
Updated
30 Sep 2026, 09:47 UTC
Sources at
5e47310
Watches
2 paths
  • daemon/src/auto_healer.py
  • daemon/src/version_verifier.py