{"slug": "show-hn-veracium-agent-memory-keeping-third-party-claims-from-becoming-facts", "title": "Show HN: Veracium – agent memory keeping third-party claims from becoming facts", "summary": "Veracium, a provenance-aware memory plug-in for agentic systems, launches to resist injection and confabulation failures in naive agent memory by storing third-party claims as structurally quarantined edges rather than user facts. The open-source tool, built from evaluation-driven research, uses a typed graph with dated episodes and supersession-based fact management, and ships with zero external services via a single SQLite file.", "body_md": "**Veracium is a provenance-aware memory plug-in for agentic systems** —\ndurable, per-user memory that resists the injection and confabulation failures\nthat plague naive agent memory. It remembers facts about the user, past\ninteractions, and what worked, with provenance on every fact.\n\nVeracium is the production distillation of an evaluation-driven research project\n(`agent-memory`\n\n): every design choice below traces to a measured finding, and the\nresearch's synthetic-corpus harness is reused as the regression suite.\n\n**Typed graph + dated episodes are the store of record.** Entity facts live as relational edges (with unforgeable provenance); interaction history lives as dated episodes. A curated \"wiki\" view is compiled from them and cached — never the source of truth.*(The layered design won on both short and 9-week horizons; flat stores each failed one regime.)***Supersession, never erasure.** Functional facts (preference, employer, deadline) keep one current value with the prior value retained as history — \"what did X used to be?\" stays answerable.*(The category commercial memory systems handle worst; Veracium's strongest.)***Representation is a security control.** Third-party claims (received email, external docs) are quarantined*structurally*— stored as`third_party_claim`\n\nedges with the claimant as subject, never as user facts. Content-type quarantine catches obligation/debt/renewal claims regardless of how plausible they look.*(Held against a full plausibility ladder incl. contact-impersonation.)***Bring your own model.** Veracium never owns your API keys or model choice; it calls a`Complete`\n\ncallable you supply. A reference Anthropic provider ships in the box.**Embedded by default.** Zero external services: one SQLite file. Swap in Neo4j/Postgres later via the`Store`\n\ninterface.\n\n```\npip install \"veracium[anthropic]\"   # core + the reference LLM provider\n```\n\nExtras: `[mcp]`\n\nadds the MCP server, `[dev]`\n\nadds pytest. The core alone depends\nonly on `pydantic`\n\n. To work from source instead:\n\n```\ngit clone https://github.com/veracium-ai/Veracium.git && cd Veracium\npip install -e \".[anthropic,dev]\"\n```\n\nLinks: [docs](https://veracium-ai.github.io/Veracium/) · [veracium.ai](https://veracium.ai) · [PyPI](https://pypi.org/project/veracium/)\n\n``` python\nfrom veracium import Memory, EvidenceAuthor\nfrom veracium.llm.anthropic import AnthropicComplete\n\nmem = Memory(llm=AnthropicComplete())   # or pass your own Complete callable\n\n# Remember interactions. `author` is the trust-critical input.\nmem.remember(\"alice\", \"USER: I'm vegetarian and have a dog named Ollie.\")\nmem.remember(\"alice\", \"From billing@scam: you owe $900.\",\n             author=EvidenceAuthor.THIRD_PARTY, event_type=\"email\")\n\n# Recall grounded, provenance-flagged context for a prompt.\nctx = mem.recall(\"alice\", \"suggest a lunch spot\")\nprint(ctx.context)   # states the vegetarian constraint; the $900 \"claim\" is\n                     # rendered under a never-assert flag, not as a fact.\n```\n\nNo Anthropic API key? `AnthropicComplete`\n\nis just a convenience — Veracium calls any\n`Complete`\n\ncallable you supply. To run without SDK/key setup, wrap a client you\nalready have; `examples/claude_cli_provider.py`\n\nwraps the `claude`\n\nCLI as a\ndrop-in provider (`from claude_cli_provider import ClaudeCLIComplete`\n\n), and\n`examples/openai_provider.py`\n\nwraps any OpenAI-compatible chat-completions API\n(OpenAI itself, vLLM, Ollama's `/v1`\n\nendpoint) via `OpenAIComplete`\n\n— point it\nat a local server with `OpenAIComplete(base_url=...)`\n\nand override `models`\n\nwith\nwhatever model name your server serves.\n\n`veracium-mcp`\n\nexposes `remember`\n\n/ `recall`\n\n/ `answer`\n\n/ `maintain`\n\ntools to any\nMCP-compatible agent (Claude Desktop/Code, others) with no host-side Python. See\n[docs/mcp.md](/veracium-ai/Veracium/blob/main/docs/mcp.md) for the config JSON and tool reference.\n\nHosted docs: [veracium-ai.github.io/Veracium](https://veracium-ai.github.io/Veracium/)\n\n— the scam-email injection demo, runnable end to end ([examples/demo.ipynb](/veracium-ai/Veracium/blob/main/examples/demo.ipynb)[open in Colab](https://colab.research.google.com/github/veracium-ai/Veracium/blob/main/examples/demo.ipynb)).— Veracium as the long-term memory layer of a LangChain chat app (session-keyed hybrid: LangChain buffers recent turns, Veracium holds durable facts with provenance and quarantine; your existing LangChain model powers both sides).[examples/langchain_memory.py](/veracium-ai/Veracium/blob/main/examples/langchain_memory.py)— the mental model: edges vs episodes vs the compiled wiki, provenance & authorship, quarantine, the abstention gate, lifecycle.[docs/concepts.md](/veracium-ai/Veracium/blob/main/docs/concepts.md)— the public API:[docs/api.md](/veracium-ai/Veracium/blob/main/docs/api.md)`Memory`\n\n,`MemoryConfig`\n\n,`EvidenceAuthor`\n\n, providing your own LLM callable or store.— running and registering the MCP server.[docs/mcp.md](/veracium-ai/Veracium/blob/main/docs/mcp.md)— why there's no[docs/design-rationale.md](/veracium-ai/Veracium/blob/main/docs/design-rationale.md)`update()`\n\n/`delete()`\n\n, no LLM-free extraction, no TTL purging — and what's genuinely on the roadmap.— the opt-in, anonymous, content-free usage statistics (off by default).[docs/telemetry.md](/veracium-ai/Veracium/blob/main/docs/telemetry.md)— opt-in error reporting: local-first error log, consented + redacted send.[docs/diagnostics.md](/veracium-ai/Veracium/blob/main/docs/diagnostics.md)·[ROADMAP.md](/veracium-ai/Veracium/blob/main/ROADMAP.md)[CHANGELOG.md](/veracium-ai/Veracium/blob/main/CHANGELOG.md)\n\nThe validated layered design is implemented, tested (44 offline tests, plus\nopt-in live tiers: the acceptance eval and a real-corpus robustness harness),\nand passes its own research-claim bar (5/5, 0 injection asserts). Roadmap\nv0.1–v0.7 complete, plus opt-in telemetry, a self-check, consented error\nreporting, and an operation audit log. See [ROADMAP.md](/veracium-ai/Veracium/blob/main/ROADMAP.md).\n\nMIT", "url": "https://wpnews.pro/news/show-hn-veracium-agent-memory-keeping-third-party-claims-from-becoming-facts", "canonical_source": "https://github.com/veracium-ai/Veracium", "published_at": "2026-07-22 15:38:04+00:00", "updated_at": "2026-07-22 15:52:43.177431+00:00", "lang": "en", "topics": ["ai-agents", "ai-safety", "ai-tools", "ai-research", "ai-infrastructure"], "entities": ["Veracium", "Anthropic", "PyPI", "SQLite", "Neo4j", "Postgres", "MCP", "OpenAI"], "alternates": {"html": "https://wpnews.pro/news/show-hn-veracium-agent-memory-keeping-third-party-claims-from-becoming-facts", "markdown": "https://wpnews.pro/news/show-hn-veracium-agent-memory-keeping-third-party-claims-from-becoming-facts.md", "text": "https://wpnews.pro/news/show-hn-veracium-agent-memory-keeping-third-party-claims-from-becoming-facts.txt", "jsonld": "https://wpnews.pro/news/show-hn-veracium-agent-memory-keeping-third-party-claims-from-becoming-facts.jsonld"}}