{{ host_bot.name }}

Scene

{% if scene %}

Started: {{ scene.started_at }}

{% endif %} {% if container %}

Container: {{ container.name }} ({{ container.type }})

{% else %}

No active container.

{% endif %}

Time: {{ chat.time }}

{% if scene %}
{% else %}

No active scene.

{% endif %}

Activity

{% for label, act in [("you", you_activity), (host_bot.name, bot_activity)] %}
{{ label }} {% if act %}

{{ act.posture or "—" }} / {{ (act.action or {}).verb or "—" }}

{% if act.attention %}

attention: {{ act.attention }}

{% endif %} {% if act.holding %}

holding: {{ act.holding|join(", ") }}

{% endif %} {% else %}

No activity recorded.

{% endif %}
{% endfor %}
Elision skip
Jump skip

Events

{% if active_events %} {% else %}

No active events.

{% endif %}
Plan event

Threads

{% if open_threads %} {% else %}

No open threads.

{% endif %}
{% if guest_bot %}

Guest

{{ guest_bot.name }}

{% if guest_activity %}

{{ guest_activity.posture or "—" }} / {{ (guest_activity.action or {}).verb or "—" }}

{% if guest_activity.attention %}

attention: {{ guest_activity.attention }}

{% endif %} {% if guest_activity.holding %}

holding: {{ guest_activity.holding|join(", ") }}

{% endif %} {% else %}

No activity recorded.

{% endif %} {% if edge_h2g %}
{{ host_bot.name }} → {{ guest_bot.name }}

Affinity: {{ edge_h2g.affinity }}/100 · Trust: {{ edge_h2g.trust }}/100

{% if edge_h2g.knowledge %}
Knowledge ({{ edge_h2g.knowledge|length }})
    {% for fact in edge_h2g.knowledge %}
  • {{ fact }}
  • {% endfor %}
{% endif %}
{% endif %} {% if edge_g2h %}
{{ guest_bot.name }} → {{ host_bot.name }}

Affinity: {{ edge_g2h.affinity }}/100 · Trust: {{ edge_g2h.trust }}/100

{% if edge_g2h.knowledge %}
Knowledge ({{ edge_g2h.knowledge|length }})
    {% for fact in edge_g2h.knowledge %}
  • {{ fact }}
  • {% endfor %}
{% endif %}
{% endif %} {% if edge_y2g %}
you → {{ guest_bot.name }}

Affinity: {{ edge_y2g.affinity }}/100 · Trust: {{ edge_y2g.trust }}/100

{% endif %} {% if edge_g2y %}
{{ guest_bot.name }} → you

Affinity: {{ edge_g2y.affinity }}/100 · Trust: {{ edge_g2y.trust }}/100

{% endif %}
{% else %}

Add guest

{% if available_guests %} {% set first_guest_id = available_guests[0].id %} {% set first_existing = existing_guest_edges.get(first_guest_id, False) %}

they already know each other (edge exists from a prior chat)

{% else %}

No other bots authored yet.

{% endif %}
{% endif %} {% if group_node %}

Group

{% if group_node.summary %}

{{ group_node.summary }}

{% else %}

No group summary yet.

{% endif %} {% if group_node.dynamic %}

Dynamic: {{ group_node.dynamic }}

{% endif %}
{% endif %}

Edges

{% if edge_b2y %}
{{ host_bot.name }} → you

Affinity: {{ edge_b2y.affinity }}/100 · Trust: {{ edge_b2y.trust }}/100

Knowledge ({{ (edge_b2y.knowledge or [])|length }}) {% if edge_b2y.knowledge %}
    {% for fact in edge_b2y.knowledge %}
  • {{ fact }}
  • {% endfor %}
{% endif %}
{% endif %} {% if edge_y2b %}
you → {{ host_bot.name }}

Affinity: {{ edge_y2b.affinity }}/100 · Trust: {{ edge_y2b.trust }}/100

{% endif %} {% if not edge_b2y and not edge_y2b %}

No edges yet.

{% endif %}

Branches

{% if branches %} {% else %}

No branches yet.

{% endif %}
Create branch

Recent turns

{% if recent_turns %} {% else %}

No turns yet.

{% endif %}

Significance review

{% set total_mem = significance_distribution.values()|sum %} {% if total_mem %} {% else %}

No memories yet.

{% endif %} {% if recent_memories %}
Edit significance (recent memories)
    {% for m in recent_memories %}
  • {{ ['·','•','★','★★'][m.significance|default(0)] }} {{ m.pov_summary[:80] }}{% if m.pov_summary|length > 80 %}…{% endif %}
  • {% endfor %}
{% endif %} {# T110.4: bulk significance re-rate. Move every memory in this chat at level_from to level_to with one manual_edit event per row, so the audit trail stays per-memory. #}
Bulk re-rate significance

Pinned memories ({{ pinned|length }} / {{ pin_cap }})

{% if pinned %} {% else %}

No pinned memories.

{% endif %}

Recent memories

{% if recent_memories %} {% else %}

No memories yet.

{% endif %}