{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://yukart/schema/envelope.json", "title": "Signal envelope", "description": "Every decoded signal published on yukart/vehicle/* and yukart/gnss/*. Raw CAN uses the binary frame encoding instead.", "type": "object", "required": [ "timestamp", "monotonic", "value", "unit" ], "additionalProperties": false, "properties": { "timestamp": { "type": "integer", "description": "UTC epoch microseconds. Absolute reference. Subject to NTP steps; use monotonic for ordering." }, "monotonic": { "type": "integer", "description": "Nanoseconds from CLOCK_MONOTONIC. Authoritative for ordering and for any interval within a session. Not comparable across boots." }, "value": { "type": [ "number", "string", "boolean", "null" ], "description": "null means the signal is known but currently has no value." }, "unit": { "type": "string", "description": "Derived from signals.json. Never authored per message." }, "quality": { "enum": [ "ok", "stale", "invalid" ], "default": "ok", "description": "Omitted when ok." }, "mock": { "type": "boolean", "default": false, "description": "Present and true when synthesised. Must be rendered visibly by any display." } } }