Files
git.stella-ops.org/docs/modules/ui/telemetry/ui-micro.schema.json
StellaOps Bot 8768c27f30
Some checks failed
Docs CI / lint-and-preview (push) Has been cancelled
Signals DSSE Sign & Evidence Locker / sign-signals-artifacts (push) Has been cancelled
Signals DSSE Sign & Evidence Locker / verify-signatures (push) Has been cancelled
Add signal contracts for reachability, exploitability, trust, and unknown symbols
- Introduced `ReachabilityState`, `RuntimeHit`, `ExploitabilitySignal`, `ReachabilitySignal`, `SignalEnvelope`, `SignalType`, `TrustSignal`, and `UnknownSymbolSignal` records to define various signal types and their properties.
- Implemented JSON serialization attributes for proper data interchange.
- Created project files for the new signal contracts library and corresponding test projects.
- Added deterministic test fixtures for micro-interaction testing.
- Included cryptographic keys for secure operations with cosign.
2025-12-05 00:27:00 +02:00

73 lines
2.3 KiB
JSON

{
"$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
}