{% extends "base.html" %} {% import "_cards.html" as cards with context %} {% block title %}Health — Cairn Dashboard{% endblock %} {% block content %}

Health

Probes the same graph-layer helpers as cairn doctor on: {{ db_path }}

{% call cards.card('Database') %}

{{ health.db_size_bytes | filesize }}

{% endcall %} {% call cards.card('Retention') %} {% if health.tool_metrics_rows is none %}

unknown

no tool_metrics table

{% else %}

{{ health.tool_metrics_rows }} rows

{% if health.tool_metrics_rows > health.tool_metrics_max_rows %} over cap {% endif %} {% endif %}

tool_metrics cap {{ health.tool_metrics_max_rows }} rows · events ≤ {{ health.events_max_rows }} · build_runs ≤ {{ health.build_runs_max_rows }}

{% if health.tool_metrics_max_age_seconds is none %}

no age bound

{% else %}

age bound {{ health.tool_metrics_max_age_seconds }}s

{% endif %} {% endcall %} {% call cards.card('Index freshness') %} {% if health.last_build_age %}

{{ health.last_build_age }}

last build {{ health.last_build_at | isots }}

{% else %}

never

no build_runs recorded

{% endif %} {% endcall %} {% call cards.card('Embedding backend') %}

{{ health.embed_backend }}

{% if health.hash_fallback %} hash fallback {% else %} model backend {% endif %} {% endcall %} {% call cards.card('Vector index') %}

{{ health.ann_configured }}{% if not health.ann_backend_enabled %} (unavailable){% endif %}

{{ health.ann_embedding_rows }} embeddings · model {{ health.ann_model }}

{% if health.ann_index_exists is none %}

no embeddings to index yet

{% elif health.ann_index_exists %} {#- index_row_count is defensive: a read failure (e.g. the vector extension not loadable) returns None — report that honestly instead of the literal "None rows". -#} {% if health.ann_index_rows is none %}

vec0 index present — row count unavailable

{% else %}

vec0 index: {{ health.ann_index_rows }} rows

{% endif %} {% else %}

no vec0 index built

{% endif %} {% endcall %} {% call cards.card('Reranker') %} {% if health.reranker_available %}

available

{% else %}

unavailable

{% endif %} {% endcall %}
{% endblock %}