Repository navigation
Engraphy 0.3.0 stores a memory that carries a partial or imprecise date, and it scores level with Mem0 on LoCoMo.
Memory writes
- A
dateattribute accepts a full ISO date (2026-01-15), a year and month (2026-01), or a year (2026). The engine stores the value exactly as written. - The engine refuses an out-of-range month or day, for example
2026-13or2026-02-30. A month must be zero-padded, so stored dates sort in chronological order. - When an attribute value does not fit its declared type, the engine stores the node and keeps the value under
attrs.droppedas{key: {value, error}}. The response names each such value indropped_attrs. - A required attribute stays satisfied by its entry in
attrs.dropped. The node keeps its title, its body and its other attributes. - The engine refuses a key that the node type does not declare, when the node type has a closed specification.
write,supersedeandupdateall use these rules. Import and inbox promotion use them throughwrite.
LoCoMo results
Strict grading: the reader can decline, and the judge requires every item of the gold answer. The interval in brackets is the 95% Wilson interval.
| Category | Engraphy 0.3.0 | Mem0 (published) |
|---|---|---|
| Excluding adversarial | 66.8% [62 to 71] (260/389) | 66.88% |
| Single-hop | 69.0% (129/187) | 67.13% |
| Multi-hop | 53.8% (43/80) | 51.15% |
| Temporal reasoning | 72.9% [63 to 81] (70/96) | 55.51% |
| Open-domain | 69.2% (18/26) | 72.93% |
| Adversarial | 89.2% [82 to 94] (99/111) | Not reported |
- Excluding adversarial questions, Engraphy is level with Mem0's published 66.88%.
- Temporal reasoning scores 72.9%. The highest published figure for this category is 58.13% (Mem0g).
- On adversarial questions, where the correct answer is to decline, Engraphy scores 89.2%. The published comparisons do not report this category.
Configuration and limits
- Engine. Commit
3df1a4d, which carries the write path in this release. - Retrieval. Each question requested 20 search results. A client sets this with the
limitargument ofsearch. The default is 10 and the maximum is 25. A run with 10 results, a single-line reader reply, and the skill without its subject-and-occasion section scored 65.0% excluding adversarial questions. - Reader. Claude Opus 4.8 loaded the answer-discipline skill in this release. The benchmark harness asked it to name the supporting memory on a line before its answer. That reply format is part of the harness, not the engine.
- Judge. Claude Sonnet 5, best of three passes.
- Sample. 3 of the 10 LoCoMo conversations (500 questions, 389 of them not adversarial), measured in one run. Two runs of one configuration can disagree on about one question in five.
- Comparison. The published figures cover all 10 conversations, average 10 runs, and use a GPT-4o-mini reader. These results therefore do not rank Engraphy above or below the published systems.
Security and administration
POST /inboxacceptsreadwritetokens only, and each capture counts against the token's write rate limit (rate.write_per_min). The request body limit is 64 KiB.- A principal with
archivedset receives 401 on every token it holds, from its next request.engraphy-admin principal archiveandengraphy-admin principal unarchiveset and clear the flag. A space_admin can do the same over MCP withadmin_member_archive. - The engine refuses to mint a token for an archived principal.
traversedoes not return archived nodes.updateandlinkrefuse them withENGRAPHY_VALIDATION.getreads them by id.- The admin image installs dbmate v2.35.0 and verifies its SHA-256 digest for amd64 and arm64 before the binary runs.
Agent skill
The answer-discipline skill tells an agent to check that a returned memory is about the subject and the occasion the question asks about, before it answers or declines. A memory that uses the same words about a different person or event does not answer the question.
Deployment
- The
microembedding profile (ENGRAPHY_EMBEDDING_PROFILE=micro) runs gte-small on ONNX Runtime. Its embedder holds 143 MB of steady resident memory. Everyv*tag publishes a-microimage beside the default one. - With the
microprofile andcompose.small.yaml, the whole stack uses 187 MB of resident memory on a 20,000-node store. - A Docker-free Windows distribution installs PostgreSQL 16.15 with pgvector 0.8.6, the server and the embedding model with one installer. Refer to
docs/windows-native.md. - The embedding runtime is pinned to onnxruntime 1.29.x, the release that the dedup thresholds are calibrated on.
- The VS Code extension is released separately, from
ide/vscode-engraphy, underide-v*tags.
Upgrade
- Check
principals.archivedin each space. A principal with the flag set cannot authenticate on 0.3.0. - Run
engraphy-admin migrate. It applies migrations 0026, 0027 and 0028. The server starts only when the schema is at 0028. - Start the 0.3.0 server.
Assets
engraphy-0.3.0-py3-none-any.whlandengraphy-0.3.0.tar.gz.- Container images
ghcr.io/devon-clarkk/engraphy:0.3.0,engraphy:0.3.0-micro,engraphy-admin:0.3.0andengraphy-admin:0.3.0-micro.