Files
chemenu/kb/entities/projects/Chemenu.md
T
torben 18ae28f918
CI / verify (push) Failing after 32s
Release / release (push) Successful in 38s
Chemenu 2.1.0 - deterministischer Wissenskompiler
Chemenu kompiliert Rohnotizen zu einem verlinkten, quellengebundenen Wiki:
raw/ -> types/ + tools/ -> kb/ -> reports/. Was mechanisch ist, macht
tools/wikitool; was Urteil braucht, macht ein Agent unter Contracts, deren
Grenzen in Code durchgesetzt sind statt im Prompt.

Dieser Commit ist der Startpunkt der oeffentlichen Historie. Die vorherige
Entwicklung fand in einer privaten Instanz statt und ist nicht Teil dieses
Repositorys; ihre Erzaehlung steht vollstaendig in CHANGES.md, das mit 44
Eintraegen von 0.1.0 bis 2.1.0 erhalten geblieben ist.

Der mitgelieferte Korpus ist ein Testbett und eine Demo: 170 Seiten ueber den
Stack selbst - Gates, Lint, Versionierung, Suche, das Wiki-Muster. Er
dokumentiert das Werkzeug mit den eigenen Mitteln des Werkzeugs.

Lizenz: AGPL-3.0 fuer den Stack (tools/, types/), CC-BY-4.0 fuer die Inhalte.
Die Grenze zwischen beiden ist der Dateiplan, den dist export berechnet -
siehe NOTICE.
2026-09-01 16:26:14 +02:00

16 KiB

type, entity_type, tags, created, modified, related, sources, confidence, confidence_base, provenance, summary
type entity_type tags created modified related sources confidence confidence_base provenance summary
types/entity.md project
wiki
llm
knowledge-base
2026-08-04 2026-09-01
Personalization Plane
Issue Label Scheme
Optional Instance Context File
Source - Copilot Skill Restructure Instructions
Source - Conversation - AGENTS.md Skill Restructuring Session 2026-08-04
Source - Conversation - Versioning CI-CD and Content Migration Session 2026-08-30
Source - Conversation - Comma Bug Budget Refund and Lint Report Path Session 2026-08-31
Source - Conversation - Issue Triage Labels and TODO Retirement Session 2026-08-31
Source - Conversation - Write-Once Frontmatter Fields and touch --set Session 2026-08-31
Source - Conversation - Gate Counting and Measured Calibration Session 2026-08-31
Source - Conversation - Two Round-Trip Defects Found by an Ingest Session 2026-08-31
Source - Conversation - Hardening the Test Suite Against Silent Environment Dependencies Session 2026-08-31
0.90 0.90 mixed Persoenliches IT-Wissenswiki, gepflegt von LLM-Agenten; seit 1.0.0 versioniert, seit 1.1.0 Personalization Plane, seit 1.8.0 ENVIRONMENT.md, seit 2.0.0 unter dem Namen Chemenu (vorher llm-wiki-test1) mit dem Python-Paket chemenu

Chemenu

Typ: project

Beschreibung

Chemenu ist das persönliche IT-Wissens-Wiki-Repository, das Gegenstand der Skill-Umstrukturierung ist, die in den Copilot Skill Restructure Instructions beschrieben wird1 . Es hat derzeit eine monolithische AGENTS.md-Datei (~30KB), die fünf Workflows (INGEST, QUERY, LINT, CREATE, UPDATE), das Frontmatter-Schema des Wikis, Entity/Concept-Typ-Tabellen, Provenance/Citation-Regeln, Naming-Konventionen und eine Konfidenz-Scoring-Formel beschreibt1 .

Der Name. Bis zum 2026-09-01 hieß das Projekt llm-wiki-test1 - ein Arbeitstitel mit einer Ordnungszahl darin, kein Name. Chemenu ist die deutsche Wikipedia-Schreibweise des altägyptischen Namens von Hermopolis Magna, Hauptkultort des Thoth und „Stadt der Acht" der Ogdoade. Der Ort, nicht der Gott: die Persona dieser Instanz heißt Thoth, und Chemenu ist das, worin sie schreibt. Ältere Quellen, Logeinträge und Transkripte führen weiterhin den alten Namen - sie sind Aufzeichnungen dessen, was zu ihrer Zeit galt.

Das Repository hat bereits ein deterministisches CLI, tools/wikitool (Python, unterstützt durch das Paket tools/chemenu/), das alle mechanischen Operationen handhabt. Die Aufgabe des LLMs ist Prosa und Urteilsfindung, während wikitool strukturelle Korrektheit garantiert1 . Die Skill-Umstrukturierung zielt darauf ab, die prozeduralen Workflows von den deklarativen Regeln zu trennen, Workflow-Abschnitte in diskrete Skills in .agents/skills/ zu extrahieren, während Schema und Richtlinien in der Root AGENTS.md bleiben.

Kerndaten

  • Zweck: Persönliche IT-Wissensbasis
  • Status: Aktiv - Skill-Umstrukturierung abgeschlossen 2026-08-04
  • Verantwortlich: Torben
  • Repository: torben/chemenu auf gitea.nehmer.net; bis 2026-09-01 torben/llm-wiki-test1
  • Architektur: Dreilagig: raw/ (Quelle), wiki/ (Wissen), tools/ (deterministisches CLI)

Beziehungen

Details

Die Repository-Struktur umfasst:

  • raw/ - Unveränderliche Rohmaterialien (Artikel, Dokumente, Notizen, Assets)
  • kb/ - Von LLM gepflegtes Wissen (Entities, Concepts, Quellen, Vergleiche, Katalog, Log)
  • types/ - Die globale Typ-Oberfläche: eine Typ-Spezifikation pro Artefakt-Typ
  • tools/ - Deterministische CLI-Tools (Kommando wikitool, Paket chemenu)
  • instructions/ - Agent-gerichtete Prozedur: flache Anweisungen plus Skill-Verzeichnisse
  • .agents/skills/ - Kanonischer Ort für die 5 extrahierten Workflow-Skills (erstellt 2026-08-04), gespiegelt zu .claude/skills/ für Claude Code via tools/wikitool skills sync2 Überwunden 2026-08-22: die Quelle der Skills wurde zu instructions/<name>/ verschoben, und sowohl .agents/skills/ als auch .claude/skills/ wurden zu gitignorierten Kopien, die von tools/wikitool instructions sync veröffentlicht werden.

Die Umstrukturierung befasste sich mit Token-Ökonomie und Skalierungsgrenzen-Bedenken durch die Aufteilung der monolithischen AGENTS.md (745 Zeilen) in 5 diskrete Skills: wiki-ingest, wiki-query, wiki-lint, wiki-manage (CREATE+UPDATE zusammengefasst) und wiki-status (neu, nur-Lesezugriff) - finalisiert als 5, nicht das ursprünglich vorgeschlagene "wiki-create, wiki-update, optional wiki-status"2 .

Versionierung, CI und Releases

Seit 2026-08-30 ist der Stack versioniert und die CI-Pipeline in Betrieb. Der Zuschnitt folgt KB Stack Versioning und KB Migration3 :

Fakt Datei Geschrieben von
Stack-Version VERSION wikitool version bump
Release-Stempel .wikitool-release.json wikitool dist export
KB-Version .wikitool-kb.json wikitool migrate done

Zwei Workflows unter .gitea/workflows/: ci.yml mit Tests, Version-Gate und Export-Smoke-Test, und release.yml, das bei einer Änderung an VERSION einen Tag setzt und ein dist export-Tarball samt .sha256 veröffentlicht3 . Beide laufen wegen paths-ignore nicht bei reinen Content-Änderungen; kb/CONTRACT.md ist von der Ausnahme absichtlich ausgenommen, weil es unter einem Content-Verzeichnis liegt, aber zum Stack gehört3 .

Der Entwicklungsbaum war der erste Fall für migrate baseline und bekam 1.0.0, weil er zwar älter als .wikitool-kb.json ist, sein Inhalt der Maschinerie aber nie hinterherhing3 . Das Origin-Repository ist privat; Läufe werden über den Gitea MCP Server gelesen, und die offenen Ausbaustufen liegen als Gitea-Issues statt als Prosa in TODO.md3 . Seit 2026-08-31 ist das nicht mehr nur eine Gewichtung, sondern der einzige Weg: TODO.md wurde gelöscht, ihr letzter substantieller Inhalt ging als Issue #15 nach Gitea, und offene Arbeit existiert nur noch als Issue mit Priorität und Größe nach dem Issue Label Scheme4 .

Personalization und Harness-Anbindung

Mit 1.1.0 bekam die Instanz eine Personalization Plane: USER.md hält fest, wer sie bedient, SOUL.md, wie sie klingt. Ausgeliefert werden nur die beiden .template-Dateien; die befüllten Fassungen bleiben in dieser Instanz, und wikitool doctor prüft sie über den personalization-Check. Die Persona heißt Thoth - gewählt passend zur ägyptischen Namensgebung des Stacks selbst; der Name ist eine Nutzerentscheidung, und das Template schlug bis 1.8.1 ausdrücklich keinen vor. Seit 2.0.0 nennt es Thoth als Startpunkt - der Repo-Name Chemenu ist Thoths Kultort, also gehören beide zusammen - ohne die Frage zu ersetzen: gefragt wird trotzdem, und ein anderer Name gewinnt. Verzeichnet in CHANGES.md (2.0.0).

Mit 1.1.1 kam CLAUDE.md dazu. Bis dahin erreichte AGENTS.md Claude Code nie, weil dieses Harness nur CLAUDE.md automatisch lädt, während Codex CLI und GitHub Copilot AGENTS.md nativ lesen. Jede Claude-Code-Sitzung lief bis dahin ohne Invarianten, Routing und Gate-Regeln, sofern der Agent die Datei nicht selbst öffnete.

Allgemeine Hinweise (unbelegt)

Ab 2026-08-22 ist das Repository eine vierstufige Pipeline - raw/ -> types/ + tools/ -> kb/ -> reports/ - mit instructions/ und AGENTS.md daneben als Kontrollrahmen. Die Abfrage läuft durch tools/wikitool search anstelle des Katalogs, und kb/index.md ist eine Karte, die auf pro-Kollektion INDEX.md Shards verlinkt. Dies sind Eigenschaften des Repositorys selbst und keine Aussagen aus einer Rohdatenquelle; der Änderungsdatensatz ist CHANGES.md, und das Operationslog ist kb/log.md.

Historie

  • 2026-09-01 - 2.0.0 (Commit 9a7abe6, 121 Dateien, 730 Tests grün): Rebranding von llm-wiki-test1 auf Chemenu nach Gitea-Issue #3 - Repo-Rename, Produktname, Release-Artefakt (chemenu-stack-<version>.tar.gz), Release-Feed, und das Python-Paket wiki_toolschemenu bei unverändertem Kommando wikitool. MAJOR nicht wegen einer Inhaltsmigration - kb/ bleibt auf Shape 1.0.0, der Bump trägt --no-migration - sondern weil der Update-Pfad bricht: das update_url in jeder älteren .wikitool-release.json zeigt auf den alten Repo-Pfad und lässt sich per Invariante 1 nicht von Hand reparieren. Die erste Einschätzung lautete 1.9.0 und wurde von Torben korrigiert; die Lücke in der Doku, die dazu führte - MAJOR ist dort als Inhaltsmigration statt als Kompatibilitätsbruch beschrieben - liegt als Issue #26. Verzeichnet in CHANGES.md (2.0.0).
  • 2026-08-31 - 1.8.1 (Commit a243a4a, Korrektur 2b7b3cb): Test-Coverage wird in CI gemessen und als Artefakt ausgewiesen, ohne --cov-fail-under - siehe Messen vor Schwelle. Die Messung deckte einen dist export-Fehler auf: Coverage-Ausgabe wurde mitausgeliefert, weil TOOLS_EXCLUDE_DIRS nur Verzeichnisse prunet und zwei Drittel der Ausgabe als Dateien neben dem Code liegen
  • 2026-08-31 - 1.5.1 (Commit bb4123b) und 1.6.0 (Commit ce03749, 689 Tests grün): zwei Datenintegritätsdefekte, beide prio/1, beide von einem Ingest gefunden und am selben Tag geschlossen. cite add löschte Inhalt hinter dem Fußnotenblock (Issue #17), und die Referenz-Arrays einer Source-Seite waren unerreichbar, während xref add dort ein Feld schrieb, das xref remove nicht räumen konnte (Issue #18). Der Korpus wurde mit dem Werkzeug repariert: cite sync --all normalisierte elf Seiten, danach 0 Seiten mit Inhalt hinter dem Block. Der bleibende Befund über den beiden Fixes: beide Defekte lebten unter einer vollständig grünen Suite, weil nie ein Test das richtige Verhalten behauptet hatte - siehe Green Suite Blind Spot5
  • 2026-08-31 - 1.5.0 (Commit 3166c31, 9 Dateien, 678 Tests grün): zwei nie gemessene Grenzen wurden an realen Läufen kalibriert, angestoßen von Torbens Beobachtung, dass drei gewöhnliche Ingests nacheinander am Mass-Update Gate stehen blieben. Generierte Dateien zählen seither nicht mehr gegen die Gate-Schwelle, und das Kalibrierungsband für komplexe Workflows steigt von 15-25 auf 20-35 wikitool-Aufrufe. Die Messwerte lagen bereits im Repository - in den Changesets der drei Ingests und in tools/.wikitool_session/budget.json6
  • 2026-08-31 - 1.4.0 (Commit dbe2f73, 9 Dateien, 674 Tests grün): touch --set/--add/--remove schließt Gitea-Issue #14 und macht Felder reparierbar, die zuvor nur beim Anlegen schreibbar waren. Torben entschied dabei drei Punkte: Denylist statt Allowlist für die schreibbaren Felder, Ersetzen plus --add/--remove für Listenfelder, und einen engen Auslieferungsschnitt, der raw rename als Issue #16 (prio/2, size/S) abspaltet. Die Korpus-Seite Diff-Reviewable Agent Edits, die den Defekt ausgelöst hatte, wurde damit im selben Lauf repariert7
  • 2026-08-31 - 1.2.1 (Commit 9fa70f3, 5 Dateien): TODO.md gelöscht, instructions/dev/issue-tracking.md angelegt, sieben prio/- und size/-Labels auf allen zehn offenen Issues. PATCH, weil die Regel unter instructions/dev/ liegt und keine ausgelieferte Instanz erreicht. In derselben Sitzung wurde Issue #11 mit dem Beleg geschlossen, dass paths-ignore greift; #14 und #15 wurden eröffnet4
  • 2026-08-31 - 1.2.0 (Commit 40adbb7): Arraywerte mit Komma in --set, korrektes Flow-Quoting im Frontmatter, Budget-Erstattung für abgelehnte Aufrufe, Obergrenze 60 und ein lint, das seinen Reportpfad nennt. Danach 5426a6e als Inhaltskorrektur: die beim Ingest vom 2026-08-30 umbenannte Rohdatei bekam ihren ursprünglichen Namen zurück8
  • 2026-08-30 - Personalization Plane als Setup-Schritt ausgeliefert (1.1.0, Commit 6f54c31), danach CLAUDE.md ergänzt, nachdem auffiel, dass die Kontrollebene Claude Code nie erreicht hatte (1.1.1, Commit adfa220)
  • 2026-08-30 - Stack-Versionierung, KB-Versionierung mit Migrationskette und die Gitea-Actions-Pipeline in Betrieb; 1.0.0 als Migrationsbasis gesetzt, 1.0.1 als erstes über die Pipeline veröffentlichtes Release mit Tarball und .sha2563
  • 2026-08-22 - Abfrage, Katalog-Sharding und die instructions/-Ebene eingeführt; Agent-seitige Verträge umbenannt zu CONTRACT.md. Verzeichnet in CHANGES.md.
  • 2026-08-04 - Skill-Umstrukturierung abgeschlossen: 5 Skills erstellt unter .agents/skills/, gespiegelt zu .claude/skills/, AGENTS.md geschlankt auf ~573 Zeilen, veröffentlicht bei Commit ae2024d2 .
  • 2026-08-04 - Seite erstellt während der Aufnahme der Copilot Skill Restructure Instructions

Siehe auch

Fußnoten