a11oy / infra /receipts-samples /span_schema.json
betterwithage's picture
sync drifted modules to GitHub source-of-truth (clear drift backlog)
4ee7081 verified
Raw
History Blame
7.57 kB
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://huggingface.co/datasets/szl-holdings/uds-observability/schemas/span_schema.json",
"title": "UDS Span",
"description": "A single UDS (Unified Data Substrate) observability span, shaped to the OpenTelemetry Trace Data Model (https://opentelemetry.io/docs/specs/otel/trace/api/) and extended with SZL governance fields for SLSA attestation linkage.",
"type": "object",
"required": [
"trace_id",
"span_id",
"component",
"kind",
"timestamp_utc",
"duration_ms",
"status",
"synthetic"
],
"properties": {
"trace_id": {
"type": "string",
"description": "128-bit globally unique trace identifier, hex-encoded (32 chars). Conforms to W3C Trace Context (https://www.w3.org/TR/trace-context/#trace-id). Groups all spans belonging to a single end-to-end request.",
"pattern": "^[0-9a-f]{32}$",
"examples": ["4bf92f3577b34da6a3ce929d0e0e4736"]
},
"span_id": {
"type": "string",
"description": "64-bit unique span identifier within the trace, hex-encoded (16 chars). Conforms to the OpenTelemetry SpanContext spec (https://opentelemetry.io/docs/specs/otel/trace/api/#spancontext).",
"pattern": "^[0-9a-f]{16}$",
"examples": ["00f067aa0ba902b7"]
},
"parent_span_id": {
"type": ["string", "null"],
"description": "Span ID of the parent span, or null for a root span. Used to reconstruct the directed-acyclic-graph (DAG) of spans within a trace per the OpenTelemetry Traces spec (https://opentelemetry.io/docs/concepts/signals/traces/).",
"pattern": "^([0-9a-f]{16})?$",
"examples": ["5e8b6c0d1a4f2e9d", null]
},
"component": {
"type": "string",
"description": "The SZL mesh component that emitted the span. One of the four UDS mesh components versioned at commit 25a7e53 (uds-v0.2.0).",
"enum": ["a11oy", "amaru", "rosie", "sentra"],
"examples": ["a11oy"]
},
"component_commit": {
"type": "string",
"description": "Short-form commit SHA of the specific component release that emitted the span. Used for supply-chain traceability per SLSA provenance requirements (https://slsa.dev/spec/v1.0/provenance).",
"examples": ["cbf10510", "1ceefeb9", "29982b68", "ed6bca8f"]
},
"attestation_id": {
"type": ["string", "null"],
"description": "Opaque string identifier linking this span to a governance receipt in the DSSE-wrapped receipts file. Null when the span has not yet been attested. A non-null value indicates the span is 'well-attested' for the binary classification task defined in eval_starter.ipynb.",
"examples": ["att-a11oy-001", null]
},
"dsse_envelope_b64": {
"type": ["string", "null"],
"description": "Base64url-encoded DSSE (Dead Simple Signing Envelope, https://github.com/secure-systems-lab/dsse) payload. Contains the in-toto attestation predicate for this span when present. Null for unattested spans. The PAE (Pre-Authentication Encoding) format follows the DSSE v1 spec: 'DSSEv1 SP LEN(type) SP type SP LEN(payload) SP payload'.",
"contentEncoding": "base64url",
"examples": [null]
},
"kind": {
"type": "string",
"description": "UDS span kind. Extends the OpenTelemetry SpanKind vocabulary (https://opentelemetry.io/docs/specs/otel/trace/api/#spankind) with UDS-specific governance and agent operation kinds. Core OTel kinds: CLIENT, SERVER, INTERNAL, PRODUCER, CONSUMER.",
"enum": [
"agent_call",
"tool_invocation",
"attestation_emit",
"receipt_verify",
"sbom_probe",
"policy_eval",
"sensor_ingest",
"model_inference",
"data_fetch",
"receipt_chain_append",
"CLIENT",
"SERVER",
"INTERNAL",
"PRODUCER",
"CONSUMER"
],
"examples": ["agent_call", "attestation_emit"]
},
"timestamp_utc": {
"type": "string",
"format": "date-time",
"description": "ISO 8601 / RFC 3339 UTC timestamp marking the start of the span. Aligns with OTel Span start_time_unix_nano semantics (https://opentelemetry.io/docs/specs/otel/trace/api/#span-start).",
"examples": ["2026-01-15T10:23:45.123456Z"]
},
"duration_ms": {
"type": "number",
"description": "Span duration in milliseconds (float). Derived from OTel start_time_unix_nano and end_time_unix_nano. Must be >= 0.",
"minimum": 0,
"examples": [42.7, 1023.1]
},
"status": {
"type": "string",
"description": "Span status per the OpenTelemetry Status spec (https://opentelemetry.io/docs/specs/otel/trace/api/#set-status). Unset = operation completed without error; Error = error occurred; Ok = explicitly marked error-free by the developer.",
"enum": ["Unset", "Ok", "Error"],
"examples": ["Ok"]
},
"status_message": {
"type": ["string", "null"],
"description": "Human-readable description of the status, populated when status is Error.",
"examples": [null, "Policy check failed: missing required field 'subject_sha256'"]
},
"attributes": {
"type": "object",
"description": "Key-value pairs carrying span-specific metadata. Values must be string, boolean, number, or homogeneous arrays thereof per the OTel Attributes spec (https://opentelemetry.io/docs/specs/otel/common/). SZL-specific keys are prefixed 'szl.'.",
"additionalProperties": {
"oneOf": [
{"type": "string"},
{"type": "boolean"},
{"type": "number"},
{"type": "array", "items": {"type": "string"}},
{"type": "array", "items": {"type": "number"}},
{"type": "array", "items": {"type": "boolean"}}
]
},
"examples": [{"szl.component_version": "0.2.0", "szl.slsa_level": 2, "http.method": "POST"}]
},
"events": {
"type": "array",
"description": "Timestamped annotations on the span, per the OTel SpanEvent spec (https://opentelemetry.io/docs/specs/otel/trace/api/#add-events). Useful for recording discrete governance checkpoints mid-span.",
"items": {
"type": "object",
"required": ["name", "timestamp_utc"],
"properties": {
"name": {"type": "string"},
"timestamp_utc": {"type": "string", "format": "date-time"},
"attributes": {"type": "object"}
}
}
},
"slsa_level": {
"type": ["integer", "null"],
"description": "Observed SLSA level (https://slsa.dev/spec/v1.0/levels) at span emission time. Integer 0–3 per the SLSA v1.0 track taxonomy. Null when SLSA posture is unknown.",
"minimum": 0,
"maximum": 3,
"examples": [2, null]
},
"mesh_commit": {
"type": "string",
"description": "The uds-mesh commit SHA at which this span was captured. Canonical anchor: github.com/szl-holdings/uds-mesh @ uds-v0.2.0 (commit 25a7e53).",
"examples": ["25a7e53"]
},
"split": {
"type": "string",
"description": "Dataset split assignment: train, test, or validation.",
"enum": ["train", "test", "validation"],
"examples": ["train"]
},
"synthetic": {
"type": "boolean",
"description": "True for all records in this dataset release. All spans are synthetic-but-realistic examples generated to match the statistical distribution of production UDS mesh traffic. No live production data is included in v0.1.0.",
"const": true
}
},
"additionalProperties": false
}