Use SQLite for the local MVP
One local database keeps the first release easy to run and inspect.
The answer may be in a PR, an incident note, or a decision made weeks earlier. Engineering Memory stores those records with their origins and connects them to what happened next. People and coding agents can query the same local memory.
Runs locally with SQLite. GitHub import is optional.
The local retriever returns a short context packet with source IDs, state, capture time, and related records. Select a question to inspect an illustrative packet.
These are fictional records. This page does not run a live query.
Why SQLite?
One local database keeps the first release easy to run and inspect.
A single file keeps setup and backups simple for a local prototype.
The index uses six kinds: Event, Change, Decision, Rationale, Attempt, and Outcome. A record keeps its original text; links between records are explicit.
Enter a decision directly or import an artifact. Keep the source ID, reference, times, and claimed author.
Link a reason to a decision, an attempt to an outcome, or a correction to the note it replaces.
Send an MCP client a bounded packet, including current state and the ID of each source record.
Commits and pull requests often contain valuable rationale. They are worth keeping as sources. Decisions can predate code changes, while failed attempts and observed outcomes may arrive later.
The memory can point to a commit or PR and connect it to a note, document, incident, or conversation.
Results include a source ID, reference when present, event and capture times, and caller-supplied attribution.
Superseded and retracted notes remain inspectable. Current search prefers active records.
When search finds no support, the retriever can say so. It cannot certify that a retrieved claim is true.
Current status: local alpha. Search is lexical and can miss paraphrases. Evaluation on real engineering tasks is still ahead.
Clone the repository, add one decision, and query it from the CLI. The same local database is available to MCP clients.
Installation and MCP setup# Install the local prototype
git clone https://github.com/vladmuresan03/engineering-memory.git
cd engineering-memory
python3.13 -m venv .venv
source .venv/bin/activate
python -m pip install -e '.[mcp]'
# Store a decision with its reason
engineering-memory add Decision \
"Use SQLite for local memory" \
--rationale "One file keeps setup simple"
# Give an agent context
engineering-memory context "Why SQLite?"