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-13 | Topic schema, error handling, role-based coordination. MQTT Bus Patterns ServiceBase startup() _heartbeat_loop() VersionVerifier _alert_mismatch() start() AutoHealer _publish_audit_log() start() identity heartbeat Role-Based Coordination ~/.kevin/role.json ConfigClient determine_role() init_config_client() ConfigServer get_rules() role rule request Every identifier here is from a design doc _grounding reports doc_only 9 of 9: ServiceBase, VersionVerifier, AutoHealer, ConfigClient and ConfigServer were all read out of MQTT_BUS_PATTERNS.md / ROLES.md, which are the only watch paths. This is the SPEC for S005-S007, not a trace of running code -- ServiceBase is real elsewhere, the rest is unverified here. 1. ServiceBase publishes identity 2. heartbeat loop follows 3. VersionVerifier watches 4. AutoHealer logs an audit 5. ConfigClient resolves role 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. VersionVerifier subscribes to identity and heartbeat topics. 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-08-13 14:13 UTC, from commit 3f277b3

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
Updated
13 Aug 2026, 14:13 UTC
Sources at
3f277b3
Watches
3 paths
  • daemon/docs/standards/MQTT_BUS_PATTERNS.md
  • daemon/docs/ROLES.md
  • daemon/docs/ROLE_JSON_SCHEMA.md