OpenInference-shaped views at egress, not OTel emission #4
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally filed by @coilysiren on 2026-05-17T17:30:52Z - https://github.com/coilysiren/session-lattice/issues/13
Problem
The substrate's pivot from a four-tier OTel-spans pipeline to a stateless consumer of session-lattice views (per
agentic-os-kai/docs/substrate.md) removes any OTel surface from the stack. That is the right call for the ingest path. It is the wrong call for egress, for two reasons:This is not a reversion to the retired OTel pipeline. Primary sources stay Claude session JSONL, git log, GitHub. The OpenInference view sits at egress, on top of repo-recall-fed views, not as an emitter upstream of repo-recall.
Proposal
Add a Feldera SQL pack to session-lattice that maintains materialized views in OpenInference's column shape. Specifically:
trace_id,span_id,parent_span_id,start_time,end_time,name,status_code,status_message,attributes(JSON).openinference.span.kind(LLM / TOOL / CHAIN / RETRIEVER / AGENT / EMBEDDING),input.value,output.value,llm.model_name,llm.token_count.prompt,llm.token_count.completion,tool.name,tool.parameters.openinference_spans_v0_1_x. A future bump adds a new view rather than mutating the existing one.(session_id, turn_index, tool_index)so re-running the materialization is stable.Out of scope for v1
Why this earns its keep
The single strongest argument is the bug-finder hook. With this view in place, bug-finder's frozen-corpus capture writes Parquet in OpenInference schema and an installer drops it into a local Phoenix instance for a trace UI. Without it, bug-finder needs its own visualization layer.
Interop with the broader OpenInference ecosystem (Arize, hosted Phoenix, OpenLLMetry) is a free secondary benefit.
Open design sub-questions
attributesJSON should be a single column or normalized into typed attribute columns. Phoenix loaders work fine with JSON; SQL ergonomics are better with typed columns. Probably both, via two adjacent views.Origin
Conversation 2026-05-17. Pairs with the substrate framing in
agentic-os-kai/docs/substrate.md, the OpenInference standard, and the Arize "agent telemetry needs standards" piece.