Variants are ordered so that
System < Developer < User < Assistant < Tool < Context < Notification,
which is useful for sorting items by priority during compaction.
Out-of-band side-channel signal injected mid-conversation:
background-task completions, environment changes, system reminders.
Adapters render it as a user-role message wrapped in
<system-reminder> so the model interprets it as a notification
rather than user input. Distinct from ItemKind::Context in two
ways: (1) temporal placement is preserved (Anthropic adapter does
NOT hoist it to the top-level system field), (2) UI hosts can
filter or render notifications differently from user turns.
Use this when a tool runs in the background and its result
arrives after the original tool_use was already paired and
closed — emitting another tool_result for the same call_id
would violate the provider schema.