Sessions
A session is one unit of work: a chat thread, a pipeline run, a batch job — everything that belongs together. Kelet reasons at the session level. Without sessions, it sees disconnected individual LLM calls and can’t do RCA.
Framework-managed vs. manual sessions
Section titled “Framework-managed vs. manual sessions”If your agent uses an orchestration framework (pydantic-ai, LangChain, LangGraph, LlamaIndex), Kelet infers session boundaries automatically.
If you own the loop — custom chaining, Temporal, raw SDK calls, multi-agent orchestration you wrote — you need to declare session boundaries explicitly. The silent failure: skip this and the integration still looks healthy, but spans appear as unlinked individual traces. No sessions, no RCA. See the Python SDK or TypeScript SDK for how to do this.
What counts as a session
Section titled “What counts as a session”- One user request = one session
- A multi-turn conversation = one session (same session ID across turns)
- Multi-agent: if agent A calls agent B, the whole flow is one session
Session Inspection
Section titled “Session Inspection”The Sessions view in the console shows every session: its runs, the signals collected, and the hypotheses Kelet has generated. You can also manually attach signals or hypotheses to any session — useful for investigating a specific user complaint or seeding analysis with domain knowledge Kelet couldn’t infer from the trace alone.
