Standards

S005/S006/S007 — MQTT / Errors / Roles

Topic schema, error handling, role-based coordination.

S005/S006/S007 — MQTT / Errors / Roles (v2026-08-02T101544Z-ab2bbdebf5) 2026-08-01 | Topic schema, error handling, role-based coordination. MQTT Bus Patterns ServiceBase startup() _heartbeat_loop() VersionVerifier _alert_mismatch() start() AutoHealer _publish_audit_log() start() identity messa… heartbeat mess… Role-Based Coordination ~/.kevin/role.json ConfigClient determine_role() init_config_client() ConfigServer get_rules() role configura… rule request 1. ServiceBase publishes identity an… 2. VersionVerifier subscribes to ser… 3. AutoHealer subscribes to mismatch… 4. ConfigClient determines role from… 5. ConfigServer provides rules based… Identity Message Payload {"service": "daemon", "version": "2026-05-23T074530Z-a3f8e2c", "role": "owner", "timestamp": 1715813520, "status": "healthy"} Mismatch Alert Payload {"service": "daemon", "actual_version": "2026-05-20T...-old", "expected_version": "2026-05-23T...-new", "timestamp": 1715813520, "reason": "version drift detected"} 9 of 9 identifiers appear only in design docs, not in code — this shows SPECIFIED behaviour, not verified implementation. ServiceBase and AutoHealer publish messages with QoS 1. 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

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
Standards
Slug
s005-s006-s007-patterns
Rendered
2026-08-02T101544Z
From commit
ab2bbdebf5
Watches
3 paths
  • daemon/docs/standards/MQTT_BUS_PATTERNS.md
  • daemon/docs/ROLES.md
  • daemon/docs/ROLE_JSON_SCHEMA.md