Ein Prozess (image/km/main.py) mit API (read, search, summary, health, refresh) auf Standardbibliothek und einem Takt, der die Ablage zieht, Gitea einliest, indexiert und alles Geänderte committet und pusht — auch Änderungen aus SilverBullet. Die Ablage ist ein Git-Checkout auf dem Volume, der Index eine SQLite-Datei daneben; ein Start ohne nötige Umgebung hält mit einer Liste an. deploy/compose.yml: km plus SilverBullet auf demselben Volume, für den oci-Betrieb in hive.home unter /km (SB_URL_PREFIX). deploy/health für 42i-hc. Lokal gegen ein Bare-Remote und spine/core durchgespielt: Ingest, Index, Commit, Push, Suche, Read mit Kanten in beide Richtungen, und eine von Hand angelegte Seite landet im nächsten Takt im Remote. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
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.