Entscheidung Andreas 2026-09-04 (spine/core#8): kein Datenbankdienst. Der Index ist eine abgeleitete Sicht auf die Markdown-Ablage in einer Datei im Volume, jederzeit neu baubar. image/km/index.py zerlegt die Dateien in Chunks (Chunking aus info/ai/scripts/index_docs.py übernommen), hält Volltext in FTS5 und Vektoren aus bge-m3 in sqlite-vec, inkrementell über SHA-256 je Datei. image/km/search.py sucht Volltext führend, Vektor ergänzend, mit Filtern vor dem Ranking (0 Treffer statt gesperrt). Ingest: Kommentare bei der Erstbefüllung repo-weit statt je Vorgang — die erste Fassung hing bei live/live nach 371 Vorgängen; jetzt 2175 in zwei Minuten. Gemessen: Volltext über 61.000 Chunks in 3 s, Vektoren 0,31 s je Chunk auf der CPU-Box. Kein Bytecode mehr im Repo. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
1.6 KiB
image — der Dienst selbst
Hier entsteht git.42i.org/spine/km: die API, die Ablage, der MCP-Endpunkt und
die prüfende Schreibfunktion.
Vorhanden: km/ingest_gitea.py holt Tickets und Kommentare aus Gitea in
die Ablage (../docs/ingest-gitea.md); km/index.py
und km/search.py bauen den SQLite-Index (FTS5 + sqlite-vec) und suchen
darüber (../docs/index-suche.md). Der Rest steht in
../docs/konzept.md.
Die Reihenfolge, in der es sinnvoll wächst:
readundsearchüber eine Ablage aus Markdown-Dateien — ohne die beiden ist nichts nachprüfbar.writeohne LLM-Prüfung, aber mit Kategorie und Namespace. Ab hier ist der Dienst benutzbar und kann die ersten Einträge aufnehmen.- Die
index.mdje Verzeichnis, die jedeswritefortschreibt. summaryüber dieindex.md.- Die prüfende Schreibfunktion (LLM, Konflikte,
force). - Der MCP-Endpunkt.
Die Reihenfolge ist nicht beliebig: Schritt 5 ist der einzige, der ein Modell braucht und ausfallen kann. Er kommt zuletzt, damit der Dienst vorher schon trägt — und damit man beim Abschalten der Prüfung sieht, was sie eigentlich verhindert hat.
Zwei Dinge, die beim Bauen schon feststehen
Benannt nach der Fähigkeit, nicht nach dem Produkt — die Regel aus
spine/images. km ist ein Versprechen auf Wissensverwaltung, keine Wette auf
eine bestimmte Ablage oder Suchmaschine.
Die Ablage ist ein Volume, kein Datenbankgeheimnis. Markdown auf Platte, lesbar ohne den Dienst. Wer nur nachsehen will, was gespeichert ist, soll dafür kein laufendes System brauchen.