{% extends "base.html" %} {% block title %}Dashboard · mneme{% endblock %} {% block content %}

Live cache dashboard

Every classification request lands here. The numbers update once a second from /api/stats. The cache is a real mneme.SemanticCache backed by SQLite, embedding with sentence-transformers locally, classifying with nemotron-3-nano on {{ config.SPARK_URL }}.

Spark:
Model:
Embedder:
Vector dtype:
0.65 strict ←→ permissive
Lower means more queries become semantic hits (and more risk of a false-positive cache match). Changes apply on the next get; entries already cached are not re-evaluated.
0
LLM-seconds saved by the cache
avg observed call: s
0%
Cache hit rate
across 0 queries
0
Cached entries
live: 0 KB · actual: · tombstones:
actual is the matrix capacity (grows in 2× steps); tombstones is what compact() would reclaim.

Layer breakdown

Exact-match (Layer 1)0
Semantic-match (Layer 2)0
Misses (LLM call)0

Per-namespace

NamespaceQueriesL1L2Miss

Recent queries

TimeNamespaceLayerLatencyQuery→ Intent

Maintenance

Reclaims memory from tombstoned (deleted) rows in the in-memory index. Cheap when there are no tombstones; rebuilds the matrix when there are.

Danger zone

Backed by the library: cache.clear() for all namespaces, cache.clear_namespace(ns) for a single tenant.

{% endblock %} {% block scripts %} {% endblock %}