pester Dashboard — {{ data.vault_name }}

Generated: {{ data.generated_at.strftime('%Y-%m-%d %H:%M:%S') }} · Auto-refresh: {{ refresh_seconds }}s
{# ── Health summary cards ── #}
{{ data.overdue_count }}
Overdue Actions
{{ data.total_open }}
Open Actions
{{ data.vault_freshness_days if data.vault_freshness_days is not none else '—' }}
Journal (days ago)
{{ data.total_files }}
Total Files
{# ── Overdue actions ── #} {% if data.actions_overdue %}

Overdue Actions ({{ data.actions_overdue|length }})

{% for a in data.actions_overdue %} {% endfor %}
ActionOwnerDue
{{ a.title }} {{ a.owner or '—' }} {{ a.due or '—' }}
{% endif %} {# ── Open actions ── #} {% if data.actions_open %}

Open Actions ({{ data.actions_open|length }})

{% for a in data.actions_open %} {% endfor %}
ActionOwnerDueTags
{{ a.title }} {{ a.owner or '—' }} {{ a.due or '—' }} {% for tag in a.tags %}{{ tag }} {% endfor %}
{% endif %} {# ── Recently completed ── #} {% if data.actions_done_recently %}

Recently Completed ({{ data.actions_done_recently|length }})

{% for a in data.actions_done_recently %} {% endfor %}
ActionOwner
{{ a.title }} {{ a.owner or '—' }}
{% endif %} {# ── Active projects ── #} {% if data.active_projects %}

Active Projects ({{ data.active_projects|length }})

{% for p in data.active_projects %} {% endfor %}
ProjectPriorityDeadline
{{ p.title }} {% if p.priority %}P{{ p.priority }}{% else %}—{% endif %} {{ p.due or '—' }}
{% endif %} {# ── Decisions needing review ── #} {% if data.decisions_needing_review %}

Decisions Needing Review ({{ data.decisions_needing_review|length }})

{% for d in data.decisions_needing_review %} {% endfor %}
DecisionDate
{{ d.title }} {{ d.date or '—' }}
{% endif %} {# ── Recent activity ── #} {% if data.recent_files %}

Recent Activity

{% for f in data.recent_files %} {% endfor %}
DateFileType
{{ f.mtime.strftime('%Y-%m-%d') if f.mtime else '—' }} {{ f.rel_path }} {{ f.doc_type }}
{% endif %} {# ── Priorities ── #} {% if data.priorities %}

Priorities

{% for p in data.priorities %} {% endfor %}
NameDeadline
{{ p.name }} {{ p.deadline or '—' }}
{% endif %} {# ── File counts ── #}

Vault Structure

{% for dir, count in data.file_counts.items()|sort %} {% endfor %}
DirectoryFiles
{{ dir }}/ {{ count }}