Telemetry
Forge telemetry is the structured evidence stream for an agent run. It exists so operators, tests, and auditors can reason about behavior without reading unstructured logs.
What gets reported
Telemetry should cover:
- agent DID and lineage metadata where identity is bound
- lifecycle transitions
- model provider and model reference
- token usage and finish reason
- tool invocation id, tier, status, and duration
- approval and authorization outcomes
- health status changes
- errors with stable error categories
Event sources
| Source | Examples |
|---|---|
| Core model runtime | request started, chunk emitted, usage reported, finish reason |
| Agent loop | step started, tool call requested, final answer emitted |
| Tool layer | approval requested, tool executed, tool failed |
| Identity and auth | DID attached, ACT verified, delegation narrowed |
| Health layer | state transition, degraded threshold crossed |
OpenTelemetry compatibility
The Rust reference includes a forge-telemetry crate for tracing and
OpenTelemetry initialization. Other SDKs should preserve the same semantic
fields even when they use language-native telemetry libraries.
Release discipline
Telemetry claims must be verifiable. If a page says a runtime emits a field, the release gate should be able to prove that field exists in a scenario or unit test.
See Release Gate and Security Model.