The Telemetry primitive defines how agent behavior is observed, measured, and exported for analysis. It is OPTIONAL at all conformance levels and MUST NOT affect core agent functionality — an agent without Telemetry configured MUST behave identically to one with it.
The exporters array MUST contain at least one entry.
For otlp or webhook exporters, the endpoint field is REQUIRED.
For file or sqlite exporters, the path field is REQUIRED.
The sampling.rate field MUST be a number in the range 0.0 to 1.0 inclusive. Values outside this range MUST be rejected.
The runtime MUST NEVER emit raw prompts, Chain-of-Thought (CoT) content, or provider response bodies in telemetry events, regardless of redaction settings. This is a security invariant.
When redaction.strip_arguments is true, tool call arguments MUST be replaced with a placeholder (e.g., [REDACTED]) in emitted events.
The Telemetry primitive satisfies Design Principle P7 (Auditable) by providing declarative, structured observability without code changes in the agent. It supports five exporter types covering production, offline, integration, and development scenarios. Telemetry is intentionally OPTIONAL at all conformance levels — observability should enhance, never gate, agent deployment. In CKP 0.3.0, Telemetry can also track planning and prediction quality for runtimes that implement WorldModel-driven behavior. No JSON-RPC methods are defined for Telemetry because it is emit-only: the agent produces events unidirectionally to configured exporters.