Contributing to archon-memory-core
April 21, 2026 · View on GitHub
Development install
git clone https://github.com/Divergence-Router/archon-memory-core.git
cd archon-memory-core
pip install -e ".[reranker,graph,dev]"
Running the tests
pytest tests/ -v
All tests are offline — no API keys or running services required.
Running the benchmark
The Agentic Memory Benchmark (AMB) covers 10 scenarios and 200 queries.
# Run against archon-memory-core (default adapter)
python benchmark/run_benchmark.py
# Run a single scenario
python benchmark/run_benchmark.py --scenario 01_personal_assistant
# Run against a different adapter
python benchmark/run_benchmark.py --adapter benchmark.adapters.naive_vector.NaiveVectorAdapter
Results are written to benchmark/results/.
Adding a new adapter
- Create a new file in
benchmark/adapters/, e.g.my_adapter.py. - Implement the three required methods:
class MyAdapter:
def ingest(self, session: list[dict]) -> None:
"""Store all turns from a session."""
...
def query(self, q: str, n: int = 5) -> list[str]:
"""Return up to n text chunks relevant to the query."""
...
def reset(self) -> None:
"""Clear all stored state between scenarios."""
...
- Pass it to the benchmark runner with
--adapter my_adapter.MyAdapter. - Open a PR — include benchmark results in the description.
Code style
- No formatter enforced yet; match the style of the file you're editing.
- Type hints preferred. Docstrings on public methods.
- New features need at least one test in
tests/test_basic.py.