Files
hms-mediaengine/schemas/cluster/cluster_message_v1.schema.json
T
HMS MediaEngine Agent 0922cc1d68 Phase 0: Repository-Initialisierung nach Bauplan v1.2
- Struktur gemäß §8 (Eigentumsgrenzen), PLAN.md als normative Basis
- Pflichtdokumente: STATUS.md, ERRORS.md, TEST_REPORT.md, CHANGELOG.md, ADRs
- ADR-0001 Python 3.13-Pin, ADR-0002 GStreamer 1.28.6-Pin (Windows),
  ADR-0003 IPC TCP+MessagePack v1
- Kernpakete: hms_protocol, hms_domain, hms_parameter, hms_artnet,
  hms_adaptive, hms_capabilities, hms_plugin_sdk
- Renderer-Spike: D3D11-Primärpfad + Dev-GL-Pfad (§36 Nr. 4-5)
- Control Core: FastAPI REST + WebSocket (§36 Nr. 9)
- Beispielplugins: Passthrough + Gaussian Blur (3 Adaptive-Quality-
  Varianten, HLSL/GLSL/GLES)
- Tools: Art-Net-Emulator, Fixture-Generator (Master32/Layer64-CSV),
  Capability-Probe
- JSON-Schemas: IPC, Plugin, Projekt, Cluster
- 121 Unit-/Integrationstests grün, Ruff grün

Gate 0 bleibt offen: Hardwaremessungen nur auf echter Windows-Referenz-
hardware gültig (§29.7, §33).
2026-09-11 00:36:59 +02:00

21 lines
1.0 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "hms/schemas/cluster/cluster_message_v1.schema.json",
"title": "HMS Cluster Message v1",
"description": "PLAN.md §6.5: Jede Cluster-Nachricht enthält mindestens cluster_id, node_id, command_id, Sequenz, Projekt-Revision, Absenderzeit und Trace-ID.",
"type": "object",
"required": ["cluster_id", "node_id", "command_id", "sequence", "project_revision", "sender_time_ns", "trace_id"],
"properties": {
"cluster_id": {"type": "string", "format": "uuid"},
"node_id": {"type": "string", "format": "uuid"},
"command_id": {"type": "string", "format": "uuid"},
"sequence": {"type": "integer", "minimum": 0},
"project_revision": {"type": "integer", "minimum": 0},
"sender_time_ns": {"type": "integer", "minimum": 0},
"trace_id": {"type": "string", "format": "uuid"},
"execute_at_show_time_ns": {"type": ["integer", "null"], "minimum": 0},
"status": {"enum": ["accepted", "armed", "executed", "failed"]},
"payload": {"type": "object"}
}
}