Knowledge Ecosystem for AI Agents
All your knowledge. One interface.
Your AI doesn't need another retrieval API. It already speaks SQL.
pip install getflex
Knowledge Cells
The Ecosystem
One interface, many knowledge bases. Each cell is a SQLite file. Same query language. Same tokens. Same graph intelligence. Different knowledge.
claude_code
Every coding session. Decisions, bugs, architecture choices across all projects.
138K chunks · 3,175 sessions
vector-project-docs
Spec-driven development documentation, architecture, patterns, changelogs.
4.6K chunks · 747 docs
infra-project-docs
Architecture documents, changelogs, agentic memories.
2.4K chunks · 341 docs
Data Model
Architecture
A cell is a SQLite file. The table naming convention is the entire protocol. No manifest, no config, no registry.
THE CELL
_raw_*     immutable     content, embeddings
_edges_*   append-only   relationships
_types_*   immutable     classification
_enrich_*  mutable       graph scores
The prefix tells you the mutability contract.
Table names carry the metadata. Views LEFT JOIN
everything onto _raw_chunks automatically.

Graph scores — centrality, hubs, communities —
are pre-computed columns. Zero query-time cost.
Python 3.12 · SQLite · ONNX · numpy · networkx
No external services. No API keys. Fully local.
Three-Phase Pipeline
Retrieval
SQL pre-filters. Numpy reshapes the embedding landscape. SQL composes the results. Smart data, smart agent, dumb pipe.
SQL pre-filter
Any SQL returning chunk IDs.
Every table with a chunk_id
column is vocabulary.
No registration needed.
numpy landscape
Cosine similarity, then
modulation tokens reshape
scores. Operates on the
full landscape, not top-K.
SQL composition
Full SQL on 500 candidates.
Hub boost, community filter,
JOINs against edge tables.
All composable.
MODULATION TOKENS
Vector search returns the same results every time.
Modulation tokens reshape the landscape per query.
  diverse          spread across subtopics
  recent:N         temporal decay
  unlike:TEXT       subtract a concept
  like:id1,id2     "more like these"
  from:T to:T      trajectory through space
// three tokens, one query
vec_ops('_raw_chunks', 'auth architecture',
  'diverse unlike:OAuth recent:7')
Pipeline
1. SQL narrows the corpus
2. numpy reshapes the landscape
3. SQL composes the results
Smart data, smart agent, dumb pipe. Each stage is independently useful.
Extensibility
Modules
A module is tables. Install by creating them with convention prefixes. Uninstall by dropping them. The system discovers what exists.
SOURCE MODULEScompile a format
A chunk is an atom.
Compile any format — sessions,
docs, code — into the substrate.
  flex init
  flex index claude-code
  flex index docpac ./context

Any format. One cell.
EXTENSION MODULESenrich any cell
A module is a table.
Attach intelligence to any chunk
with CREATE TABLE.
  CREATE TABLE _edges_file_identity (
    chunk_id TEXT, file_uuid TEXT
  )

The view generator discovers it.