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 — Metric cards driven dynamically from /api/memories/{id}/metrics (the exact set depends on which engine signals are available). 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 the 6 core subsystems: Storage Engine (Fjall LSM), Search Index (Tantivy BM25), Vector Search (HNSW), Graph Index (hexastore permutations), Encryption (AES-256-GCM + HKDF-SHA256), and Audit Chain (immutable cryptographic event log).

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 https://acme.areev.ai/api/health | python3 -m json.tool
# Python health check
import requests
health = requests.get("https://acme.areev.ai/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": "<semver>",
  "description": "Compliance-native AI memory system",
  "interfaces": {"http": true, "mcp": true, "a2a": true},
  "auth": "pilot-session",
  "encryption": "active",
  "key_backend": "local",
  "load": 0.0,
  "backpressure_active": false,
  "key_rotation_age_days": 7
}

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.