{#
  The assembled system message.

  Rendered with ordinary escaping and never `|safe`: it carries memory text a
  model wrote and skill descriptions from items other people shared. Hard rule 6
  applies here as much as anywhere.
#}
{% if harness_chars > limit %}
<div class="alert alert--warning">
  <span>
    The preamble is {{ harness_chars }} characters and the cap is {{ limit }}. Everything
    past the cap is cut off before it reaches the model.
  </span>
</div>
{% endif %}

<pre class="prompt-preview"><code>{{ system }}</code></pre>

<p class="field__hint">
  {{ harness_chars }} of {{ limit }} characters before the authored prompt.
  {% if authored %}
  The instance prompt is shown below the line; a model or chat prompt would
  replace it, never stack with it.
  {% else %}
  No instance prompt is set, so nothing follows the preamble.
  {% endif %}
</p>

{% if title_prompt %}
<h3 class="admin-section-title">Chat title request</h3>
<p class="card__lede">
  Sent on its own after the first reply, not as part of any conversation.
</p>
<pre class="prompt-preview"><code>{{ title_prompt }}</code></pre>
{% else %}
<h3 class="admin-section-title">Chat title request</h3>
<p class="card__lede">
  Empty, so no model is asked to name a chat. Chats are named from the first
  thing said in them.
</p>
{% endif %}
