OpenTelemetrySpan
data class OpenTelemetrySpan(val name: String, val kind: String, val status: String, val durationMs: Long, val attributes: Map<String, Any> = emptyMap())
Lightweight OpenTelemetry-shaped span, decoupled from any specific tracing SDK.
kind and status are free-form strings so bridges can pass through vendor values, but prefer the OpenTelemetry names in SpanKind and SpanStatus.