Langfuse is the LLM observability layer for joelclaw. Every LLM call produces a Langfuse trace with nested hierarchy, I/O, usage, cost, and attribution.
| Level | Created on | Ended on | Contains |
| joelclaw.session trace | sessionstart | sessionshutdown | userId, sessionId, tags, turn count | | session span | sessionstart | sessionshutdown | Channel, session type, turn count | | turn-N span | messagestart[user] | messageend[assistant] with text output | User input (clean), sourceChannel metadata |
Instrument joelclaw LLM calls with Langfuse tracing. Covers the @langfuse/tracing SDK, observation hierarchy (spans, generations, tools, agents), propagateAttributes for userId/sessionId/tags, the pi-session extension (langfuse-cost), and the system-bus OTEL integration. Use when adding Langfuse traces, debugging missing/broken traces, checking cost data, or improving observability on any LLM surface. Source: joelhooks/joelclaw.