Canonical message shape that Gralkor expects at its port boundary.
One shape, three roles. Adapters normalise their harness's events into this
form before calling Gralkor.Client.capture/3.
:role—"user" | "assistant" | "behaviour".behaviourcollapses thinking, tool calls, tool results, and any other harness-internal activity into a single role; Gralkor does not branch on interior shape beyond role.:content— a string. Adapters choose how to render their events; Gralkor passes the content through to the distillation LLM and to the interpret prompt, labelled only by role.