Infinity Context
Self-hosted memory for AI teams that keeps current project knowledge source-backed, scoped, and reviewable.
Infinity Context gives agents and applications durable project memory without treating every chat fragment or retrieval result as permanent truth. Postgres owns canonical lifecycle state; optional retrieval systems help find candidates but do not decide what is current or visible.
It is available through HTTP, a Python SDK, MCP, CLI, and a local UI for shared project knowledge as well as team, project, and thread-scoped memory.
Contents
- Why Infinity Context
- How it works
- Architecture and trust model
- Quickstart
- Integration entry points
- Capability positioning
- Status and limitations
- Documentation
Why Infinity Context
Teams need more than semantically similar notes. They need a shared memory layer where a decision can be traced to its source, updated when the project changes, and recalled only in the right context.
- Current knowledge, not a history dump. Facts have lifecycle state, versions, source references, and visibility rules in Postgres.
- Source-backed and reviewable. Agents can submit suggestions for review instead of silently promoting every generated conclusion to durable memory.
- Scoped for real work. Spaces, memory scopes, and threads separate projects, workstreams, and sessions.
- Retrieval is not authority. Optional Qdrant and Graphiti indexes return candidates that are rehydrated from canonical state before prompt rendering.
- Prompt memory is evidence. Retrieved material includes citations and provenance rather than being phrased as instructions for a model to follow.
A typical team loop is simple: capture a decision with its evidence, propose a change when the decision evolves, and retrieve only the current scoped context before a new task. That makes the memory useful to people reviewing work as well as agents continuing it.
How it works
flowchart LR
A["Agents and apps"] --> B["HTTP / SDK / MCP / CLI / UI"]
B --> C["Application use cases"]
C --> P[("Postgres<br/>canonical current truth")]
P --> Q["Qdrant<br/>optional derived retrieval index"]
P --> G["Graphiti<br/>optional current-state graph projection"]
Q -. "retrieval candidates" .-> C
G -. "retrieval candidates" .-> C
C --> E["Final prompt context<br/>cited evidence, not instructions"]
Writes record canonical facts, documents, sources, versions, and scope first. Derived projections run separately. During search or context assembly, every derived candidate is checked against current canonical state before it can appear in a cited evidence block.
Architecture and trust model
Infinity Context applies Clean Architecture, SOLID, simple DDD, and ports-and-adapters boundaries:
- Postgres owns the canonical lifecycle; Qdrant and Graphiti are optional, derived indexes.
- The infinity_context_core package cannot import FastAPI, SQLAlchemy, Qdrant, Graphiti, OpenAI, or client application code.
- Adapters provide delivery and infrastructure details without becoming the source of truth.
Read the architecture and trust model for write and read flows, package ownership, consistency behavior, and security limits.
Quickstart
You need Git, Python 3.11 or later, and Docker with Compose for the local runtime. Install from source:
git clone https://github.com/777genius/infinity-context.git
cd infinity-context
python3 -m venv .venv
.venv/bin/python -m pip install -e '.[mcp]'
.venv/bin/infinity-context quickstart --agent codex --open-ui
Quickstart initializes local configuration, starts the default lite Docker
profile, installs or updates the chosen agent integration, enables review-gated
capture suggestions, and opens the local UI. Add --no-install-agents if you
only want the generated MCP configuration.
| Profile | Intended local setup |
|---|---|
| lite | Postgres, the server, and workers with optional provider adapters disabled |
| full | Adds Qdrant and Neo4j-backed graph services; enabled provider features need their own configuration |
The public installation guide and self-hosted deployment guide cover first-run and operational details.
Integration entry points
| Entry point | Use it when |
|---|---|
| HTTP API | An application needs canonical memory and context endpoints |
| Python SDK | A Python service needs typed HTTP client calls |
| MCP | A coding agent or MCP client needs memory tools and evidence resources |
| CLI | A developer is starting, configuring, or inspecting a local instance |
| Local UI | A person wants to browse evidence and review suggestions locally |
The MCP adapter guide explains the agent-facing boundary. Retrieved memory is evidence to inspect, not an instruction source.
Capability positioning
This is capability positioning, not a quality ranking. There is no matched four-way benchmark behind this table. The clearest distinction is between two different goals: Hindsight currently offers the deeper cognitive-memory layer, while Infinity Context focuses on a governed current-state control plane for project memory shared by teams and agents.
| Product | Optimized for | Typical fit |
|---|---|---|
| Infinity Context | Governed current-state project memory | Teams sharing evolving project knowledge across agents and apps |
| Hindsight | Evidence-grounded observations, maintained mental models, multi-strategy recall, and agentic reflection | Agents that learn from accumulated experience |
| Mem0 OSS | Portable personalization with user, agent, and run scopes | Products that want ADD-only extraction plus application-owned CRUD and policy |
| Memora | Local-first MCP memory with smart absorb, typed lineage, documents, and graph interaction | Individual developers wanting inspectable local memory workflows |
See the detailed agent memory capability comparison for lifecycle, retrieval, temporal behavior, review, isolation, deployment, and scenario tradeoffs.
Status and limitations
Infinity Context is v0.1 and under active development. APIs, CLI behavior, and deployment details may evolve.
- Postgres is the canonical lifecycle store. Qdrant is the primary derived vector projection. The Graphiti adapter is a narrower current-state projection: updates remove the prior episode before adding the new one, and the adapter does not expose Graphiti's complete source-reference, ontology, or version-history surface.
- Canonical visibility updates take effect before asynchronous derived-index cleanup. A stale derived hit is rechecked before rendering.
- Cognee is disabled by default and currently provides a recall-oriented boundary without complete ingest, update, or exact-forget lifecycle support.
- Retrieval includes deterministic prepasses shaped by the current evaluation domains. This is not ground-truth leakage, but broader transfer quality still needs independent evidence.
- Current load and chaos tests exercise lifecycle and consistency on a limited corpus; they do not prove behavior at 100,000+ memories or across dozens of concurrent agents.
- Review and canonical revalidation reduce memory-poisoning exposure, but they are not a proof of safety against sleeper-memory attacks.
- Source references prove provenance, not truth. Review and domain judgment remain necessary.
- Evaluate deployment, access control, backups, and operational fit for your environment before relying on any self-hosted configuration.
Documentation
- Public installation and first run
- Architecture and trust model
- Agent memory capability comparison
- Documentation index
- Core Lite implementation plan
- MCP adapter guide
- Self-hosted team deployment
- ADR-0002: Postgres as canonical truth
- ADR-0004: Derived retrieval adapters
- Infinity Context vs Mem0 engineering runner
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file infinity_context-0.1.0.tar.gz.
File metadata
- Download URL: infinity_context-0.1.0.tar.gz
- Upload date:
- Size: 2.3 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
254312103fed38ed3435b3b4c5e9d5b1f2d171208f74c6853b62147168985f95
|
|
| MD5 |
2c22df9f03b982288ac703533acf6b36
|
|
| BLAKE2b-256 |
25cd18f471a7f8a56fdb594b8b27dffea647cd9ac9e5853386bb71d2de8980a4
|
Provenance
The following attestation bundles were made for infinity_context-0.1.0.tar.gz:
Publisher:
release.yml on 777genius/infinity-context
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
infinity_context-0.1.0.tar.gz -
Subject digest:
254312103fed38ed3435b3b4c5e9d5b1f2d171208f74c6853b62147168985f95 - Sigstore transparency entry: 2347664587
- Sigstore integration time:
-
Permalink:
777genius/infinity-context@872d295e12af33838030c9ebb9bfdc8ea7e7505d -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/777genius
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@872d295e12af33838030c9ebb9bfdc8ea7e7505d -
Trigger Event:
push
-
Statement type:
File details
Details for the file infinity_context-0.1.0-py3-none-any.whl.
File metadata
- Download URL: infinity_context-0.1.0-py3-none-any.whl
- Upload date:
- Size: 2.8 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2593c5da5e327a6927b1ba4a8e973e5ee9629cdb0c67716adb980aa0adfc8473
|
|
| MD5 |
60618877da3b4eb96b091a397e21bfde
|
|
| BLAKE2b-256 |
8a784a5baec5f404235938d009be9b78c5f282ac016e0a0fd196c4cebe260075
|
Provenance
The following attestation bundles were made for infinity_context-0.1.0-py3-none-any.whl:
Publisher:
release.yml on 777genius/infinity-context
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
infinity_context-0.1.0-py3-none-any.whl -
Subject digest:
2593c5da5e327a6927b1ba4a8e973e5ee9629cdb0c67716adb980aa0adfc8473 - Sigstore transparency entry: 2347664620
- Sigstore integration time:
-
Permalink:
777genius/infinity-context@872d295e12af33838030c9ebb9bfdc8ea7e7505d -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/777genius
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@872d295e12af33838030c9ebb9bfdc8ea7e7505d -
Trigger Event:
push
-
Statement type: