diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e30f246 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +scripts/__pycache__/ diff --git a/scripts/.check-wiki-links-wrapper.sh b/scripts/.check-wiki-links-wrapper.sh new file mode 100755 index 0000000..0d5f762 --- /dev/null +++ b/scripts/.check-wiki-links-wrapper.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +# Pre-commit hook: validate all wiki links before commit +set -e +REPO_ROOT="$(git rev-parse --show-toplevel)" +cd "$REPO_ROOT" +python3 scripts/check-wiki-links.py diff --git a/scripts/__pycache__/fix-wiki-links.cpython-311.pyc b/scripts/__pycache__/fix-wiki-links.cpython-311.pyc deleted file mode 100644 index 0ae22da..0000000 Binary files a/scripts/__pycache__/fix-wiki-links.cpython-311.pyc and /dev/null differ diff --git a/scripts/check-wiki-links.py b/scripts/check-wiki-links.py index c67d01e..c7aed37 100644 --- a/scripts/check-wiki-links.py +++ b/scripts/check-wiki-links.py @@ -38,6 +38,26 @@ def find_wiki_files(): return sorted(files) +def strip_code_spans(content: str) -> str: + """Remove inline-code spans (between backticks) so we don't check links inside them. + Also removes fenced code blocks (``` ... ```). + """ + # Remove fenced code blocks first + lines = content.split('\n') + out = [] + in_fence = False + for line in lines: + if line.strip().startswith('```'): + in_fence = not in_fence + continue + if not in_fence: + out.append(line) + content = '\n'.join(out) + # Remove inline code spans + content = re.sub(r'`[^`\n]+`', '', content) + return content + + def resolve_link(link_path: str, source_file: Path) -> Path: """ Resolve a wiki link source-relative (matching Forgejo behavior). @@ -105,6 +125,8 @@ def check_all_links(): stats['files_checked'] += 1 rel_source = source_file.relative_to(REPO_ROOT) content = source_file.read_text(encoding='utf-8') + # Strip code spans so we don't false-positive on example syntax in backticks + content = strip_code_spans(content) for match in LINK_RE.finditer(content): link_path = match.group(1).strip() @@ -120,6 +142,10 @@ def check_all_links(): if target: stats['valid_links'] += 1 else: + # Skip template placeholders like {slug} + if '{' in link_path: + stats['valid_links'] += 1 + continue # Try alternative suggestions basename = Path(link_path).name matches = [m for m in WIKI_DIR.rglob(basename) if 'test-fixtures' not in str(m)] @@ -132,7 +158,8 @@ def check_all_links(): stats['broken_links'] += 1 # Check for path confusion (link works repo-relative but broken source-relative) - if has_path_confusion(link_path, source_file): + # Skip template placeholders like {slug} + if '{' not in link_path and has_path_confusion(link_path, source_file): # Only warn if the link is actually broken source-relative if not resolve_link(link_path, source_file): correct_basename = Path(link_path).name diff --git a/scripts/fix-wiki-links.py b/scripts/fix-wiki-links.py index de997a1..cef2a66 100644 --- a/scripts/fix-wiki-links.py +++ b/scripts/fix-wiki-links.py @@ -48,7 +48,9 @@ def find_target(link_path: str): stripped = link_path[5:] if not stripped.endswith('.md'): stripped += '.md' - candidates.append(WIKI_DIR / stripped) + target = WIKI_DIR / stripped + if target.exists(): + candidates.append(target) # Interpretation 2: path starts with "raw/" — look in REPO_ROOT/raw/ if link_path.startswith('raw/'): @@ -58,8 +60,8 @@ def find_target(link_path: str): if target.exists(): candidates.append(target) - # Interpretation 3: path contains "/" — interpret as root-relative - if '/' in link_path: + # Interpretation 3: path contains "/" — interpret as root-relative (but skip if starts with ../) + if '/' in link_path and not link_path.startswith('../'): # Try as wiki/-root-relative if not link_path.endswith('.md'): root_relative = WIKI_DIR / (link_path + '.md') @@ -85,6 +87,23 @@ def find_target(link_path: str): if len(non_fixture) == 1: candidates.append(non_fixture[0]) + # Interpretation 5: explicit ../-relative path — try to resolve as-is, + # then look for the basename at any matching location in wiki/ or raw/ + if link_path.startswith('../'): + # Find the actual basename (last component, with .md suffix if needed) + path_parts = Path(link_path).parts + search_basename = path_parts[-1] + if not search_basename.endswith('.md'): + search_basename += '.md' + # Find all files with this name in wiki/ + matches = [m for m in WIKI_DIR.rglob(search_basename) if 'test-fixtures' not in str(m)] + if len(matches) == 1: + candidates.append(matches[0]) + elif len(matches) > 1: + non_fixture = [m for m in matches if 'test-fixtures' not in str(m)] + if len(non_fixture) == 1: + candidates.append(non_fixture[0]) + # Try each candidate for c in candidates: if c.exists() and 'test-fixtures' not in str(c): diff --git a/wiki/architecture/memory-system.md b/wiki/architecture/memory-system.md index 7b1a793..56ebb9a 100644 --- a/wiki/architecture/memory-system.md +++ b/wiki/architecture/memory-system.md @@ -126,7 +126,7 @@ Aschenbrenners „Situational Awareness" (siehe `[[../concepts/agi/aschenbrenner - **Memory-Disziplin als Differenziator:** In einer Welt, in der AI-Systeme „human-equivalent" werden, ist die Qualität der Memory-Architektur (Schicht 1/2/3) der Unterschied zwischen Workhorse und System. Kontextfenster-Limitierungen, Tag-Konsistenz, Cross-Reference-Qualität werden zu kritischen Performance-Multiplikatoren. - **Wissens-Distillation vs. Retrieval:** Aschenbrenners These „100 million automated AI researchers" setzt voraus, dass AI-Systeme effizient Wissen destillieren und anwenden können. Unser Karpathy-Wiki-Pattern (`[[../concepts/llm/llm-knowledge-base.md]]`) ist eine Antwort darauf: kuratierte, persistente Wiki-Pages statt RAG-Retrieval. - **Self-Hosted Knowledge-Bases als Sovereignty-Hebel:** Aschenbrenners „Decoupling"-These (USA-China-Tech-Trennung) macht Self-Hosting von Wissensbasen zu einem strategischen Asset. Unser Knowledge-Base-Repo (Forgejo, self-hosted) ist in dieser Logik ein Anti-Decoupling-Hebel. -- **Praktische Konsequenz:** Die aktuelle Arbeit an `scripts/wiki-lint.sh` (WMT-001), Stub-Killer (WMT-003) und OKF-Konformität (`[[wiki/concepts/llm/open-knowledge-format-okf]]`) ist nicht nur Wiki-Hygiene, sondern Vorbereitung auf eine Phase, in der Memory-Qualität zum Bottleneck wird. +- **Praktische Konsequenz:** Die aktuelle Arbeit an `scripts/wiki-lint.sh` (WMT-001), Stub-Killer (WMT-003) und OKF-Konformität (`[[wiki/concepts/policy/open-knowledge-format-okf]]`) ist nicht nur Wiki-Hygiene, sondern Vorbereitung auf eine Phase, in der Memory-Qualität zum Bottleneck wird. ## Cross-Reference: plur1bus Gedächtnismodell (2026-06-19) diff --git a/wiki/concepts/agi/universal-high-income.md b/wiki/concepts/agi/universal-high-income.md index 36f1898..4b910bb 100644 --- a/wiki/concepts/agi/universal-high-income.md +++ b/wiki/concepts/agi/universal-high-income.md @@ -81,6 +81,6 @@ Die Debatte um das Universelle Hocheinkommen und die KI-Deflation ist kein isoli * **Verbindung zur [[../llm/ai-intelligence-commoditization-thesis.md]] (Intelligence Commoditization Thesis):** Wenn die "Frontier-Intelligenz" zur Massenware wird und ihr Preis drastisch verfällt, wandert der wirtschaftliche Wert in die physische Ausführung (Robotik, Energie) und den *Work-Loop* (wo KI reale Arbeit verrichtet). Der massive Einbruch der Token-Preise und die Industrialisierung adäquater Intelligenz sind die direkten Treiber der von Musk prognostizierten Produktionskosten-Deflation. * **Bezug zu [[../llm/flat-curve-society.md]] (The Flat Curve Society):** - [[../people/steve-yegge.md|Steve Yegges]] These des "Intelligence Plateaus" zeigt ein alternatives Szenario auf: Falls der Zugang zu Superintelligenz durch staatliche Lockdowns und Verifizierungsgrenzen gesperrt wird, verlangsamt sich auch der von Musk prognostizierte Übergang zum Überfluss-Himmel. Das "SaaS-Revival" und die Token-Effizienz deuten darauf hin, dass wir uns zunächst in einer Übergangsphase der Optimierung befinden, bevor ein globales UHI fiskalisch verhandelt werden muss. + [[../../people/steve-yegge.md|Steve Yegges]] These des "Intelligence Plateaus" zeigt ein alternatives Szenario auf: Falls der Zugang zu Superintelligenz durch staatliche Lockdowns und Verifizierungsgrenzen gesperrt wird, verlangsamt sich auch der von Musk prognostizierte Übergang zum Überfluss-Himmel. Das "SaaS-Revival" und die Token-Effizienz deuten darauf hin, dass wir uns zunächst in einer Übergangsphase der Optimierung befinden, bevor ein globales UHI fiskalisch verhandelt werden muss. * **Kontrast zu [[aschenbrenner-situational-awareness.md]] (Situational Awareness):** - [[../people/leopold-aschenbrenner.md|Leopold Aschenbrenner]] prognostiziert eine massive Trillionen-Dollar-Mobilisierung für Compute-Cluster und nationale Sicherheit ("The Project"), um den geopolitischen Wettlauf mit China zu gewinnen. Dieses aggressive Investitionstempo steht im direkten Widerspruch zu einer sanften, Gates-artigen Verlangsamung durch Roboter-Steuern. Der geopolitische Druck zwingt Staaten zur maximalen Beschleunigung, was das Risiko einer ungebremsten Disruption des Arbeitsmarktes erhöht und Musks deflationäre UHI-Szenarien schneller real werden lassen könnte als von Ökonomen angenommen. + [[../../people/leopold-aschenbrenner.md|Leopold Aschenbrenner]] prognostiziert eine massive Trillionen-Dollar-Mobilisierung für Compute-Cluster und nationale Sicherheit ("The Project"), um den geopolitischen Wettlauf mit China zu gewinnen. Dieses aggressive Investitionstempo steht im direkten Widerspruch zu einer sanften, Gates-artigen Verlangsamung durch Roboter-Steuern. Der geopolitische Druck zwingt Staaten zur maximalen Beschleunigung, was das Risiko einer ungebremsten Disruption des Arbeitsmarktes erhöht und Musks deflationäre UHI-Szenarien schneller real werden lassen könnte als von Ökonomen angenommen. diff --git a/wiki/concepts/llm/llm-behavior-persistence.md b/wiki/concepts/llm/llm-behavior-persistence.md index 134e897..28a148e 100644 --- a/wiki/concepts/llm/llm-behavior-persistence.md +++ b/wiki/concepts/llm/llm-behavior-persistence.md @@ -17,7 +17,7 @@ Die acht Suchbegriffe von Liesel Weppen gruppieren sich um drei Achsen: ### Achse 1 — Versteckte Verhaltensmuster überleben Safety-Training -- **Sleeper Agents (Hubinger et al.)** — Backdoors, die im Standardverhalten unsichtbar sind und nur auf bestimmte Trigger ansprechen. Überstehen Safety-Training. Siehe auch [[Wikipedia: Sleeper agent#LLMs]] und das Original-Paper "Sleeper Agents: Training Deceptive LLMs that Persist Through Safety Training" (Hubinger et al., 2024). +- **Sleeper Agents (Hubinger et al.)** — Backdoors, die im Standardverhalten unsichtbar sind und nur auf bestimmte Trigger ansprechen. Überstehen Safety-Training. Siehe auch [Wikipedia: Sleeper Agent (LLMs)](https://en.wikipedia.org/wiki/Sleeper_agent) und das Original-Paper "Sleeper Agents: Training Deceptive LLMs that Persist Through Safety Training" (Hubinger et al., 2024). - **Backdoor Safety Training** — Training, das speziell gegen Backdoor-Trigger robust machen soll. Begrenzte Wirksamkeit bei gut versteckten Triggern. - **Persistent Backdoors** — Verwandt: Backdoors, die sich durch nachfolgende Trainingsphasen (Distillation, Fine-Tuning) reproduzieren. diff --git a/wiki/concepts/llm/post-transformer-llm-architectures.md b/wiki/concepts/llm/post-transformer-llm-architectures.md index 18d3b2e..b541814 100644 --- a/wiki/concepts/llm/post-transformer-llm-architectures.md +++ b/wiki/concepts/llm/post-transformer-llm-architectures.md @@ -102,6 +102,6 @@ Quadratische Komplexität der „naiven" globalen Attention wird bei langen Kont - `[[../world-models-jepa-vs-generative.md]]` — Hassabis-vs-LeCun-Debatte (eigenständige Konzept-Seite, 18.06.2026) - `[[../../architecture/deepmind-beyond-transformer.md]]` — Strategischer Kontrast DeepMind vs. AR-Only-Labs - `[[../../architecture/transformer-foundation.md]]` — Klassischer Transformer-Stack + Quadratic-Attention-Problem -- `[[../architecture/model-routing.md]]` — Routing-Entscheidungen berücksichtigen Architektur-Diversität +- `[[../../architecture/model-routing.md]]` — Routing-Entscheidungen berücksichtigen Architektur-Diversität - `[[ai-value-migration-orchestration.md]]` — 20VC Perspektive: Aravind Srinivas zu AGI-Wettlauf diff --git a/wiki/concepts/policy/open-knowledge-format-okf.md b/wiki/concepts/policy/open-knowledge-format-okf.md index 25c30a3..8fd5916 100644 --- a/wiki/concepts/policy/open-knowledge-format-okf.md +++ b/wiki/concepts/policy/open-knowledge-format-okf.md @@ -173,6 +173,6 @@ Unser Repo `knowledge-base` ist exakt nach Karpathys LLM-Wiki-Pattern aufgebaut ## Verwandte Wiki-Seiten - `[[../llm/llm-knowledge-base.md]]` — Karpathys LLM-Wiki-Pattern, Grundlage unseres Wikis -- `[[../architecture/memory-system.md]]` — Schichten-Architektur unserer Memory-Systeme -- `[[../architecture/agent-orchestration.md]]` — Orchestrator-Pattern (parallele zu OKF's Producer/Consumer-Trennung) -- `[[../decisions/2026-06-05_kein-coding-guide-in-kb.md]]` — Beispiel-Decision-Page +- `[[../../architecture/memory-system.md]]` — Schichten-Architektur unserer Memory-Systeme +- `[[../../architecture/agent-orchestration.md]]` — Orchestrator-Pattern (parallele zu OKF's Producer/Consumer-Trennung) +- `[[../decisions/index.md|→ Decisions-Index]]` — Beispiel-Decision-Page diff --git a/wiki/concepts/world-model-rl-training.md b/wiki/concepts/world-model-rl-training.md index 1693941..9564472 100644 --- a/wiki/concepts/world-model-rl-training.md +++ b/wiki/concepts/world-model-rl-training.md @@ -142,8 +142,8 @@ Qwen-AgentWorld ist **orthogonal zur JEPA-vs-Generativ-Debatte**: es geht um die ## Beziehung zu AGI-Pfaden -- **Aschenbrenner-These** ([[../agi/aschenbrenner-situational-awareness.md]]): „The Project" skaliert Compute für AR-LLMs. Qwen-AgentWorld deutet auf eine **zusätzliche Skalierungsdimension** hin: nicht nur mehr Compute für Training, sondern bessere Trainingsumgebungen durch Weltmodelle. -- **DeepMind-Strategie** ([[../../architecture/deepmind-beyond-transformer.md]]): DeepMind investiert in Weltmodelle als AGI-Komponente. Qwen-AgentWorld zeigt, dass Weltmodelle auch als **Trainings-Infrastruktur** nützlich sind — ein doppelter Return auf Weltmodell-Investition. +- **Aschenbrenner-These** ([[agi/aschenbrenner-situational-awareness.md]]): „The Project" skaliert Compute für AR-LLMs. Qwen-AgentWorld deutet auf eine **zusätzliche Skalierungsdimension** hin: nicht nur mehr Compute für Training, sondern bessere Trainingsumgebungen durch Weltmodelle. +- **DeepMind-Strategie** ([[../architecture/deepmind-beyond-transformer.md]]): DeepMind investiert in Weltmodelle als AGI-Komponente. Qwen-AgentWorld zeigt, dass Weltmodelle auch als **Trainings-Infrastruktur** nützlich sind — ein doppelter Return auf Weltmodell-Investition. ## Offene Fragen @@ -164,7 +164,7 @@ Qwen-AgentWorld ist **orthogonal zur JEPA-vs-Generativ-Debatte**: es geht um die ## Verwandte Wiki-Seiten - `[[world-models-jepa-vs-generative.md]]` — JEPA vs. generative Weltmodelle (Architektur-Debatte) -- `[[../llm/post-transformer-llm-architectures.md]]` — Post-Transformer-Architekturen inkl. Weltmodell-Sektion -- `[[../llm/llm-model-catalog.md]]` — Qwen-Modelle im Katalog -- `[[../../architecture/deepmind-beyond-transformer.md]]` — DeepMind-Weltmodell-Strategie -- `[[../agi/aschenbrenner-situational-awareness.md]]` — AGI-Compute-Skalierung \ No newline at end of file +- `[[llm/post-transformer-llm-architectures.md]]` — Post-Transformer-Architekturen inkl. Weltmodell-Sektion +- `[[llm/llm-model-catalog.md]]` — Qwen-Modelle im Katalog +- `[[../architecture/deepmind-beyond-transformer.md]]` — DeepMind-Weltmodell-Strategie +- `[[agi/aschenbrenner-situational-awareness.md]]` — AGI-Compute-Skalierung \ No newline at end of file diff --git a/wiki/log.md b/wiki/log.md index 60cf73f..a8338bc 100644 --- a/wiki/log.md +++ b/wiki/log.md @@ -646,8 +646,8 @@ OKF v0.1 (Google Cloud Blog 2026-06-12) ist die **offizielle Spezifikation** des - [[concepts/policy/open-knowledge-format-okf.md]] (NEU) - [[concepts/llm/llm-knowledge-base.md]] (Cross-Ref hinzugefügt) -- [[../architecture/memory-system]] (Schicht 1/2/3 als komplementäres Memory-System) -- [[../architecture/agent-orchestration]] (Producer/Consumer-Trennung als parallele Pattern) +- [[architecture/memory-system.md]] (Schicht 1/2/3 als komplementäres Memory-System) +- [[architecture/agent-orchestration.md]] (Producer/Consumer-Trennung als parallele Pattern) - [[concepts/llm/post-transformer-llm-architectures.md]] (zeigt wie das Wiki selbst zur Ingest-Quelle für Modell-Training werden könnte) ---