sqlite-graphrag 1.0.78

Persistent GraphRAG memory for Claude Code, Codex, Cursor, and 24+ AI agents in a single 6 MB 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://docs.rs/sqlite-graphrag/schemas/migrate-rehash.schema.json",
  "title": "sqlite-graphrag migrate --rehash response",
  "description": "JSON contract for the `migrate --rehash --json` subcommand added in v1.0.76, updated in v1.0.77 with null_rows_fixed (G40 sanitization), updated in v1.0.78 with v013_tables_created (G41 phantom registration repair). Rewrites recorded migration checksums in refinery_schema_history to match the current migration file content using SipHasher13. Required for v1.0.74 databases upgrading to v1.0.76 because V002 was intentionally emptied to a no-op.",
  "type": "object",
  "additionalProperties": false,
  "required": ["action", "rewritten", "skipped", "errors", "v013_tables_created", "elapsed_ms"],
  "properties": {
    "action": {
      "type": "string",
      "const": "rehashed"
    },
    "rewritten": {
      "type": "integer",
      "minimum": 0,
      "description": "Number of migration rows whose checksum was rewritten to match the current file content."
    },
    "skipped": {
      "type": "integer",
      "minimum": 0,
      "description": "Number of migration rows that already had a matching checksum and required no rewrite."
    },
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": false,
        "required": ["version", "name", "message"],
        "properties": {
          "version": {
            "type": "integer",
            "minimum": 0
          },
          "name": {
            "type": "string"
          },
          "message": {
            "type": "string"
          }
        }
      },
      "description": "Per-migration errors encountered during the rewrite. Empty when the database was healthy."
    },
    "namespace": {
      "type": ["string", "null"],
      "description": "Active namespace at the time of the operation. Null when the database is uninitialized."
    },
    "db_path": {
      "type": "string",
      "description": "Absolute path of the database file that was processed."
    },
    "null_rows_fixed": {
      "type": "integer",
      "minimum": 0,
      "description": "Number of refinery_schema_history rows where applied_on was NULL and got fixed with the current UTC timestamp. Added in v1.0.77 to report G40 sanitization."
    },
    "v013_tables_created": {
      "type": "boolean",
      "description": "True if the BLOB-backed embedding tables (memory_embeddings, entity_embeddings, chunk_embeddings) were created by the G41 repair helper because V013 was registered in history but the tables did not exist. Added in v1.0.78."
    },
    "elapsed_ms": {
      "type": "integer",
      "minimum": 0
    }
  },
  "examples": [
    {
      "action": "rehashed",
      "rewritten": 1,
      "skipped": 12,
      "errors": [],
      "null_rows_fixed": 0,
      "v013_tables_created": false,
      "namespace": "global",
      "db_path": "/home/user/graphrag.sqlite",
      "elapsed_ms": 8
    }
  ]
}