[package] name = "jouleclaw-otel-genai" version.workspace = true edition.workspace = true license.workspace = true repository.workspace = true authors.workspace = true description = "OpenTelemetry GenAI semantic conventions for JouleClaw. Typed gen_ai.* attribute namespace (operation, system, request.model, response.model, usage.input_tokens, usage.output_tokens, tool.name, etc.) + extensions for JouleClaw's substrate (joules, tier, oracle verdict, JCR-1 receipt id) namespaced under jouleclaw.* so they don't collide with the spec. Used by jouleclaw-otel to emit spans + OpenInference superset attributes. Tracks the OTel GenAI working group spec as it stabilises (gen_ai.* is the 2026 default substrate for LLM observability)." [dependencies] serde = { workspace = true } serde_json = { workspace = true } thiserror = { workspace = true }