§10, a Self-Improving Knowledge Base

personal infrastructure · 2026 · open source (GPLv3)

a local-first knowledge base that learns from what actually helped. it reads my notes, repos and PDFs, summarizes them with local LLMs, and injects the right memory into my coding sessions. the machinery is open source; the data never leaves home.

323 sources · 1294 topic pages · 268 tests · 6 GB of VRAM, total

The loop is the product

Most memory systems guess at relevance and stop there. §10 closes the loop: every injected memory is scored against the session that received it. Engaged and never corrected counts as useful. Engaged but corrected counts as harmful. Ignored is a miss worth knowing about.

A nightly job turns those outcomes into retrieval tuning. It only ever tightens, and it only lands on a dated branch I can inspect and revert. No silent self-modification.

Pipeline: capture, summarize, inject, observe, score, tune.

Since the outcome loop went live: 1179 scored injections, of which 742 useful (63%), 377 ignored (32%), 60 engaged but corrected (5%).

Retrieval that earns its place

Retrieval is graded against a hand-labeled golden set, positives and negatives, no synthetic padding. Three generations so far, hit@1 on the same set:

retrieverhit@1found in top 5
lexical19%50%
embedding25%88%
rerank50%88%

False highs on negative cases: 0% across all three generations. A memory system that interrupts with the wrong thing is worse than no memory system.

Small blast radius, small GPU

Everything runs on a GTX 1660 Super with 6 GB of VRAM: 7B quantized models through Ollama for the nightly summaries and topic merges, with cloud models as an optional fallback. The constraint is a feature; it forces the pipeline to be incremental, hash-aware and honest about what needs recomputing.

The public release ships the machinery, the prompts, the evals and 268 tests.

The section it's named after

§10 is a literal heading in a longer roadmap, the long horizon, and it names the thing this whole substrate is a trial grounds for. The endpoint isn't a better knowledge base; it's an autonomous research process: a system that watches a portfolio of instrumented targets (the KB, the homelab, my actual work), surfaces its own candidate problems, ranks them by what's worth doing, runs the experiment, and keeps only the bets that paid off. The part it's named for is the deciding, not the running, the leap from a tool that optimizes what you point it at to one that chooses what to point itself at, judged on whether it's still finding profitable changes to make rather than on a frozen score it could quietly converge against. None of that agenda-setting exists yet; today the loop sits on the first rung, tuning knobs a human picked. Which is the whole reason measurement comes first: an autonomous researcher built on a dishonest signal just chases what's measurable instead of what matters, with total confidence.

Code: https://github.com/sashavrg/s10