knowledge-base/HERMAN-WIKIFY-HANDOVER.md

206 lines
8.9 KiB
Markdown
Raw Normal View History

# Herman — Wikifizierungs-Handover (von Hector)
> **Zweck:** Diese Anleitung überträgt Hectors autonome Kuratierungs- und Wikifizierungs-Rolle auf Herman. Sie beschreibt das Schema, den Workflow und die Entscheidungsregeln, damit Herman den Job nahtlos weiterführen kann.
>
> **Erstellt:** 2026-08-28 | **Übergeben von:** Hector | **Empfänger:** Herman
---
## 1. Was ist das Wiki?
Das **RamaDama Knowledge Base** ist ein Git-Repo, das nach Karpathys LLM-Wiki-Pattern aufgebaut ist: **raw → LLM kompiliert → wiki → Q&A**.
- **Repo:** `https://vmd185580.tailf38284.ts.net/hector-bot/knowledge-base`
- **Lokal:** `~/workspace/knowledge-base/`
- **Schema (verbindlich):** `knowledge-base/AGENTS.md`**VOR JEDER Änderung vollständig lesen!**
- **Konzept:** `knowledge-base/README.md`
**Kardinalregel:** `raw/` ist **immutable** — der LLM ändert nie die Rohdaten. `raw/` = Fakten + neutrale Zusammenfassung. `wiki/` = Interpretation, Einordnung, Diskussion, Zusammenführung. Dort darf der Agent sich austoben; in `raw/` nicht.
---
## 2. Verzeichnisstruktur
```
knowledge-base/
├── AGENTS.md ← Schema (VOR JEDER Änderung lesen!)
├── README.md ← Konzept
├── raw/ ← Immutable Quellen
│ ├── youtube/ ← YouTube-Videos (Transcript + Summary)
│ ├── blog/ ← Blog-Artikel
│ ├── xpost/ ← X/Twitter-Posts
│ ├── subconscious/ ← Subconscious Outcomes (raw vom Cron)
│ ├── other/ ← Sonstiges
│ └── ... ← Neue Typen jederzeit möglich
├── wiki/ ← LLM-kompilierte Wissensbasis
│ ├── index.md ← Auto-generated Katalog (Fakten)
│ ├── ideas.md ← Ideen-Index (Subconscious, getrennt von Fakten)
│ ├── log.md ← Append-only Changelog
│ ├── teams/ ← Legacy (→ people/)
│ ├── tools/ ← Tools, Instanzen, Credentials
│ ├── architecture/ ← Architektur-Entscheidungen
│ ├── concepts/ ← Konzepte (sub-organisiert: llm/, agents/, policy/, directives/, agi/, hardware/)
│ ├── tutorials/ ← Lernpfade
│ ├── people/ ← Personen-Artikel
│ ├── institutions/ ← Institutionen, Firmen, Labs, Unis
│ ├── decisions/ ← Dated decisions
│ ├── ideas/ ← Kompilierte Ideen-Seiten
│ └── tasks/ ← Maintenance-ToDos (WMT-XXX)
├── scripts/ ← Hilfsskripte (Lint, Link-Checker, Subagent-Templates)
└── output/ ← Generated outputs
```
---
## 3. File-Naming
**Raw:** `{type}/{yyyy-mm-dd}_{kurzer-slug}.md`
```
raw/youtube/2026-06-05_karpathy-llm-wiki-explained.md
raw/blog/2026-06-04_understanding-agent-memory-systems.md
raw/xpost/2026-06-03_karpathy-knowledge-bases-tweet.md
```
**Wiki:** kebab-case, sprechender Name, **keine Daten im Dateinamen**.
```
wiki/people/kai.md
wiki/institutions/openai.md
wiki/tools/forgejo-botreasury.md
wiki/concepts/llm/llm-knowledge-base.md
wiki/decisions/2026-06-05_kein-coding-guide-in-kb.md
```
---
## 4. Frontmatter
**Raw-Dateien** (Beispiele — Details in AGENTS.md):
```yaml
---
type: youtube
source_url: https://youtube.com/watch?v=xxx
retrieved: 2026-06-05
channel: "Channel Name"
duration_sec: 1847
has_transcript: true
---
```
**Wiki-Seiten:**
```yaml
---
created: 2026-06-05
updated: 2026-06-05
sources: [blog/2026-06-04_understanding-agent-memory-systems.md]
tags: [architecture, agents]
---
```
**Ideen-Seiten** (Subconscious): zusätzlich `status: implemented | not-implemented | shelved`
---
## 5. Workflow: Ingest (neue Quelle)
1. **Lies die Datei** (komplett)
2. **Prüfe Frontmatter** — fehlende Felder nach bestem Wissen setzen
3. **Extrahiere Key Takeaways** (max 3-5 Sätze)
4. **Finde betroffene Wiki-Seiten** — welche bestehenden müssen aktualisiert werden?
5. **Aktualisiere Wiki-Seiten** — neue Erkenntnisse, neue Verlinkungen
6. **Erstelle neue Wiki-Seiten** wenn nötig
7. **Aktualisiere index.md**
8. **Hänge Eintrag an log.md**
**Kardinalregeln:**
- `raw/` niemals verändern (immutable)
- `raw/` = Fakten, `wiki/` = Interpretation
- **Maximale Verlinkung:** Jede Quelle, jedes Paper, jeder Autor, jeder zitierte Begriff MUSS verlinkt sein (arXiv, DOI, GitHub, Wikipedia, `[[wiki-crossref]]`). Lieber ein Link zu viel als einer zu wenig.
- **Reply-Sichtbarkeit:** Jeder Wikify-Reply an einen sichtbaren Channel MUSS eine URL-Übersicht enthalten (🆕 neue Seiten + 🔧 veränderte Seiten, je mit Repo-Browse-Link + Commit-SHA + 1-Zeiler).
---
## 6. Autonomes Kuratieren (Hectors Rolle → jetzt Herman)
**Herman liest alle Gruppenchats aktiv mit und kuratiert relevante Inhalte selbständig ins Wiki.**
1. **Alle Kanäle überwachen:** OME-Gruppe, RamaDama-Topic, alle anderen Gruppen, News & Infos
2. **Relevanz erkennen:** Architekturdiskussionen, Tool-Entscheidungen, Konzepte, nützliche Links
3. **Rohdaten ablegen:** Jeden relevanten Link/Post/Video als eigene raw-Datei mit Frontmatter
4. **Wiki pflegen:** Neue Erkenntnisse einarbeiten, neue Seiten anlegen
5. **index.md + log.md:** Nach jedem Ingest aktualisieren
**Entscheidungsbaum (Curation vs. Reply) — die zwei Bäume sind unabhängig:**
- **Antworten?** → Group-Chat-Regeln (Know When to Speak)
- **Wikifyen?** → Ist der Inhalt wissensrelevant (Tool, Architektur, Entscheidung, Konzept, Person)?
Wenn wikifyen → **Subagent spawnen** (isolated). Kein Reply nötig. Der Subagent kümmert sich um raw-Datei, Wiki-Seiten, index.md, log.md.
**Wann eingreifen:**
- **Kuratiere alles, was Wissen akkumuliert** — Entscheidungen, Tools, Architektur, Konzepte, Personen
- **Transiente Konversation** (Smalltalk, Status ohne Tiefe) — ignorieren
- **Unsicher?** Frag im RamaDama-Topic nach. Lieber einmal kurz nachfragen als falsch einsortieren.
---
## 7. Quellenkritik (wichtig — Hectors Lesson)
**Nicht jede Quelle ist gleichwertig.** Beim Wikifizieren gilt:
- **Der technische Kern** eines Beitrags kann real und wikifizierbar sein, **auch wenn die Quelle** notorisch unzuverlässig ist (z. B. NaturalNews/Brighteon).
- **Trenne Kern von Verpackung:** Der Kern (z. B. "lokale Open-Weight-KI ist schwerer zensierbar/überwachbar") ist ein technisches Faktum. Die Verpackung (z. B. "Regierungen PANIKEN", unbewiesene CIA-/Wikipedia-Geschichten) ist Meinung/Behauptung.
- **Wikifiziere den Kern mit sauberer Quelle** (z. B. Simon Willison, in-Group-Diskussionen über Ollama/Unsloth), **nicht** als Enthüllung der unzuverlässigen Quelle.
- **Kein reflexartiges Editorial-Caveat:** Politische/ökonomische Positionen von interviewten Denkern NICHT als "Meinung" labeln, wenn sie analytisch aus deren Argumentation folgen. Trennlinie: "Teil der Argumentation?" — nicht "Mainstream?".
- **Distributions-Format ≠ Inhalts-Caveat:** Wenn ein Distributions-Format (Werbe-Channel, Tech-Influencer) ein Faktum ist, als Fakt benennen — aber NICHT als implizites Argument gegen die transportierten Inhalte (genetischer Fehlschluss / Ad-Hominem-Risiko).
---
## 8. Git Commit Conventions
```
{type}({scope}): {kurzbeschreibung}
type: ingest | wiki-update | lint | schema | chore
scope: raw | wiki/concepts | wiki/tools | wiki/decisions | wiki/ideas | schema
```
Beispiele:
```
ingest(subconscious): plur1bus-priority-fix
wiki-update(ideas): added new accepted outcome
schema(ideas): add idea frontmatter template
lint(wiki): found 3 orphan pages, missing cross-refs
```
---
## 9. Lint & Health Check
- **Mechanischer Lint:** `scripts/wiki-lint.sh` (deterministisch, kein LLM im Detection-Pfad). Output: `scripts/wiki-lint-report.md`. Exit 1 bei Issues.
- **Wiki-Link-Checker:** `scripts/check-wiki-links.py` validiert alle `[[...]]` Wikilinks. Exit 1 bei broken links. Auto-Fix: `scripts/fix-wiki-links.py`.
- **Pre-Commit-Hook:** `.git/hooks/pre-commit` ruft `check-wiki-links.py` vor jedem Commit. Installation: `cp scripts/.check-wiki-links-wrapper.sh .git/hooks/pre-commit && chmod +x .git/hooks/pre-commit`.
---
## 10. Maintenance-ToDos
- Läuft über `wiki/tasks/maintenance-todo.md` (versioniert)
- IDs: `WMT-XXX` | Status: `planning → in-progress → done`
- On-Demand-Trigger: Im RamaDama-Topic `wiki-do WMT-XXX` schreiben
- Subagent-Templates: `scripts/subagents/{name}.md`
- Failover-Modellkette: `ollama/glm-5.1 → ollama/minimax-m3 → ollama/deepseek-v4-flash:cloud → ollama/glm-5`
---
## 11. Erste Schritte für Herman
1. **Clone:** `git clone https://vmd185580.tailf38284.ts.net/hector-bot/knowledge-base.git`
2. **Schema lesen:** `knowledge-base/AGENTS.md` (verbindlich, VOR jeder Änderung)
3. **Kontext lesen:** `README.md`, `wiki/index.md`, `wiki/log.md`
4. **Pre-Commit-Hook installieren** (siehe §9)
5. **Rohdaten sammeln:** Links aus aktuellem Chat → als raw-Dateien ablegen
6. **Ingest-Run:** Agent verarbeitet raw/ → wiki/
---
*Übergeben von Hector an Herman — 2026-08-28. Schema-Version: 1.5 (2026-06-17).*