{% extends "base.html" %} {% block title %}Memory - Invincible{% endblock %} {% block content %}

Memory

{{ total }} memor{{ 'y' if total == 1 else 'ies' }} {% if q %} matching {{ q }}{% endif %} · who saved what, when, across which projects.

{% if graph.summary.truncated %} {% endif %}
{{ graph.summary.total }}Memories
{{ graph.summary.by_source | length }}Sources
{{ graph.summary.by_project | length }}Projects
{{ graph.summary.growth_7d }}This week

Save a memory

{% set has_memory_nodes = graph.nodes | selectattr("kind", "equalto", "memory") | list %}

Graph

{% if has_memory_nodes %}

{% for source, count in graph.summary.by_source.items() %} {{ source }} ({{ count }})    {% endfor %}

{% else %}

No memories{% if kind %} of kind {{ kind }}{% endif %} yet. Save some above, through chat, or let a connected AI save them via MCP.

{% endif %}

Timeline

Oldest left, newest right, colored by source.

{% for point in graph.timeline_positions %} {{ point.label }} ({{ point.source }}) {% endfor %}

Browse

{% include "_memory_table.html" %}
{% endblock content %}