@odradekk/vera-memory
Structured memory system for Vera agent (SQLite + FTS5)
Package details
Install @odradekk/vera-memory from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:@odradekk/vera-memory- Package
@odradekk/vera-memory- Version
0.4.0- Published
- Jun 12, 2026
- Downloads
- 237/mo · 195/wk
- Author
- odradekk
- License
- MIT
- Types
- extension
- Size
- 102.8 KB
- Dependencies
- 0 dependencies · 4 peers
Pi manifest JSON
{
"extensions": [
"./src/index.ts"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
vera-memory
A minimal structured memory layer for Vera.
Purpose
vera-memory stores and retrieves structured memories for Vera. It is intentionally small:
- active use only
- SQLite + FTS5
- structured records
- explicit CRUD and search tools
- automatic Project Ledger summary projection before agent start
- no automatic broad memory retrieval injection
- no automatic writeback
- no maintenance / review / cleanup pipeline
- no vector database
- no embeddings
Registered surface
Tools
memory_remembermemory_searchmemory_updatememory_forgetmemory_status
Command
/memory
Hooks
session_startbefore_agent_startsession_shutdown
Project Ledger prompt projection
On before_agent_start, vera-memory reads project-scoped ledger records for:
project.overviewproject.planproject.progressproject.constraints
It appends those summaries as a compact ## Project Ledger markdown block to the active system prompt. This is prompt-time projection of fixed project ledger identities only; ordinary memory search, writes, updates, and deletes still happen through explicit tools.
Data model
Core storage uses:
metamemoriesmemories_fts
See repository design docs for the exact V1 schema.
Config
Loaded from:
agent/config/memory.json- project
.pi/config/memory.json
Minimal example:
{
"enabled": true,
"database": {
"path": "../state/memory.sqlite"
},
"defaults": {
"shortTtlDays": 14
}
}
Notes:
- relative
database.pathvalues are resolved from the config file directory - config is merged in order: built-in defaults,
agent/config/memory.json, then project.pi/config/memory.json; project values override agent values, and unspecified nesteddatabase/defaultskeys inherit from earlier layers - if no config file exists, built-in defaults are used
memory_rememberdoes not do upsert
Project override example:
{
"defaults": {
"shortTtlDays": 30
}
}
This project config changes only the short-memory TTL and inherits the database settings from the agent config or built-in defaults.
Behavior
Ordinary memory search and writes are manual; Project Ledger prompt projection is automatic.
- search only when memory may materially improve continuity or correctness
- store only stable, reusable information
- update only when the same stable object changed
- forget only on explicit request, confirmed error, or clear replacement
- Project Ledger summaries may be present in the system prompt without a
memory_searchcall - files, runtime state, and docs override memory
Smoke
Run:
npm run smoke
The smoke test covers the minimal V1 path:
- tool registration
- remember
- search by query
- search by identity
- update
- forget
- status
Loaded through agent/settings.json as ./packages/vera-memory.