Andreas 04.09.: SilverBullet ist für die Doku nicht das Richtige — die Doku soll aussehen wie sie soll, lesen statt editieren, und ohne Auto-Commit-Problem. km baut deshalb je Quelle mit mkdocs.yml nach jedem Pull mit Änderung eine statische Seite nach <data>/site/<name>; Caddy liefert sie unter /doku/<name>/ aus. Ein Baufehler lässt die alte Seite stehen und wird im Lauf gemeldet. Image bekommt mkdocs-material. 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.