sqlite-graphrag 1.0.92

Persistent GraphRAG memory for Claude Code, Codex, Cursor, and 24+ AI agents in a single 14.6 MiB Rust binary. LLM-only and one-shot in v1.0.78: every `remember` / `ingest` spawns a headless claude code or codex subprocess (OAuth, no MCP, no hooks). No daemon. No ONNX runtime. No model download. Graph-native retrieval with FTS5 + cosine + multi-hop traversal. OAuth-only enforcement: API keys ABORT the spawn.
Documentation
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://github.com/daniloaguiarbr/sqlite-graphrag/schemas/recall.schema.json",
  "title": "RecallResponse",
  "description": "Response emitted by `sqlite-graphrag recall` on stdout as a single JSON line. backend_invoked and vec_degraded_reason added in v1.0.84 by ADR-0042.",
  "$defs": {
    "RecallItem": {
      "type": "object",
      "required": ["memory_id", "name", "namespace", "type", "description", "snippet", "distance", "score", "source"],
      "additionalProperties": false,
      "properties": {
        "memory_id":   { "type": "integer" },
        "name":        { "type": "string" },
        "namespace":   { "type": "string" },
        "type":        { "type": "string" },
        "description": { "type": "string" },
        "snippet":     { "type": "string", "description": "First 200 chars of the body." },
        "distance":    { "type": "number",  "description": "Cosine distance (lower = more similar)." },
        "score":       { "type": "number",  "minimum": 0.0, "maximum": 1.0, "description": "Cosine similarity in [0, 1] derived as 1 - distance and clamped. Always populated (M-A5 fix in v1.0.40)." },
        "source":      { "type": "string",  "enum": ["direct", "graph"] },
        "graph_depth": { "type": "integer", "minimum": 0, "description": "Number of graph hops between this match and the seed memories. Present only for traversal results." }
      }
    }
  },
  "type": "object",
  "required": ["query", "k", "direct_matches", "graph_matches", "results", "elapsed_ms"],
  "additionalProperties": false,
  "properties": {
    "query":          { "type": "string" },
    "k":              { "type": "integer", "minimum": 1 },
    "direct_matches": { "type": "array", "items": { "$ref": "#/$defs/RecallItem" } },
    "graph_matches":  { "type": "array", "items": { "$ref": "#/$defs/RecallItem" } },
    "results":        { "type": "array", "items": { "$ref": "#/$defs/RecallItem" }, "description": "Aggregate alias of direct_matches + graph_matches." },
    "elapsed_ms":     { "type": "integer", "minimum": 0 },
    "backend_invoked": {
      "description": "v1.0.84 (ADR-0042): backend LLM that ran the live embedding for this query (claude, codex, or none). Omitted when embedding was skipped or the response fell back fully to graph.",
      "type": "string",
      "enum": ["claude", "codex", "opencode", "none", "auto"]
    },
    "vec_degraded_reason": {
      "description": "v1.0.84 (ADR-0042) / v1.0.85 (ADR-0043): structured reason why live embedding degraded. Seven-variant enum discriminates embedding_failed, slot_exhausted (GAP-003), oauth_quota (G58, G45-CR5), backend_mismatch, dim_zero, cancelled, timeout. Omitted when live embedding succeeded. Null when no degradation path was triggered.",
      "type": ["string", "null"],
      "enum": ["embedding_failed", "slot_exhausted", "oauth_quota", "backend_mismatch", "dim_zero", "cancelled", "timeout", null]
    }
}
}