{% extends "base.html" %} {% block title %}Brain build · lit-monitor{% endblock %} {% block content %}

Brain build

{% if db_unavailable %}

State DB unavailable

The dashboard cannot read the state database. Complete the setup wizard first, or check the health endpoint for details.

{% else %}

Loading controls…

Current collection: {{ collection_name or "(not set — see setup step 2)" }}

Change collection…
{% if progress and progress.total %}
{{ progress.done }} / {{ progress.total }} papers fully extracted ({{ progress.pct }}%)
{% else %}

No papers tracked yet. Run lit-monitor brain-build to populate the state DB.

{% endif %}

Live progress

Streaming from the newest brain_build JSONL log. New lines appear here as the pipeline runs.

Per-paper status (latest {{ rows | length }})

{% if rows %} {% for r in rows %} {% endfor %}
DOI Title Authors Year Simple Complex Fully
{{ r.doi or "(no DOI)" }} {{ r.paper_title or "(no title)" }} {{ r.authors_short or "—" }} {{ r.paper_year or "—" }} {{ "✓" if r.simple_complete else "·" }} {{ "✓" if r.complex_complete else "·" }} {{ "✓" if r.fully_complete else "·" }}
{% endif %} {% if failed_rows %}
Failed papers ({{ failed_rows | length }})
{% endif %}

Recent runs

{% if recent_runs %} {% for run in recent_runs %} {% endfor %}
Run ID Type Started Status Papers
{{ run.run_id[:8] }}… {{ run.run_type or "—" }} {{ run.started_at or "—" }} {{ run.status or "—" }} {{ run.papers_processed or 0 }}{% if run.papers_failed %} ({{ run.papers_failed }} failed){% endif %}
{% else %}

No runs in the log.

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