Skip to content

Releases: Papr-ai/memory-opensource

v0.3.0 — Memory Policies, Document Ingestion & Messages API

10 Feb 23:48
a0a816e

Choose a tag to compare

The second major release of Papr Memory brings declarative memory policies with Open Memory Standards (OMO) safety, durable document ingestion powered by Temporal workflows, and a full Messages API for conversational memory — alongside significant performance improvements cherry-picked from the cloud edition.

Upgrade from v0.1.0: Pull the latest main, run docker compose down && docker compose up -d, and you're set. New services (Temporal, Temporal Worker) start automatically.


Highlights

Memory Policies & Open Memory Standards (OMO)

A declarative policy system that gives developers fine-grained control over how memories are stored, what graph nodes are extracted, and how data governance is enforced.

  • memory_policy field on /v1/memories/ — control mode (auto/manual), consent (explicit/implicit/none), risk levels, and ACL-based access control
  • Node constraints — define which entity types the LLM extracts, with creation modes (auto, lookup, upsert, never) and forced property values
  • Edge constraints — control relationship creation with link_to DSL shorthand and when clause evaluation
  • Schema-level policy inheritance — attach policies to custom schemas so they apply automatically to every memory using that schema
  • OMO safety fields_omo_consent and _omo_risk propagated to Neo4j nodes for downstream governance and audit
  • OMO export/import routes (/v1/omo/) — export and import memories in Open Memory Object standard format

New services: memory_policy_resolver, node_constraint_resolver, edge_constraint_resolver, link_to_parser, omo_safety

Document Ingestion via Temporal Durable Execution

Reliable, fault-tolerant document processing that survives server restarts and handles failures gracefully.

  • Temporal workflows for document processing and batch memory operations with automatic retries and progress tracking
  • Multi-provider support — pluggable architecture with Reducto, Gemini Vision, and TensorLake providers
  • Context-aware hierarchical chunking — intelligent document splitting that preserves semantic boundaries
  • Webhook notifications — get notified when document processing completes
  • New routes at /v1/documents/ with upload, status, and cancel endpoints

Messages API

Full conversational memory with session management, compression, and batch analysis.

  • Message storage and retrieval/v1/messages/ routes for chat message persistence
  • Session summarizationGET /v1/messages/sessions/{sessionId}/compress reduces full chat histories into hierarchical summaries (short-term, medium-term, long-term)
  • Batch analysis — multi-signal relevance scoring across message batches
  • Learning and summary schemas — structured extraction from conversation threads

Performance & Search Improvements

Cherry-picked optimizations from the Papr cloud edition.

  • Cohere cross-encoder reranking for higher-quality search results
  • Research-backed multi-signal relevance scoring with normalized and sorted scores
  • Qdrant search optimization — collection warmup, improved caching, and async operations
  • Server timing headers — track latency breakdown across the request pipeline
  • MongoDB keep-warm — background tasks to prevent cold-start latency

Bug Fixes

  • OMO safety fields not appliedconsent and risk from memory_policy were silently ignored when no schema_id was present; fixed by using an effective_policy pattern that applies OMO fields regardless of schema presence
  • Schema lookup returning 0 resultsget_schema() filtered by status: "active" but new schemas default to draft; changed to exclude only archived schemas so explicit ID references always work
  • OpenAI structured output crash — custom schemas with no relationship types generated an empty anyOf: [] array that OpenAI rejects; added a generic fallback relationship schema
  • Namespace filtering — fixed multi-tenant Qdrant query scoping for organization_id and namespace_id
  • Neo4j healthcheck — switched from cypher-shell (which timed out on newer Neo4j versions) to a faster HTTP-based wget check

Infrastructure

  • Docker Compose now includes full Temporal stack (server, admin tools, worker, Postgres, UI) alongside the existing Parse Server, MongoDB, Neo4j, Qdrant, and Redis
  • Bootstrap script — automated first-run setup creates users, API keys, and saves credentials to .env.opensource
  • Test runner — Dockerized test execution with volume mounting for live code changes
  • Comprehensive .env.example template with all configuration options documented

Getting Started

git clone https://github.com/Papr-ai/memory-opensource.git
cd memory-opensource
cp .env.example .env
docker compose up -d

The bootstrap script runs automatically on first startup, creating your user and API key.


Test Results

All end-to-end tests pass — 104 V1 sequential tests and 10 memory policy tests validated individually:

  • Memory CRUD (add, batch, update, get, delete) — all pass
  • Search (basic, ACL, metadata filters, agentic graph, org/namespace) — all pass
  • Document upload (API key, session, PDF, providers, multi-tenant) — all pass
  • Users, Feedback, Sync, QueryLog — all pass
  • Memory Policies (auto mode, manual mode, OMO safety, schema inheritance, custom metadata, graph override, DeepTrust edge policies, link_to constraints, GraphQL validation) — all pass

Stats

  • 159 files changed across 57 commits
  • 7 new services — policy resolvers, constraint resolvers, OMO safety, link_to parser, default schema initializer
  • 9 new test suites — memory policy unit tests, e2e tests, OMO safety tests, graph generation mode tests
  • New routes — document routes v2, OMO routes, enhanced message routes
  • Full Temporal workflow infrastructure — activities, workflows, client, scripts

Full Changelog: v0.1.0...v0.3.0

Initial Open-Source Release: Predictive Memory Layer for AI Agents

07 Jan 01:58

Choose a tag to compare

v0.1.0 - Initial Open-Source Release

We're excited to open-source the core predictive memory layer from Papr — the technology behind our #1 ranking on the Stanford STaRK benchmark.

Highlights

  • Intelligent RAG Pipeline: Advanced document ingestion powered by Reducto, Tensorlake, and Gemini for semantic parsing and rich context extraction.
  • Hybrid Storage: Integrated Vector DB (Qdrant) + Knowledge Graph (Neo4j) with MongoDB backing, multi-tier caching, custom schema support, and GraphQL interface.
  • Predictive Capabilities: Predicts goals, tasks, and relationships with automatic grouped memory clustering for proactive context anticipation.
  • Benchmark Performance: Achieves 92% Hit@5 on Stanford STaRK, with sub-100ms on-device retrieval latency.

This foundational release enables developers to build more intelligent, context-aware AI agents that anticipate needs and scale efficiently.

What's Next

  • More examples and integrations (LangChain, LlamaIndex)
  • On-device optimizations
  • Community contributions welcome!

Star the repo if this helps your agents remember at scale: ⭐ https://github.com/Papr-ai/memory-opensource

For installation and quickstart, see README.md.