The model-agnostic continuity architecture underlying EVM has been formalized separately as:
Interaction Dynamics Layer (IDL) 1.0: A Model-Agnostic Continuity Architecture for Long-Term AI Systems
DOI: https://doi.org/10.5281/zenodo.20974299
While IDL defines the model-agnostic continuity architecture, EVM provides a reference framework implementing this architecture through directed Evolution Vector objects, extraction methods, and persistent interaction-state management.
Author: Szabolcs Krehlik
ORCID: 0009-0003-8623-7876
License: CC BY-NC-ND 4.0
Contact: szabolcs.krehlik@gmail.com
This repository contains the reference implementation accompanying the Evolution Vector Memory (EVM) framework. It provides a local web application with persistent storage, directed Evolution Vector (EV) extraction, PEV/EEV/FEV tracking, memory recall, semantic indexing, diagnostics, and long-term interaction-state continuity.
EVM is not a semantic vector database and not merely an affect or sentiment layer. It is a bounded trajectory architecture: every interaction is represented as a directed state transition, and long-running interaction identity is maintained through reconstructable PEV/EEV/FEV dynamics.
The name Evolution Vector Memory replaces the earlier working name Emotion Vector Memory. The EVM abbreviation is preserved, but the full name is corrected to reflect the actual scope of the system: interaction continuity, bounded identity evolution, deterministic trajectory reconstruction, and stateful AI behavior across time. See NAME_CHANGE.md for the rationale.
The core interaction object is a directed EV time-slice:
(x1, y1, z1, g1, e1, w1) -> (x2, y2, z2, g2, e2, w2)
This repository is intended for research, inspection, testing, and demonstration. It is not presented as a production deployment.
- Local Flask web app for chat-style interaction
- SQLite-backed persistence under
DATA/sqlite/ - Plain NDJSON log mirrors under
DATA/logs/ - EV entry/exit extraction per interaction
- PEV / EEV / FEV state tracking
- Pre-response planning and bounded state control
- Memory recall and indexed retrieval
- CIS export and diagnostics panel
- Provider support for OpenAI, xAI, and LM Studio
app/
app.py Flask routes and orchestration
db.py SQLite access layer
evm_core.py EVM state update logic
evm_spec.py normative prompts and spec text
indexing.py turn summary and keyword indexing
memory.py retrieval helpers
openai_client.py provider adapter and model calls
app/templates/
index.html local web UI
DATA/
logs/ NDJSON mirrors created at runtime
sqlite/ SQLite database created at runtime
install.command first-time setup
start.command start with provider from .env
start_openai.command convenience launcher
start_lmstudio.command convenience launcher
start_selector.command provider chooser
run.py local server entry point