{#- Docs & rules, the live part: documents, decisions, memory notes. Expects: project, documents, document_groups (by kind), decisions (current), superseded, notes (current), old_notes. Refetched on document.*, decision.*, memory.*, project.pulse_set events. -#}

Pulse

{% if project.pulse %}

{{ project.pulse }}

{% if project.pulse_by %} by {{ project.pulse_by }}{% endif %}{% if pulse_stale(project) %} stale{% endif %}

{% else %}

No pulse yet. Agents write it with project_pulse_set.

{% endif %}

Documents {{ documents|length }}

{% if documents %} {% for kind, items in document_groups %}

{{ kind }} {{ items|length }}

{% endfor %} {% else %}

No documents yet. Agents write them with doc_update (base_version 0 creates one).

{% endif %}

Decisions {{ decisions|length }}

{% if decisions %} {% else %}

No decisions yet. Agents record them with decision_add.

{% endif %} {% if superseded %}
Superseded {{ superseded|length }}
    {% for d in superseded %}
  • #{{ d.id }} {{ d.text }} {{ d.recorded_at[:10] }} · superseded by #{{ d.superseded_by }} on {{ (d.superseded_at or "")[:10] }}
  • {% endfor %}
{% endif %}

Memory notes {{ notes|length }}

This project's notes and the global and role notes.

{% if notes %} {% else %}

No memory notes yet. Agents add them with memory_add.

{% endif %} {% if old_notes %}
Superseded {{ old_notes|length }}
    {% for n in old_notes %}
  • #{{ n.id }} {{ n.title }} superseded by #{{ n.superseded_by }} on {{ (n.superseded_at or "")[:10] }}
  • {% endfor %}
{% endif %}