sqlite-graphrag 1.2.8

Persistent GraphRAG memory for Claude Code, Codex, Cursor, and 27 AI agents — one self-contained ~19 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/danilo-aguiar-br/sqlite-graphrag/schemas/remember-batch.schema.json",
  "title": "RememberBatchItemEvent",
  "description": "Per-item event emitted by `sqlite-graphrag remember-batch` on stdout as NDJSON. Each line represents one memory processed. The final line is a BatchSummary (see remember-batch-summary.schema.json). Corrected by GAP-SG-271, which ran the command and validated the real line for the first time: the `status` enum offered `indexed`, which no call site in src/commands/remember_batch.rs writes, and omitted the seven values they do write, so a validating consumer REJECTED every successful line. The same pass added `warnings`, emitted since GAP-SG-216 and undeclared under `additionalProperties: false`.",
  "type": "object",
  "required": ["name", "status", "index"],
  "additionalProperties": false,
  "properties": {
    "agent_surface": { "$ref": "https://github.com/danilo-aguiar-br/sqlite-graphrag/schemas/agent-surface.schema.json#/$defs/AgentSurfaceMeta" },
    "truncated": { "type": "boolean", "description": "GAP-SG-142: raised by the agent-native surface whenever it removed data from this envelope." },
    "count": { "type": "integer", "minimum": 0, "description": "GAP-SG-142: emitted under --count-only, which replaces the payload. See agent-surface.schema.json#/$defs/CountOnlyEnvelope." },
    "name":       { "type": "string", "description": "Normalized kebab-case memory name." },
    "status":     {
      "type": "string",
      "enum": [
        "created",
        "updated",
        "failed",
        "would_create",
        "would_update",
        "would_fail_duplicate",
        "would_fail_strict_entity_types"
      ],
      "description": "`created` and `updated` report a persisted line. The four `would_*` values are the --dry-run readings, including the two refusals a real run would raise. `failed` reports a line the run rejected."
    },
    "memory_id":  { "type": "integer", "description": "Present when the memory was written, and on the dry-run values that matched an existing memory." },
    "error":      { "type": "string", "description": "Present when status=failed." },
    "index":      { "type": "integer", "minimum": 0, "description": "Zero-based index of the input line." },
    "warnings":   {
      "type": "array",
      "items": { "type": "string" },
      "description": "GAP-SG-216: `entity_type` labels declared outside the canonical set. Omitted when empty, so a clean line stays byte-identical to what v1.2.8 emitted."
    }
  }
}