0922cc1d68
- 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).
21 lines
1.0 KiB
JSON
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"}
|
|
}
|
|
}
|