{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://stella-ops.org/ui/schemas/ui-micro.schema.json", "title": "UI Micro-Interaction Telemetry Event", "description": "Schema for ui.micro.* telemetry events (MI7)", "type": "object", "required": ["schema_version", "event_type", "timestamp", "tenant_id", "surface", "component", "action"], "properties": { "schema_version": { "type": "string", "pattern": "^v[0-9]+\\.[0-9]+$", "description": "Schema version (e.g., v1.0)" }, "event_type": { "type": "string", "enum": ["ui.micro.interaction", "ui.micro.error", "ui.micro.latency", "ui.micro.state_change"], "description": "Event type category" }, "timestamp": { "type": "string", "format": "date-time", "description": "ISO-8601 UTC timestamp" }, "tenant_id": { "type": "string", "minLength": 1, "description": "Tenant identifier (required for scoping)" }, "surface": { "type": "string", "enum": ["dashboard", "vulnerabilities", "graph", "exceptions", "releases", "settings", "onboarding"], "description": "UI surface/page where interaction occurred" }, "component": { "type": "string", "minLength": 1, "description": "Component name (e.g., button, modal, dropdown)" }, "action": { "type": "string", "minLength": 1, "description": "Action taken (e.g., click, hover, focus, submit, dismiss)" }, "latency_ms": { "type": "number", "minimum": 0, "description": "Time from action to visual feedback in milliseconds" }, "outcome": { "type": "string", "enum": ["success", "error", "cancelled", "timeout", "offline"], "description": "Result of the interaction" }, "reduced_motion": { "type": "boolean", "description": "True if user has prefers-reduced-motion enabled" }, "offline_mode": { "type": "boolean", "description": "True if app is in offline mode" }, "error_code": { "type": ["string", "null"], "description": "Error code if outcome is error (e.g., UI_ERR_001)" }, "correlation_id": { "type": "string", "description": "Trace correlation ID for request tracing" } }, "additionalProperties": false }