Skip to content

0.1.29 - 2026-06-09

Latest

Choose a tag to compare

@github-actions github-actions released this 09 Jun 06:50

Release Notes

Added

  • Distribution: Homebrew formula publishing via cargo-dist (tap radotsvetkov/homebrew-memora) for the CLI, alongside the existing shell installer and GitHub release binaries. crates.io readiness for the libraries (internal deps centralized in [workspace.dependencies] with versions; memora-llm and memora-core package cleanly). See RELEASING.md for both channels.
  • memora verify: verify an AI answer's citations against a vault and exit non-zero if any cannot be proven (reads a file or stdin, --json for machine output, --allow-superseded). Built on the Memora facade. Plus a reusable GitHub Action (.github/actions/verify) so a pipeline fails the build on an unprovable citation ("CI for hallucinations"). Verdict rendering is shared with memora demo via a single module.
  • Memora::query_verified: the LLM-backed cited-answer path on the facade (cloud providers gated behind MEMORA_ENABLE_NETWORK_LLM). The CLI query command is now a thin wrapper over the facade, removing duplicated wiring; the network gate is centralized in memora_core::vault_config::network_llm_enabled.
  • Owned Memora library facade (Memora::open, validate, search, claim) so the engine is embeddable from other Rust code without touching the lifetime-borrowed internals. memora-core gained crates.io metadata (description, keywords, categories).
  • Supply-chain and contract gates in CI: cargo-deny (advisories, licenses, bans, sources) via deny.toml, plus the deterministic citation-rejection benchmark now runs in CI so a regression in the core guarantee fails the build.
  • memora demo: a zero-config, no-API-key, offline command that builds an ephemeral vault and runs the real validator over an AI answer containing every failure mode (verified, hallucinated id, misquote, post-edit hash mismatch, superseded), rendering a terminal verdict and an optional HTML "Proof Report" (--open).
  • Type-enforced redaction choke-point (RedactedPayload) at the LLM wire boundary: secret claim content cannot reach a cloud provider without passing through redaction, enforced across the challenger, answer, consolidate, contradiction, and extraction paths (forgetting to redact a new egress site is now a compile error).
  • Superseded citation status: a cited claim whose valid_until has expired is surfaced as superseded rather than asserted as current. Exposed via the validator, CitedAnswer.superseded_count, and MCP memora_verify_claim (superseded + valid_until).
  • Deterministic, no-API-key citation-rejection benchmark (make benchbench_citation_rejection): measures fabricated-citation rejection rate and valid-citation preservation rate over a labeled fixture, exits non-zero on regression (CI gate for the core contract).

Changed

  • Citation fingerprints are now full-width blake3 (256-bit) instead of 64-bit truncated. Legacy 64-bit fingerprints from older indexes still verify until the vault is re-indexed.
  • Cloud embedding providers ([embed] provider = "openai") are gated behind MEMORA_ENABLE_NETWORK_LLM=1 in memora-core (covering both CLI and MCP), and the real OpenAiEmbedder is now wired (it previously fell through to deterministic local vectors).
  • CLI cloud LLM and embedding calls are gated behind MEMORA_ENABLE_NETWORK_LLM=1 (parity with MCP); a config line can no longer silently route content off-machine.
  • Secret-claim subjects are redacted (not only predicate/object) before cloud calls.
  • Repositioned README, docs, and landing page around verifiable citation rejection; dropped the "cognitive memory" framing; added an explicit "provenance integrity, not entailment" boundary; rewrote the comparison to confront Mem0/Zep/Letta/Cognee and the Anthropic Citations API honestly.
  • Rebuilt the landing page with a cleaner, professional design (sans body type, restrained palette, accurate copy, an honest static render of memora demo) and polished the README to feature the demo and read more naturally.

Fixed

  • Staleness propagation is now transitive: editing a source claim marks its derivatives and their derivatives in turn (A → B → C marks both B and C), with cycle protection. Previously only direct (single-hop) derivatives were marked.
  • First-run database is locked noise: establish WAL mode on a single connection before the pool opens connections concurrently, so they don't race the journal-mode switch on a fresh db.
  • The challenger now routes all prompts through the privacy filter (it previously embedded raw secret claims and note spans into cloud prompts).
  • Removed fabricated placeholder benchmark numbers: bench_personal_vault printed hardcoded metrics (0.94/0.88/0.00) and bench_locomo returned retrieval@k = 1.0 for any non-empty fixture; both are now honest.

Install memora-cli 0.1.29

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/radotsvetkov/memora/releases/download/v0.1.29/memora-cli-installer.sh | sh

Install prebuilt binaries via Homebrew

brew install radotsvetkov/memora/memora-cli

Download memora-cli 0.1.29

File Platform Checksum
memora-cli-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
memora-cli-x86_64-apple-darwin.tar.xz Intel macOS checksum
memora-cli-x86_64-pc-windows-msvc.zip x64 Windows checksum
memora-cli-aarch64-unknown-linux-gnu.tar.xz ARM64 Linux checksum
memora-cli-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum