Identity is who the entity is: the system prompt plus model-facing options. It is bound when the cantrip is constructed and every summoning inherits it.
Immutable identity configuration (identity + llm knobs).
Summary
Types
@type t() :: %Cantrip.Identity{ schema_version: pos_integer(), system_prompt: String.t() | nil, temperature: number() | nil, tool_choice: String.t() | nil }