Files
chemenu/kb/concepts/Lint Workflow.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

5.5 KiB

type, concept_type, tags, created, modified, related, sources, confidence, confidence_base, provenance, summary
type concept_type tags created modified related sources confidence confidence_base provenance summary
types/concept.md workflow
2026-08-02 2026-09-01
Event-Driven Automation
Quality and Self-Correction
Detect-Repair Asymmetry
Green Suite Blind Spot
Source - Conversation - Comma Bug Budget Refund and Lint Report Path Session 2026-08-31
0.50 0.50 sourced Deterministischer Health-Check rund um wikitool lint; seit 1.7.2 maskiert es Code vor dem Notation-Match und zaehlt Zitat-Bloecke statt Zeilen

Lint Workflow

Typ: workflow

Definition

Läuft nach Zeitplan (täglich/wöchentlich) ab und kann durch Memory-Write-Ereignisse ausgelöst werden; identifiziert strukturelle Probleme, repariert automatisch, was möglich ist, und markiert unlösbare Probleme zur Überprüfung durch Menschen. In diesem Wiki wird die strukturelle Hälfte deterministisch durch wikitool lint implementiert.

Kernpunkte

  • Strukturelle Überprüfungen sind deterministisch und durch tools/wikitool lint erzwungen.
  • Der Workflow umfasst nun provenance-bewusste Überprüfungen: unabgedeckte Rohdateien, fehlerhafte raw_files-Referenzen, fehlende Provenance-Marker und Zitats-/Frontmatter-Versatz.
  • Seit 2026-08-31 schreibt lint seinen Report immer, standardmäßig nach reports/Lint Report <datum>.md, und gibt den Pfad aus; --markdown überschreibt weiterhin das Ziel. Vorher schrieb der Lauf ohne --markdown gar keine Datei und kippte den vollen Report nach stdout - es gab also keinen Pfad zu nennen und keinen Weg zurück in einen übersprungenen Abschnitt außer einem zweiten Lauf. Gedruckt werden jetzt nur Abschnitte mit Befunden; --full druckt alles, --json druckt die Befunde und schreibt nichts. wiki-lint und wiki-status sagen beide, die Datei zu lesen statt lint erneut aufzurufen, und wiki-status nimmt die Hub-Statistik aus der Reportdatei, weil sie eine Statistik und kein Befund ist.1
  • Die Lint-Ausgabe kann mit lint --markdown auf eine andere Berichtsdatei unter reports/ gelenkt werden. Seit 2026-08-21 ist ein Bericht keine Wiki-Seite: types/lint-report.md deklariert kein base_dir:, die Datei ist gitignoriert und wird weder schema-validiert noch indiziert. Seine strukturelle Hälfte kann bei Bedarf neu berechnet werden, daher ist nur die semantische Überprüfung dauerhaft - und diese muss vor Ende des Durchlaufs über log append --op lint in kb/log.md eingetragen werden.
  • Seit 1.7.2 maskiert lint Code, bevor es Wiki-Notation matcht (chemenu/markdown_code.py, strip_code_spans): ein [^cite-id] oder [[Wikilink]], das eine Seite nur in Backticks oder einem Fence zeigt, zählt nicht mehr als echte Referenz. Vorher machte genau das eine Seite, die über die eigene Zitat-Syntax schrieb, zu einem Hard-Error - der einzige Ausweg war, die Notation zu umschreiben statt zu zeigen. Zwei Grenzen bewusst gezogen: eingerückte Codeblöcke bleiben unmaskiert (meist Listenfortsetzung), Inline-Spannen nur zeilenlokal (ein vergessener Backtick soll keinen Absatz stumm maskieren). Sechs Prüfungen laufen jetzt darüber; der Korpus hatte die spiegelbildliche Gewohnheit - 12 Zitatmarker standen selbst in Codeblöcken und wurden auf Quelle:-Zeilen darunter verschoben.
  • Das Zitat-Limit zählt seit 1.7.2 Zitate, nicht >-Zeilen (count_quote_blocks): vorher zählte ein umbrochenes Einzelzitat als so viele Zeilen wie es Umbruch hatte, was Autoren dazu brachte, die Seite schlechter lesbar zu machen, um den Lint zu beruhigen. QUOTE_LIMIT bleibt bei 2.
  • lint meldet kaputte raw_files:-Referenzen zuverlässig, aber kein Befehl repariert sie. Diese Lücke ist als Detect-Repair Asymmetry beschrieben und als Gitea-Issue #14 offen.1
  • Die semantische Überprüfung bleibt eine Urteilsphase: Widersprüche, veraltete Aussagen und Empfehlungen für Folgseiten werden vom LLM nach der strukturellen Scanausgabe abgeschlossen.

Beispiele

  • Provenance-Behebungsdurchlauf (2026-08-03): Alle Lint-Kategorien erreichten null Ergebnisse nach Quellen-Backfill, Provenance-Markierung, Zitats-Ausrichtung und Index-Neuerstellungen.
  • Die Wrapper-Verstärkung in demselben Durchlauf behob die Behandlung relativer Pfade für die Lint-Markdown-Ausgabe und verhinderte Regressionen bei der Pfadauflösung bei Aufrufen aus dem Repo-Root.

Wann zu verwenden

  • In geplanten Wartungsintervallen (z. B. nach mehreren Aufnahmen oder wöchentlich).
  • Unmittelbar nach Bulk-Aufnahme-/Update-Vorgängen, die viele Seiten betreffen.
  • Vor Veröffentlichungsvorgängen, wenn strukturelle Korrektheit und Provenance-Integrität überprüft werden müssen.

Wann NICHT zu verwenden

  • Als Ersatz für semantische Quellenaufnahme; Lint validiert Struktur und Konsistenz, nicht vollständige thematische Vollständigkeit.
  • Nur als einmaliger Setup-Schritt; Qualität verfällt, wenn Lint und semantische Überprüfung nicht wiederkehren.

Verwandte Concepts

Beziehungen

Siehe auch

Fußnoten