Tiny LangGraph -> Assay evidence sample from tasks v2

Hi all — we put together a very small sample on our side to test one honest external-evidence seam from LangGraph, and I wanted to share that rather than open with a broad integration pitch.

The sample is here:

It stays deliberately narrow. We used graph.stream(..., stream_mode="tasks", version="v2") as the current best first seam hypothesis, kept the checkpointer only as an enabling dependency, and froze one success artifact, one failure artifact, and one malformed case. Those get mapped into Assay-shaped placeholder evidence without treating LangGraph task outcomes, orchestration behavior, or graph routing as Assay truth.

One small nuance: if a run aborts before LangGraph emits a terminal task-result part, the exporter adds a tiny terminal stream_error record so the broken run is still visible in the sample. That record is exporter-added after reading failed task state from the required checkpointer; it is not claimed as a native tasks stream part.

We are not asking Assay to inherit LangGraph task outcomes, runtime judgments, or trust semantics as truth. The goal here is just to keep the seam small and see whether there is a clean external-consumer handoff at all.

If this is roughly the right direction, the main thing I’d love to understand is whether tasks in stream v2 is also how you’d point an external evidence consumer at the smallest stable OSS-native surface, or whether there is a thinner exported seam you’d rather steer people toward.

Happy to keep this small and follow your lead on the right boundary.