How iamkevincruz/c0 works
c0 is a CLI-based external memory for LLMs: users add and relate knowledge, query it through a tiered retrieval cascade, then receive graph-traversed context. It also ingests source material, tracks knowledge over time, audits graph quality, and can learn from lookup misses through a reflection loop. The sampled sources establish the graph, embedding, extraction, session, and reflection modules; some command wiring is only documented in the README, so uncertain calls are omitted.
Main entry points: main.rs c0 commands · graph.rs Graph operations · reflector.rs Miss reflection · claude.rs LLM clients
Components 18
CLI and retrieval
- c0 commands
src/main.rs
Graph memory
- Graph operations
src/graph.rs - Embedding client
src/embeddings.rs
Knowledge ingestion
- Source fetching
src/fetch.rs - Transcript extraction
src/extract.rs - LLM clients
src/claude.rs - Session indexing
src/sessions.rs
Reflection loop
- Miss reflection
src/reflector.rs - Queued misses
src/reflector.rs
Memory operations
- Graph audit
src/audit.rs - Graph export
src/export.rs - Retrieval evaluation
src/eval.rs - Memory benchmark
src/bench.rs
Other components
- LLM user
- Neo4j graph
- Ollama
- Web and documents
- Claude sessions
Connections 28
- LLM user → c0 commands: runs commands
- c0 commands → Graph operations: queries and updates
- Graph operations → Neo4j graph: reads and writes
- c0 commands → Embedding client: requests embeddings
- Embedding client → Ollama: embeds text
- c0 commands → Source fetching: fetches sources
- Source fetching → Web and documents: retrieves content
- c0 commands → Transcript extraction: extracts transcripts
- Transcript extraction → LLM clients: requests extraction
- LLM clients → Ollama: uses local model
- LLM clients → LLM user: calls configured provider
- c0 commands → Miss reflection: runs reflection
- Miss reflection → Queued misses: processes misses
- Miss reflection → LLM clients: classifies queries
- Miss reflection → Graph operations: commits knowledge
- c0 commands → Graph audit: audits memory
- Graph audit → Neo4j graph: reads graph
- c0 commands → Graph export: exports graph
- Graph export → Neo4j graph: reads graph
- c0 commands → Session indexing: indexes sessions
- Claude sessions → Session indexing: provides transcripts
- Session indexing → Graph operations: stores session data
- Session indexing → Embedding client: embeds session text
- c0 commands → Retrieval evaluation: evaluates retrieval
- Retrieval evaluation → Graph operations: runs retrieval cascade
- Retrieval evaluation → Embedding client: embeds queries
- c0 commands → Memory benchmark: benchmarks memory
- Memory benchmark → Graph operations: uses memory graph