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
# Legacy Scripts (DEPRECATED)

This directory holds workarounds from earlier releases that are now obsolete
because the official CLI provides native equivalents.

## Files

### `expand-curtas.py` (was at `/tmp/expand-curtas.py`)
**Deprecated since v1.0.69.** Used `remember --force-merge` to expand short
memories before `enrich --operation body-enrich` was fixed (G29).

**Replacement:** use the official command
`sqlite-graphrag enrich --operation body-enrich --mode codex`.

The fix landed in v1.0.69 via PRs:
- G29 Passo 1: hotfix `source: "enrich"``source: "agent"` (enrich.rs:1227).
- G29 Passo 2: `validate_source` runtime guard in `memories::insert/update`.
- G29 Passo 3: `persist_enriched_body` now inserts a new version before update.
- G29 Passo 4: Jaccard preservation gate (`preservation.rs`, 10 tests).
- G29 Passo 5: blake3 idempotency early-return (this file's purpose is gone).

## Why It Exists

Historical operators ran this script for 47 minutes / 807 memories at $0
OAuth cost before the official fix landed. Keeping a copy here serves as
a regression test reference: if you find yourself needing it again, a
G29-class regression has returned.