sqlite-graphrag 1.1.4

Persistent GraphRAG memory for Claude Code, Codex, Cursor, and 24+ AI agents — one self-contained ~16 MiB Rust binary, zero daemon. Never re-explain your codebase again. Hybrid retrieval (FTS5 BM25 + cosine similarity + multi-hop graph traversal) surfaces the right memory in milliseconds. Embedding and entity enrichment run as parallel REST calls against your cloud LLM — no fragile headless subprocesses, no ONNX runtime, no model downloads. Soft-delete with full version history, transactional atomic writes, BLAKE3-tracked mutations. OAuth-only: raw API keys ABORT the spawn.
Documentation
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://github.com/daniloaguiarbr/sqlite-graphrag/schemas/embedding-status.schema.json",
  "title": "embedding status",
  "description": "Output of `sqlite-graphrag embedding status` for the pending-embeddings queue health (GAP-005, v1.0.82; backend_invoked added in v1.0.84 by ADR-0042).",
  "type": "object",
  "additionalProperties": false,
  "required": ["action", "counts", "coverage", "elapsed_ms"],
  "properties": {
    "action": { "const": "embedding_status" },
    "backend_invoked": {
      "description": "v1.0.84 (ADR-0042): backend LLM resolved for this embedding pass. One of claude, codex, or none. Omitted when no backend has been resolved yet.",
      "type": "string",
      "enum": ["claude", "codex", "opencode", "openrouter", "none", "auto"]
    },
    "counts": {
      "type": "object",
      "additionalProperties": false,
      "required": ["pending", "in_progress", "done", "abandoned"],
      "properties": {
        "pending": { "type": "integer", "minimum": 0 },
        "in_progress": { "type": "integer", "minimum": 0 },
        "done": { "type": "integer", "minimum": 0 },
        "abandoned": { "type": "integer", "minimum": 0 }
      }
    },
    "elapsed_ms": { "type": "integer", "minimum": 0 },
    "coverage": {
      "description": "GAP-SG-41 (v1.0.97): real persisted-vector coverage queried from the vector tables, distinct from the always-empty async `counts` queue. Always present.",
      "type": "object",
      "additionalProperties": false,
      "required": ["memories_total", "memories_with_vec", "memories_missing", "entities_total", "entities_with_vec", "entities_missing", "chunks_total", "chunks_with_vec", "chunks_missing"],
      "properties": {
        "memories_total": { "type": "integer", "minimum": 0 },
        "memories_with_vec": { "type": "integer", "minimum": 0 },
        "memories_missing": {
          "description": "v1.1.1 (P6b): active memories without a row in memory_embeddings (LEFT JOIN, so orphaned vectors never mask a gap).",
          "type": "integer",
          "minimum": 0
        },
        "entities_total": { "type": "integer", "minimum": 0 },
        "entities_with_vec": { "type": "integer", "minimum": 0 },
        "entities_missing": {
          "description": "v1.1.1 (P6b): entities without a row in entity_embeddings.",
          "type": "integer",
          "minimum": 0
        },
        "chunks_total": { "type": "integer", "minimum": 0 },
        "chunks_with_vec": { "type": "integer", "minimum": 0 },
        "chunks_missing": {
          "description": "v1.1.1 (P6b): memory_chunks rows without a row in chunk_embeddings.",
          "type": "integer",
          "minimum": 0
        }
      }
    }
  }
}