Proposal: a small local helper for readable run traces via PR

Debugging a LangGraph run locally is still noisy. When something goes wrong I usually end up either printing raw stream_mode="debug" chunks and squinting at them, or reaching for LangSmith. For small/medium graphs that feels heavier than it should, and it’s part of why people keep saying a hand-rolled loop is “easier to debug.”

I’d like to contribute a small, experimental, inspection-only helper that consumes the existing stream events (updates / tasks / checkpoints) and produces a compact timeline — node order, state keys changed per step, tool calls, errors, interrupts, checkpoint IDs — with to_text() and to_json(). No execution-semantics changes, no new deps.

Roughly:

trace = collect_debug_trace(graph, {"messages": [...]})
print(trace.to_text())

I know the v1.2 event-streaming / transformer work covers nearby ground, so I’d scope this as a plain .stream() consumer for the first PR and treat a transformer-based projection as a possible later step.

Before I build it out: is this something you’d be open to accepting? And if so, should I open a tracking issue I can be assigned to, or is there an existing one I should link?

@Devansh-Ruia Better if you open this issue for discussion on the LangGraph official repo: GitHub - langchain-ai/langgraph: Build resilient agents. · GitHub