Metadata-Version: 2.5
Name: tensemem
Version: 0.0.1
Summary: Memory that knows its tenses: an embedded, deterministic state memory engine for AI agents.
Project-URL: Homepage, https://github.com/shubhsting/tensemem
Project-URL: Repository, https://github.com/shubhsting/tensemem
Project-URL: Issues, https://github.com/shubhsting/tensemem/issues
Author: Shubham
License-Expression: Apache-2.0
License-File: LICENSE
Keywords: ai-agents,llm,memory,rag,sqlite,temporal
Classifier: Development Status :: 1 - Planning
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Software Development :: Libraries
Requires-Python: >=3.10
Description-Content-Type: text/markdown

# TenseMem

**Memory that knows its tenses.** An embedded, deterministic state memory engine for AI agents.

> Status: pre-alpha. The engine is under active development; this release only reserves the package name.

## The problem

Vector memory has no idea what is current. Tell an agent "I live in Delhi" in January and "I moved to Bangalore" in June, and a similarity search returns both, leaving the model to guess.

## What TenseMem does

- Turns conversations into structured, versioned facts.
- When a fact changes, the old value is superseded rather than deleted: the agent sees only what is true *now*, and the full history stays available for "where did I live before?"
- Runs as a single SQLite file inside your process. No graph database, no vector cluster, no server.
- The LLM proposes facts; deterministic, tested rules decide how they change state.
- Every fact can explain where it came from and what it replaced.

## Planned API

```python
from tensemem import Memory

mem = Memory()
mem.add("I moved to Bangalore last week and now only write Rust.", user_id="u1")
print(mem.context(user_id="u1", max_tokens=200).text)
```

## License

[Apache-2.0](LICENSE)
