Consume graphon's NodeRunReasoningChunkEvent: route it to a new QueueReasoningChunkEvent and a reasoning_chunk SSE event via a pure-emit handler that never touches the answer. Persist terminal reasoning_content per LLM node into message_metadata (zero migration).