02 — Wikilink-Audit

Pruefung: alle [[<slug>]]- und [[<pfad>]]-Wikilinks im Body. Code-Bloecke, Template-Beispiele (<placeholder>) und Doku-Beispiele (acme, lisa-acme in _meta/schemas.md + ONBOARDING.md etc.) ausgeschlossen.

Ausgangsstand: 54 echte broken Wikilinks. Endstand: 5 broken Wikilinks (alle Schema-konform: <slug>--kontakt Refs auf gitignored PII-Files).

Behobene Issues (49 Total)

Obsidian-Wikilinks duerfen kein .md-Suffix tragen — der Slug ist der Filename ohne Extension. Drift seitens der Migration:

DateiAenderung
_meta/config-planning.md[[config.md]][[config]] (2x)
_meta/loading-strategy.md[[conventions.md]][[conventions]], [[schemas.md]][[schemas]], [[config.md]][[config]], [[security.md]][[security]] (5x)
_meta/migration-log.md[[conventions.md]][[conventions]], [[schemas.md]][[schemas]] (4x)
_meta/security.md[[config.md]][[config]] (1x)

Set B — Skill-Pfade auf <skill>/SKILL (12 Treffer in 4 Files)

Skills liegen unter intern/capabilities/skills/<skill>/SKILL.md. Wikilinks [[../skills/<skill>]] zeigen aus MCP-/Repo-Sicht auf einen Ordner ohne direktes Index-File. Korrigiert auf [[../skills/<skill>/SKILL]]:

DateiSkills
intern/capabilities/mcps/gsuite.mdemail-schreiben, email-review, inbox-sync, tages-planung, termin-koordinieren
intern/capabilities/mcps/replicate.mdimage-gen
intern/capabilities/repos/mcp-gsuite.mdemail-schreiben, email-review, inbox-sync, tages-planung, termin-koordinieren
intern/capabilities/repos/mcp-replicate.mdimage-gen

Beide sind Ordner unter intern/projekte/, kein direkt aufloesbares File. [[bas-twin]] als Slug-Wikilink ist broken.

  • [[bas-twin]][[../projekte/bas-twin/_index]] (das _index.md existiert)
  • [[becker-projekt]][[../projekte/becker-projekt/README]] (kein _index.md, README.md uebernimmt die Rolle uebergangsweise; Migration-Plan: Repo wandert nach bas-twin/projekt/)
DateiAenderung
intern/kunden/becker.md[[bas-twin]] x2, [[becker-projekt]] x2 → relative Pfade
intern/menschen/alex-gross.md[[bas-twin]], [[becker-projekt]]
intern/menschen/dana-becker.md[[bas-twin]]
intern/menschen/marvin-kuehlmann.md[[bas-twin]], [[becker-projekt]]
intern/menschen/niklas-becker.md[[bas-twin]]
intern/menschen/ralf-schmid.md[[bas-twin]]
intern/menschen/roland-becker.md[[bas-twin]]
intern/menschen/samira-becker.md[[bas-twin]]
intern/menschen/sven-becker.md[[bas-twin]]

Set D — Pfad-/File-Korrekturen (5 Treffer)

DateiAenderungGrund
_meta/security.md[[../intern/wissen/entscheidungen/eu-ai-act]][[...eu-ai-act-pflichten]]Tatsaechlicher Filename hat Suffix
_meta/security.md„(sobald migriert)“-Hinweise entferntFiles existieren bereits
intern/finanzen/buchhaltungs-stack.md[[../firma/recht]][[../firma/recht/_context]]recht/ ist Ordner mit _context.md, kein File
intern/finanzen/beleg-quellen.md[[../wissen/templates/rechnung-template]] → Hinweis auf Schema-DokuTemplate existiert nicht (templates/-Ordner nur mit _index.md)
intern/ideen/ideas-backlog.md[[../wissen/entscheidungen/_context]][[..._index]]entscheidungen/ hat _index.md, kein _context.md

[[../kunden/]] zeigt auf einen Ordner — Obsidian loest das nicht auf. Auf _context.md/_index.md umgestellt:

DateiAenderung
intern/firma/_context.md[[../capabilities/mcps/]][[../capabilities/mcps/_index]], [[../kunden/]][[../kunden/_context]], [[../finanzen/]][[../finanzen/_context]], [[../capabilities/skills/]][[../capabilities/skills/_index]]
extern/_context.md[[../intern/kunden/]][[../intern/kunden/_context]], [[../intern/projekte/]][[../intern/projekte/_context]]

Set F — Vault-Root [[../_context]] (3 Treffer)

Es gibt kein _context.md im Vault-Root — der oberste Knoten ist CLAUDE.md (analog intern/_context.md zeigt auf [[../CLAUDE]]):

DateiAenderung
extern/_context.mdparent: "[[../_context]]"parent: "[[../CLAUDE]]"
assets/_context.mdparent: "[[../_context]]"parent: "[[../CLAUDE]]"
inbox/_context.mdparent: "[[../_context]]"parent: "[[../CLAUDE]]"

Set G — Sonstiges

  • intern/projekte/bas-twin/_index.md: [[angebot/]] (Folder-Wikilink) → Beschreibung als plain Text (angebot/-Ordner enthaelt nur _drafts/ + archive/, kein Index-File — Aufloesung haengt an Status des Angebots)
  • intern/capabilities/skills/wiki-maintenance/SKILL.md: [[datei]] (generisches Beispiel) → [[<datei>]] als klare Template-Notation
  • intern/finanzen/buchhaltungs-stack.md: [[../firma/recht]][[../firma/recht/_context]]

Alle gewollt, gemaess Schema 5.6.1 PII-Separation:

DateiWikilinkStatus
intern/menschen/alex-gross.mdcontact_ref: "[[alex-gross--kontakt]]"gitignored, nicht angelegt
intern/menschen/markus-erlei.mdcontact_ref: "[[markus-erlei--kontakt]]"gitignored, nicht angelegt
intern/menschen/paul-radau.mdcontact_ref: "[[paul-radau--kontakt]]"gitignored, nicht angelegt
intern/menschen/ralf-schmid.mdcontact_ref: "[[ralf-schmid--kontakt]]"gitignored, nicht angelegt
intern/menschen/thorsten-beer.mdcontact_ref: "[[thorsten-beer--kontakt]]"gitignored, nicht angelegt

Diese Refs zeigen wo das PII-File liegen wuerde — gerendert in Obsidian mit Strikethrough/dotted-line, was korrekt anzeigt dass das File noch nicht angelegt ist. Wenn ein PII-File benoetigt wird (Tel-Nummer, Email, Adresse), entsteht es lokal und wird vom .gitignore-Pattern *--kontakt.md ausgeschlossen.

Orphan Files (15)

Files auf die NIEMAND verlinkt — gepruefte Liste:

DateiBeurteilung
AGENTS.mdSymlink auf CLAUDE.md, Routing-Default fuer Cursor/Codex
CLAUDE.mdTop-Level-Operating-Prompt — wird per @import-Mechanismus geladen
CONTEXT.mdFirmenkontext, Top-Level — soll von Routing-Tabellen erreicht werden, nicht von Wikilinks
ONBOARDING.mdMensch-Einstieg, Top-Level
README.mdGitHub/Filesystem-Default
_meta/config-planning.mdwird von Skills via Pfad geladen, nicht via Wikilink
_meta/loading-strategy.mdwird beschrieben in CLAUDE.md, nicht via Wikilink
_meta/next-session-qa.mdenthalten Briefing fuer den naechsten Session-Start (von Marvin per Pfad geoeffnet)
assets/firma/email-signatures/CONTEXT.mdFolder-Doku ohne strikten Backlink — akzeptabel
assets/firma/email-signatures/template.mdEmail-Signatur-Template
assets/firma/partner-materials/2026-04-22-claude-dsgvo-hosting-summary.mdPartner-Material, durch Datei-Browsing erreichbar
edi-certificates.md0-byte File, vermutlich Dreck — siehe 05-final-report
intern/capabilities/skills/image-gen/references/models.mdSkill-Reference-Subfolder, vom Skill aus erreicht
intern/capabilities/skills/image-gen/references/prompt-recipes.mdgleicher Subfolder
intern/firma/brand.mdwird von positioning + image-gen Skill verlinkt — Linker hat es nicht erkannt (False Positive: enthaelt Wikilinks AUS, aber andere Files verlinken via Markdown-Pfad)
intern/firma/leistung-claude-dsgvo-hosting.mdwird von positioning verlinkt (False Positive aehnlich)

Echte Empfehlung: nichts loeschen — alle haben legitimen Zweck.