Health
What does the Health view show?
The Health view (route: /memories/:id/health) displays the operational status of the Areev context database by querying multiple endpoints on load: /api/health for server status, /api/memories/{id}/stats for grain statistics, /api/memories/{id}/policy for governance policy, /api/memories/{id}/audit for recent audit events, /api/memories/{id}/metrics for operational metrics, and /api/memories/{id}/verify/latest for the most recent compliance verification results.
The Health view is organized into three sections:
Overview — Two rows of metric cards showing total grains, storage size, active users, knowledge density, contradiction rate, consolidation ratio, decay health, growth curve, type diversity, average grain size, and superseded count. Each card is clickable for drill-down details. Cards show 24-hour deltas when available via the /api/memories/{id}/metrics/{metric_id}/series endpoint.
Systems — Two panels side by side. The left panel (Security & Compliance) shows encryption status (AES-256-GCM), policy engine state, last verification result, key rotation age (with warnings when exceeding 90 days), compliance monitor status, PII scan coverage, and consent coverage. The right panel (Subsystem Status) lists each subsystem (e.g., storage, indexing, vector search) with its current operational status.
Detail sections — Loaded on demand when you click an overview card. Includes storage tier breakdown via /api/memories/{id}/storage/tiers, hot-key analysis via /api/memories/{id}/hot-keys, and top writers via /api/memories/{id}/top-writers.
What does the health endpoint return?
The /api/health endpoint returns a JSON object with the server’s status, version, enabled interfaces, authentication mode, encryption status, key backend, load metrics, and backpressure state.
# Query the health endpoint directly
curl -s http://localhost:4009/api/health | python3 -m json.tool
# Python health check
import requests
health = requests.get("http://localhost:4009/api/health").json()
print(f"Status: {health['status']}, Version: {health['version']}")
print(f"Interfaces: {health['interfaces']}")
print(f"Encryption: {health['encryption']}, Key backend: {health['key_backend']}")
{
"status": "ok",
"name": "areev",
"version": "1.0.0",
"description": "Compliance-native AI memory system",
"interfaces": {"http": true, "mcp": true, "a2a": false},
"auth": "api-key",
"encryption": "active",
"key_backend": "local",
"load": 0.0,
"backpressure_active": false,
"warnings": [],
"key_rotation_age_days": 45
}
For grain-level statistics (counts, storage, types), use the per-database stats endpoint at /api/memories/{id}/stats.
How do I monitor storage usage?
The Health view’s detail sections include a storage tier breakdown queried from /api/memories/{id}/storage/tiers. This shows each tier (hot, warm, cold), the grain count and byte size per tier, the hot tier size, last migration timestamp, and migration backlog count.
For overall storage size, the stats endpoint at /api/memories/{id}/stats returns store_size (human-readable) and disk_space_bytes (exact). The Health view displays these in the overview cards alongside grain counts by type.
The autonomous memory engine handles storage tiering and compaction automatically — no manual trigger is needed.
Related
- Console: Console overview and setup
- Architecture: Fjall LSM storage engine details
- Explorer: Browse and search grains