mindnet/docs/knowledge_design.md
Lars e26493ef5a
All checks were successful
Deploy mindnet to llm-node / deploy (push) Successful in 3s
docs/knowledge_design.md aktualisiert
2025-09-02 18:30:19 +02:00

19 KiB
Raw Blame History

title id type status version created updated tags owner
mindnet Knowledge Design design-knowledge-architecture guide active 1.2.0 2025-09-02 2025-09-02
type/guide
area/mindnet
topic/obsidian
topic/knowledge-architecture
Ich

mindnet Knowledge Design

1. Gesamtziel, Anspruch & Nutzen

Ziel:
mindnet ist ein persönliches Wissensnetzwerk, das alle relevanten Inhalte Gedanken, Erfahrungen, Aufgaben, Projekte, Quellen, Personen, Meetings, Tagebuch/Journal, Wendepunkte und Leitbilder einheitlich in Markdown + YAML ablegt. Es bildet einen Spiegel der Persönlichkeit (Werte, Überzeugungen, Erlebnisse) und ist zugleich so strukturiert, dass Tools (Dataview, Embeddings, Vektorsuche/Qdrant, Agenten) es maschinenlesbar nutzen können.

Anspruch an die Struktur:

  • Stabil: robuste IDs, deterministische Dateinamen, konsistente Feldnamen
  • Atomar: ein Kerninhalt pro Datei (keine Sammelcontainer)
  • Erweiterbar: neue Typen (z. B. milestone, manifesto) jederzeit möglich
  • Portabel: reines Markdown + YAML → funktioniert in Obsidian, Git und Parsern
  • Vernetzbar: systematische Links/Backlinks erzeugen ein sinnvoll navigierbares Netz
  • Parser-freundlich: wiederkehrende Abschnittsüberschriften; Felder/Enums klar definiert

Späterer Nutzen / Einsatzzwecke:

  • Schnelles Wiederfinden: Dataview-Abfragen, Filter, Dashboards
  • Selbstreflexion & Entwicklung: persönliche Werte, Wendepunkte, Kinderentwicklung, Lernpfade
  • Automatisierung: Vektor-Index (Qdrant), Embeddings, LLM-Q&A, Agenten-Workflows
  • Langfristiges Gedächtnis: eigene Lebens-/Projektchronik reproduzierbar pflegen
  • Aufgaben-/Projektsteuerung: im selben System, vernetzt mit Kontextwissen

2. YAML-Frontmatter-Schema

Pflichtfelder: title, id, type, status, created, tags
Empfohlen: updated, area, project, priority, aliases (u. a.)

2.1 Feldübersicht

Feld Typ Bedeutung Beispiel(e)
title string Menschlich lesbarer Titel "Vektorsuche in Qdrant"
id string (slug/identifier) Stabile technische ID (nie umbenennen) "20250902-1710-thought-obsidian-struktur", "concept-persoenliches-leitbild"
type enum Notiz-Typ thought, experience, task, project, source, concept, person, meeting, journal, milestone
status enum Lebenszyklus idea, draft, active, paused, blocked, done, archived
created date/datetime Erstellzeitpunkt 2025-09-02 oder 2025-09-02T17:10:00+02:00
updated date/datetime Letzte inhaltliche Änderung 2025-09-02T18:05:00+02:00
tags string[] Schlagwörter gemäß Taxonomie ["area/mindnet","topic/obsidian","type/thought"]
area enum/string Lebens-/Arbeitsbereich mindnet, family, karate, travel, health, home-automation, …
role string Rolle/Hut (Filter) "father", "researcher", "project-owner"
project string Zugehöriges Projekt (ID oder sprechend) "project-mindnet"
priority int (15) 1 = hoch, 5 = niedrig 2
effort_min int Aufwand in Minuten (für task) 90
due date Fälligkeit (Task/Projekt) 2025-09-10
start date geplanter Start (Task/Projekt) 2025-09-05
people string[] (Wikilinks erlaubt) Beteiligte Personen ["Ich","[[person-kathie]]"]
location string Ort/Platz "Home Office", "München"
source_url url Kanonische URL (für source) "https://qdrant.tech/docs/"
authors string[] Autoren (für source) ["Jane Doe"]
published date Veröffentlichungsdatum (für source) 2024-11-20
accessed date Zugriffsdatum (für source) 2025-09-02
aliases string[] Alternative Namen/Titel ["Manifest","Leitbild"]
related_ids string[] ID-basierte Verknüpfungen ["concept-persoenliches-leitbild"]
embedding_exclude boolean Von Embeddings/Index ausschließen false

2.2 Konventionen

  • IDs: entweder Zeitstempel-basiert (YYYYMMDD-HHMM-type-slug) oder stabile, sprechende (concept-*, project-*, person-*).
  • Datums-/Zeitformat: ISO 8601, Zeiten möglichst mit TZ (z. B. +02:00).
  • Felder: klein geschrieben; zusammengesetzte Felder in snake_case.

2.3 Minimalbeispiel Frontmatter

---
title: "Kurzer, klarer Gedanke"
id: "20250902-1715-thought-klarer-gedanke"
type: "thought"
status: "idea"
created: 2025-09-02T17:15:00+02:00
updated: 2025-09-02T17:15:00+02:00
tags: ["area/mindnet","type/thought","topic/obsidian"]
---

2.4 Enum-Werte

Zur Sicherstellung der Konsistenz werden für bestimmte Felder feste Wertemengen (Enums) verwendet:

  • type

    • idea spontane Gedanken, Inspirationen
    • experience persönliche Erfahrungen, Reflexionen
    • task konkrete Aufgaben
    • project Projekte, bestehend aus mehreren Tasks
    • concept abstrakte Konzepte, Modelle, Methoden
    • milestone wichtige Ereignisse oder Wendepunkte
    • person Personen (z. B. Kontakte, Vorbilder)
    • meeting Besprechungen, Treffen, Gespräche
    • resource externe Quellen (Artikel, Bücher, Links)
    • journal Tagebuchnotizen
  • status

    • open
    • in-progress
    • done
    • blocked
    • canceled
  • priority

    • low
    • medium
    • high
  • area (Beispiele erweiterbar)

    • personal
    • work
    • family
    • karate
    • health
    • finance

3. Dateinamen-Konventionen

Keine Sonderzeichen wie : / \ im Dateinamen.

  • Zeitbasierte Notizen (Gedanken, Journal, tagesgebundene Einträge):
    YYYYMMDD-HHMM-<type>-<slug>.md
    Beispiel: 20250902-1710-thought-obsidian-struktur.md

  • Zeitunabhängige Wissensknoten (Konzepte, Personen, Projekte, Leitbild):
    <type>-<slug>.md
    Beispiele: concept-vektorsuche-qdrant.md, project-mindnet.md, person-kathie.md, concept-persoenliches-leitbild.md

  • Ordnerstruktur (Empfehlung): 00_inbox/ 10_thoughts/ 20_experiences/ 30_projects/ 31_tasks/ 40_concepts/ 50_sources/ 60_people/ 70_meetings/ 80_journal/ 90_templates/ _attachments/ _meta/


4. Tagging-Regeln & Taxonomie

  • Hierarchische Tags:
    • area/* Lebens-/Arbeitsbereiche: area/mindnet, area/family, area/karate, area/health, …
    • type/* optionaler Spiegel von type: type/thought, type/experience, …
    • topic/* thematische Schwerpunkte: topic/obsidian, topic/yaml, topic/qdrant, topic/werte, …
    • optional: place/*, person/*, level/* (z. B. person/rouven, person/rohan)
  • Regeln:
    • Jede Notiz hat mindestens ein area/*.
    • topic/* sparsam, aber konsistent; ein Mapping in _meta/tags.md pflegen.
    • Möglichst keine losen Ein-Wort-Tags ohne Präfix (verhindert Wildwuchs).

  • Wikilinks verwenden: [[stabile-id-oder-dateiname]]

  • Im Fließtext bei erster Nennung verlinken; am Ende die Sektion „Mögliche Verbindungen“ pflegen:

    Mögliche Verbindungen

  • Linkrichtung: „aufwärts“ (Detail → Konzept/Leitbild) und „seitwärts“ (verwandte Knoten).

  • Optional zusätzlich ID-Relationen im YAML (related_ids) für Parser.

5.1 Edge-Typen

Beziehungen zwischen Notizen, Chunks und Objekten werden als Edges gespeichert. Jeder Edge erhält einen type und optionale meta-Informationen (z. B. Gewichtung, Richtung).

  • belongs_to
    Chunk → Note (ein Chunk gehört zu genau einer Note)

  • references
    Note → Note (eine Notiz verweist auf eine andere)

  • backlink
    Automatisch generiert: Gegenkante von references

  • depends_on
    Task → Task oder Task → Project (Aufgabe hängt von anderer ab)

  • assigned_to
    Task → Person (eine Aufgabe ist einer Person zugeordnet)

  • discussed_in
    Note/Concept → Meeting (ein Thema wurde in einem Meeting behandelt)

  • authored_by
    Note → Person (z. B. externer Autor oder eigene Urheberschaft)

  • related
    Generische Relation für schwache Assoziationen


6. Abschnitts-Konventionen im Body

Einheitliche Überschriften erleichtern spätere Parser und Abfragen.

  • Gedanke (thought)
    ## Zusammenfassung · ## Begründung / Details · ## Belege / Quellen · ## Nächste Schritte · ## Mögliche Verbindungen
  • Erfahrung (experience)
    ## Kontext · ## Beobachtung · ## Interpretation · ## Implikationen · ## Mögliche Verbindungen
  • Aufgabe (task)
    ## Checkliste · ## Notizen · ## Mögliche Verbindungen
  • Projekt (project)
    ## Scope · ## Arbeitspakete · ## Risiken & Gegenmaßnahmen · ## Status / Fortschritt · ## Mögliche Verbindungen
  • Journal (journal)
    ## Tageszusammenfassung · ## Highlights · ## Gelernt / Notizen · ## Mögliche Verbindungen

7. Abbildung persönlicher Inhalte auf Typen

  • Persönliches Leitbildtype: "concept" (oder optional neuer Typ manifesto)
    Datei: concept-persoenliches-leitbild.md (zeitunabhängig)
    Verlinkt zu prägenden Erfahrungen und Wendepunkten.
  • Erfahrungen, die dich geprägt habentype: "experience"
    Je eine prägende Erfahrung pro Datei; klarer Kontext + Interpretation.
  • Wendepunkte im Lebentype: "milestone"
    Je Wendepunkt ein Knoten; verlinkt zu den auslösenden Erfahrungen.
  • Aktuelle Erfahrungentype: "experience", status: "active"
    Bei Bedarf später in „prägende“ Erfahrungen überführen.
  • Entwicklungsschritte der Kindertype: "journal" (chronologisch) oder experience (wenn es prägend ist); Tags person/<name>.
  • Tagebucheinträgetype: "journal"; ein Eintrag pro Tag; tagesbasierte Dateinamen.

Damit entsteht ein netzartiges Persönlichkeitsprofil mit klaren Pfaden zwischen Werten (Leitbild), Ereignissen (Erfahrungen), Wendepunkten und fortlaufenden Beobachtungen (Journal).


8. Beispiel-Notizen

8.1 Gedanke (thought)

---
title: "Gedanke: Einheitliche YAML-Standards steigern Recall"
id: "20250902-1830-thought-yaml-recall"
type: "thought"
status: "idea"
created: 2025-09-02T18:30:00+02:00
updated: 2025-09-02T18:30:00+02:00
tags: ["area/mindnet","type/thought","topic/yaml","topic/recall"]
area: "mindnet"
project: "project-mindnet"
aliases: []
---

## Zusammenfassung
Konsistente YAML-Felder verbessern Filter, Dataview-Queries und Vektor-Retrieval.

## Begründung / Details
- Parser benötigen stabile Feldnamen (z. B. `type`, `status`).
- Einheitliche Werte erleichtern Dashboards und Automationen.

## Belege / Quellen
- [[source-obsidian-properties]]
- [[concept-vektorsuche-qdrant]]

## Nächste Schritte
- [ ] `tags`-Mapping in `_meta/tags.md` erstellen
- [ ] Beispiel-Queries für Dataview hinterlegen

## Mögliche Verbindungen
- [[project-mindnet]]
- [[20250902-1730-task-yaml-standard-migration]]

8.2 Erfahrung (experience)

---
title: "Erfahrung: Journal → Erfahrung extrahieren erhöht Klarheit"
id: "20250902-1840-experience-journal-extraktion"
type: "experience"
status: "active"
created: 2025-09-02T18:40:00+02:00
updated: 2025-09-02T18:40:00+02:00
tags: ["area/personal","type/experience","topic/journal","topic/reflexion"]
area: "personal"
project: "project-mindnet"
---

## Kontext
Wiederkehrende Journaleinträge enthalten Rohmaterial für prägende Einsichten.

## Beobachtung
Wird Material regelmäßig zu `experience`-Knoten verdichtet, sind spätere Bezüge einfacher.

## Interpretation
Abstraktion + Verlinkung (z. B. auf [[concept-persoenliches-leitbild]]) erhöhen Nutzen und Wiederfindbarkeit.

## Implikationen
Pro Woche 1530 Minuten „Verdichtungs-Review“ einplanen.

## Mögliche Verbindungen
- [[journal-20250902]]
- [[concept-persoenliches-leitbild]]

8.3 Aufgabe (task)

---
title: "Task: YAML-Standard in Altbeständen ergänzen"
id: "20250902-1850-task-yaml-migration"
type: "task"
status: "active"
created: 2025-09-02
updated: 2025-09-02
due: 2025-09-10
start: 2025-09-03
priority: 2
effort_min: 120
area: "mindnet"
project: "project-mindnet"
tags: ["area/mindnet","type/task","topic/migration"]
depends_on: []
---

## Checkliste
- [ ] Triage: Notiz-Typ bestimmen
- [ ] Minimal-YAML ergänzen (Pflichtfelder)
- [ ] Dateinamen vereinheitlichen
- [ ] „Mögliche Verbindungen“ pflegen

## Notizen
Beginne mit zuletzt genutzten Notizen (Pareto 20/80).

## Mögliche Verbindungen
- [[project-mindnet]]
- [[20250902-1830-thought-yaml-recall]]

9. Schrittweise Migration bestehender freier Notizen

Phase A Triage (schnell)

  1. Sichtung & Typ bestimmen (type).
  2. Minimal-YAML einfügen (title, id, type, status=draft, created≈Dateidatum, tags).
  3. Dateiname grob anpassen (Schema + Slug).

Phase B Strukturieren (fokussiert)

  1. Abschnitte nach Typ-Template ergänzen.
  2. Zerlegen: mehrere Gedanken/Ereignisse → je eigene Datei, ursprüngliche Datei wird zum Index mit Links.
  3. Verlinken: relevante [[Knoten]] + „Mögliche Verbindungen“ pflegen.

Phase C Verfeinern (bei Bedarf)

  1. Status & Felder pflegen (status, priority, due, effort_min).
  2. Tag-Harmonisierung: Mapping-Tabelle pflegen (_meta/tags.md).
  3. Aliases ergänzen (Such-/Linkvarianten).

Priorisierung: Starte mit aktuellen & häufig genutzten Notizen (Pareto-Prinzip), Altbestände nachziehen, wenn sie wieder gebraucht werden.


10. Dataview-Beispiele (direkt nutzbar)

Offene Aufgaben dieser Woche (nach Priorität):

TABLE due, priority, effort_min
FROM "31_tasks"
WHERE type = "task" AND status != "done"
  AND due >= date(today) - dur(1 week)
  AND due <= date(today) + dur(1 week)
SORT priority ASC, due ASC

Aktive Projekte mit Meilensteinen:

LIST
FROM "30_projects"
WHERE type = "project" AND status = "active"
SORT priority ASC, file.ctime DESC

Gedanken im Bereich mindnet, jüngste zuerst:

TABLE created, status
FROM "10_thoughts"
WHERE type = "thought" AND area = "mindnet"
SORT created DESC
LIMIT 50

Quellen ohne source_url (Pflegebedarf):

TABLE title, created
FROM "50_sources"
WHERE type = "source" AND (source_url = "" OR !source_url)

11. Validierung & Pflege

  • Wöchentlicher Review-Slot (1530 Min.):
    • Neue Notizen triagieren (type, status, area)
    • 5 Alt-Notizen migrieren (YAML + Dateiname + Verlinkung)
  • Dataview-Checks: fehlende source_url, offene Tasks, aktive Projekte, veraltete status.
  • Optional (technisch):
    • Pre-commit Hook: prüft Pflichtfelder (title, id, type, status, created, tags)
    • ID-Generator: YYYYMMDD-HHMM-type-slug bei Neuanlage
    • Link-Linter: prüft tote [[Links]]

12. Versions- & Änderungsrichtlinien

  • Dieses Dokument pflegt version & updated.
  • Breaking Changes (z. B. Feldumbenennungen) in _meta/changelog.md dokumentieren.
  • Migrationen (Tag-Refactorings, Typänderungen) als Skript oder Batch-Checkliste planen.

13. Typen-Kurzreferenz

  • thought Gedanke/These
  • experience Beobachtung/Erfahrung mit Interpretation & Implikationen
  • task umsetzbare Arbeitseinheit (mit due, effort_min, priority)
  • project Container für Ziele/Tasks/Meilensteine
  • source externe Quelle (Artikel, Buch, Video)
  • concept definierter Begriff / Prinzip / Leitbild
  • person Bezugsperson/Kontakt
  • meeting Termin mit Agenda, Notizen, erzeugten Aufgaben
  • journal Tagebuch-/Reiseeintrag (tagesbasiert)
  • milestone Wendepunkt / Meilenstein im Lebens-/Projektverlauf

14 Erweiterungen

Zukünftige Typen möglich (z. B. decision, recommendation).

Personalisierung durch zusätzliche Properties (values, goals)