Render a list of conversation turns into the transcript episode body ingested into the knowledge graph.
The transcript keeps only user/assistant text. Behaviour (the agent's
reasoning, tool calls, tool results) is never woven in: a turn marked for
experiential learning routes its reasoning into a separate
Gralkor.AgentLearning episode (see Gralkor.Learn), and non-ERL turns drop
it. Rendering is pure — there is no LLM call.
See ex-format-transcript in TEST_TREES.md.
Summary
Functions
Render turns (a list of turns; each turn a list of canonical Messages) into
the transcript episode body — user and assistant lines only.
Types
@type turn() :: [Gralkor.Message.t()]
Functions
Render turns (a list of turns; each turn a list of canonical Messages) into
the transcript episode body — user and assistant lines only.
agent_name labels assistant lines ("Susu: hello"); user_name labels user
lines ("Eli: hi"). Both are required and non-blank — the transcript is fed
to graphiti's entity extraction, where a generic "User:" label would collapse
every user across the deployment into a single node.