Refactor chain inspection logic and improve documentation
- Enhanced chain inspection logic to better handle link completeness and confidence levels based on updated template definitions. - Improved documentation to clarify the functionality and usage of the Mindnet Causal Assistant plugin, including detailed sections on chain inspection features. - Updated tests to ensure accuracy and reliability of the new chain inspection enhancements.
This commit is contained in:
parent
74cacdd41d
commit
b4d2424778
22
Dictionary/analysis_policies.yaml
Normal file
22
Dictionary/analysis_policies.yaml
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
version: 1
|
||||
profiles:
|
||||
discovery:
|
||||
severities:
|
||||
missing_link_constraints: info
|
||||
weak_chain_roles: info
|
||||
unmapped_edge_types: info
|
||||
missing_slot_*: info
|
||||
|
||||
decisioning:
|
||||
severities:
|
||||
missing_link_constraints: warn
|
||||
weak_chain_roles: info
|
||||
unmapped_edge_types: warn
|
||||
missing_slot_*: warn
|
||||
|
||||
audit:
|
||||
severities:
|
||||
missing_link_constraints: warn
|
||||
weak_chain_roles: info
|
||||
unmapped_edge_types: error
|
||||
missing_slot_*: warn
|
||||
153
Dictionary/chain_roles.yaml
Normal file
153
Dictionary/chain_roles.yaml
Normal file
|
|
@ -0,0 +1,153 @@
|
|||
version: 0.2.0
|
||||
context: >
|
||||
Abstraction Layer für Chain-Analyse (Obsidian Plugin):
|
||||
Kanonische Edge-Typen werden stabilen Rollen zugeordnet.
|
||||
Rollen bleiben wenige und stabil; Edge-Typen (Canonicals) können wachsen.
|
||||
Hinweis: Aliases werden im Mindnet-System / Edge Vocabulary auf Canonicals normalisiert.
|
||||
|
||||
roles:
|
||||
|
||||
causal:
|
||||
description: "Direkte Ursache/Wirkung oder Lösung/Problem-Beziehung."
|
||||
edge_types:
|
||||
- caused_by
|
||||
- resulted_in
|
||||
- solvesversion: 0.3.0
|
||||
context: >
|
||||
Abstraction Layer für Chain-Analyse (Obsidian Plugin).
|
||||
Edge-Typen sind (nach Mindnet-Normalisierung) kanonisch.
|
||||
Rollen dienen Template-Matching, Traversal/Scoring und Debug-Explainability.
|
||||
Hinweis: Neue Rollen (temporal/epistemic/normative) beeinflussen Matching erst,
|
||||
wenn Templates diese Rollen in allowed_edge_roles zulassen.
|
||||
|
||||
roles:
|
||||
|
||||
causal:
|
||||
description: "Direkte Ursache/Wirkung bzw. Problem↔Lösung."
|
||||
edge_types:
|
||||
- caused_by
|
||||
- resulted_in
|
||||
- solves
|
||||
- solved_by
|
||||
|
||||
enables_constraints:
|
||||
description: "Voraussetzungen, Abhängigkeiten, Blockaden (Constraints)."
|
||||
edge_types:
|
||||
- depends_on
|
||||
- required_by
|
||||
- blocks
|
||||
- blocked_by
|
||||
|
||||
influences:
|
||||
description: "Beeinflussung/Steuerung ohne harte Kausalität (inkl. Risiko-Signal)."
|
||||
edge_types:
|
||||
- impacts
|
||||
- impacted_by
|
||||
- guides
|
||||
- guided_by
|
||||
- risk_of
|
||||
- has_risk
|
||||
|
||||
provenance:
|
||||
description: "Herkunft/Abstammung/Quelle (lineage)."
|
||||
edge_types:
|
||||
- derived_from
|
||||
- source_of
|
||||
|
||||
epistemic:
|
||||
description: "Begründung/Evidenz/Argumentation (Warum glaube/behaupte ich das?)."
|
||||
edge_types:
|
||||
# bereits im Vocabulary vorhanden
|
||||
- references
|
||||
- referenced_by
|
||||
- based_on
|
||||
- foundation_for
|
||||
# neu empfohlen (kanonisch)
|
||||
- supports
|
||||
- supported_by
|
||||
- contradicts
|
||||
- contradicted_by
|
||||
|
||||
normative:
|
||||
description: "Werte/Prinzipien/Normen: Ausrichtung, Konflikt, Einhaltung, Verletzung."
|
||||
edge_types:
|
||||
# neu empfohlen (kanonisch)
|
||||
- upholds
|
||||
- upheld_by
|
||||
- violates
|
||||
- violated_by
|
||||
# symmetrisch
|
||||
- aligned_with
|
||||
- conflicts_with
|
||||
|
||||
structural:
|
||||
description: "Struktur/Komposition/Tools/Assoziation/Kompetenz (nicht per se kausal)."
|
||||
edge_types:
|
||||
- part_of
|
||||
- consists_of
|
||||
- uses
|
||||
- used_by
|
||||
- related_to
|
||||
- similar_to
|
||||
- implemented_in
|
||||
- implements
|
||||
- experienced_in
|
||||
- expert_for
|
||||
- mastered_by
|
||||
|
||||
temporal:
|
||||
description: "Zeitliche Ordnung/Sequenz (keine Kausalität)."
|
||||
edge_types:
|
||||
- followed_by
|
||||
- preceeded_by
|
||||
|
||||
- solved_by
|
||||
|
||||
enables_constraints:
|
||||
description: "Ermöglicht, begrenzt oder ist Voraussetzung / Blockade."
|
||||
edge_types:
|
||||
- depends_on
|
||||
- required_by
|
||||
- blocks
|
||||
- blocked_by
|
||||
|
||||
influences:
|
||||
description: "Beeinflusst/steuert ohne harte Kausalität (inkl. Risiko-Signal)."
|
||||
edge_types:
|
||||
- impacts
|
||||
- impacted_by
|
||||
- guides
|
||||
- guided_by
|
||||
- risk_of
|
||||
- has_risk
|
||||
|
||||
provenance:
|
||||
description: "Herkunft/Quelle/Evidenz/Referenzen (für Rückwärtsverstehen & Begründungsketten)."
|
||||
edge_types:
|
||||
- derived_from
|
||||
- source_of
|
||||
- based_on
|
||||
- foundation_for
|
||||
- references
|
||||
- referenced_by
|
||||
|
||||
structural:
|
||||
description: "Struktur/Komposition/Tools/Assoziation/Kompetenz (nicht direkt kausal, aber navigationsrelevant)."
|
||||
edge_types:
|
||||
- part_of
|
||||
- consists_of
|
||||
- uses
|
||||
- used_by
|
||||
- related_to
|
||||
- similar_to
|
||||
- implemented_in
|
||||
- implements
|
||||
- experienced_in
|
||||
- expert_for
|
||||
- mastered_by
|
||||
|
||||
temporal:
|
||||
description: "Sequenz / zeitliche Ordnung (keine Kausalität)."
|
||||
edge_types:
|
||||
- followed_by
|
||||
- preceeded_by
|
||||
175
Dictionary/chain_templates.yaml
Normal file
175
Dictionary/chain_templates.yaml
Normal file
|
|
@ -0,0 +1,175 @@
|
|||
version: 0.2.0
|
||||
context: >
|
||||
Chain Templates beschreiben typische Konstellationen als Slots + erlaubte Rollen.
|
||||
Sie dienen der Analyse (Lücken, Pfade, Start-/Endpunkte), nicht zum automatischen Schreiben.
|
||||
Templates sind YAML-driven und werden von Obsidian-Plugin und Mindnet gemeinsam genutzt.
|
||||
|
||||
# -------------------------------------------------------------------
|
||||
# DEFAULTS (optional, permissive):
|
||||
# - Das Plugin kann Felder ignorieren, die es (noch) nicht nutzt.
|
||||
# - Mindnet kann später dieselben Profile-Namen verwenden oder per Mapping adaptieren.
|
||||
# -------------------------------------------------------------------
|
||||
defaults:
|
||||
|
||||
# Matching-Defaults (Plugin v0.4.x kann zumindest required_links/distinct_nodes nutzen)
|
||||
matching:
|
||||
distinct_nodes: true
|
||||
required_links: true
|
||||
max_candidate_nodes: 30
|
||||
max_matches_per_template: 1
|
||||
|
||||
# Rollen-Defaults (Referenz auf chain_roles.yaml Rollen)
|
||||
roles:
|
||||
causal_ish: [causal, influences, enables_constraints]
|
||||
|
||||
# Profile-Defaults: gleiche Templates, unterschiedliche Strenge in der Auswertung
|
||||
profiles:
|
||||
discovery:
|
||||
required_links: false
|
||||
min_slots_filled_for_gap_findings: 2
|
||||
min_score_for_gap_findings: 8
|
||||
decisioning:
|
||||
required_links: true
|
||||
min_slots_filled_for_gap_findings: 3
|
||||
min_score_for_gap_findings: 18
|
||||
|
||||
templates:
|
||||
|
||||
# ================================================================
|
||||
# 1) Core: Trigger → Transformation → Outcome
|
||||
# ================================================================
|
||||
- name: "trigger_transformation_outcome"
|
||||
description: "Wendepunkt/Trigger → innere Veränderung (Insight/Value/Belief) → Ergebnis/Handlung."
|
||||
matching:
|
||||
# Template kann bei Bedarf vom Default abweichen
|
||||
required_links: true
|
||||
distinct_nodes: true
|
||||
slots:
|
||||
- id: trigger
|
||||
allowed_node_types: [experience, event, obstacle, risk, state]
|
||||
- id: transformation
|
||||
allowed_node_types: [insight, belief, value, principle, trait, skill, boundary]
|
||||
- id: outcome
|
||||
allowed_node_types: [decision, project, habit, goal]
|
||||
links:
|
||||
- from: trigger
|
||||
to: transformation
|
||||
allowed_edge_roles: [causal, influences, provenance]
|
||||
- from: transformation
|
||||
to: outcome
|
||||
allowed_edge_roles: [causal, influences, enables_constraints]
|
||||
|
||||
# ================================================================
|
||||
# 2) Core: Decision Logic (Driver + Constraint → Decision → Outcome)
|
||||
# ================================================================
|
||||
- name: "decision_logic"
|
||||
description: "Wert/Prinzip/Motivation + Constraints → Entscheidung → Outcome/Projekt."
|
||||
slots:
|
||||
- id: driver
|
||||
allowed_node_types: [value, principle, motivation, need, goal]
|
||||
- id: constraint
|
||||
allowed_node_types: [risk, issue, obstacle, state, boundary]
|
||||
- id: decision
|
||||
allowed_node_types: [decision, task]
|
||||
- id: outcome
|
||||
allowed_node_types: [project, habit, goal]
|
||||
links:
|
||||
- from: driver
|
||||
to: decision
|
||||
allowed_edge_roles: [influences, enables_constraints]
|
||||
- from: constraint
|
||||
to: decision
|
||||
allowed_edge_roles: [enables_constraints, influences]
|
||||
- from: decision
|
||||
to: outcome
|
||||
allowed_edge_roles: [causal, influences]
|
||||
|
||||
# ================================================================
|
||||
# 3) Core: Learning Loop (Experience → Learning → Behavior → Feedback)
|
||||
# ================================================================
|
||||
- name: "loop_learning"
|
||||
description: "Wiederkehrendes Muster: Experience → Insight/Principle → Behavior/Decision → neue Experience."
|
||||
slots:
|
||||
- id: experience
|
||||
allowed_node_types: [experience, journal, event]
|
||||
- id: learning
|
||||
allowed_node_types: [insight, principle, value, belief, skill, trait]
|
||||
- id: behavior
|
||||
allowed_node_types: [habit, decision, task]
|
||||
- id: feedback
|
||||
allowed_node_types: [experience, journal, event, state]
|
||||
links:
|
||||
- from: experience
|
||||
to: learning
|
||||
allowed_edge_roles: [causal, provenance, influences]
|
||||
- from: learning
|
||||
to: behavior
|
||||
allowed_edge_roles: [influences, enables_constraints, causal]
|
||||
- from: behavior
|
||||
to: feedback
|
||||
allowed_edge_roles: [causal, influences]
|
||||
|
||||
# ================================================================
|
||||
# 4) Core: Constraint → Adaptation/Regulation → Stabilization
|
||||
# ================================================================
|
||||
- name: "constraint_to_adaptation"
|
||||
description: "Begrenzung/Problem → Anpassung/Regulation → Stabilisierung (Prinzip/Wert/Habit/Projekt)."
|
||||
slots:
|
||||
- id: constraint
|
||||
allowed_node_types: [risk, issue, obstacle, state, boundary]
|
||||
- id: adaptation
|
||||
allowed_node_types: [skill, trait, habit, boundary, insight, principle]
|
||||
- id: stabilization
|
||||
allowed_node_types: [principle, value, habit, project, goal]
|
||||
links:
|
||||
- from: constraint
|
||||
to: adaptation
|
||||
allowed_edge_roles: [causal, influences, enables_constraints, provenance]
|
||||
- from: adaptation
|
||||
to: stabilization
|
||||
allowed_edge_roles: [causal, influences, enables_constraints]
|
||||
|
||||
# ================================================================
|
||||
# 5) Core: Person Influence (Person → Inner Model → Decision/Outcome)
|
||||
# ================================================================
|
||||
- name: "person_influence"
|
||||
description: "Person/Beziehungseinfluss → Belief/Insight/Skill/Trait → Entscheidung/Outcome."
|
||||
slots:
|
||||
- id: person
|
||||
allowed_node_types: [person]
|
||||
- id: internal_model
|
||||
allowed_node_types: [belief, insight, value, principle, skill, trait, boundary, bias]
|
||||
- id: outcome
|
||||
allowed_node_types: [decision, habit, project, goal]
|
||||
links:
|
||||
- from: person
|
||||
to: internal_model
|
||||
allowed_edge_roles: [influences, provenance, causal]
|
||||
- from: internal_model
|
||||
to: outcome
|
||||
allowed_edge_roles: [influences, enables_constraints, causal]
|
||||
|
||||
# ================================================================
|
||||
# 6) Core: State → Trigger → Response → State/Outcome (empathy-ready)
|
||||
# ================================================================
|
||||
- name: "state_trigger_response"
|
||||
description: "Zustand → Auslöser → Reaktion/Verhalten → neuer Zustand/Outcome."
|
||||
slots:
|
||||
- id: state
|
||||
allowed_node_types: [state]
|
||||
- id: trigger
|
||||
allowed_node_types: [experience, event, issue, obstacle, risk]
|
||||
- id: response
|
||||
allowed_node_types: [habit, decision, task]
|
||||
- id: next_state_or_outcome
|
||||
allowed_node_types: [state, goal, project, habit]
|
||||
links:
|
||||
- from: state
|
||||
to: trigger
|
||||
allowed_edge_roles: [influences, causal, provenance]
|
||||
- from: trigger
|
||||
to: response
|
||||
allowed_edge_roles: [causal, influences, enables_constraints]
|
||||
- from: response
|
||||
to: next_state_or_outcome
|
||||
allowed_edge_roles: [causal, influences]
|
||||
92
Dictionary/edge_vocabulary.md
Normal file
92
Dictionary/edge_vocabulary.md
Normal file
|
|
@ -0,0 +1,92 @@
|
|||
---
|
||||
id: edge_vocabulary
|
||||
title: Edge Vocabulary & Semantik
|
||||
type: reference
|
||||
status: system
|
||||
system_role: config
|
||||
context: "Zentrales Wörterbuch für Kanten-Bezeichner. Dient als Single Source of Truth für Obsidian-Skripte und Mindnet-Validierung. WP-24c: Symmetrische Kantenkonfiguration."
|
||||
---
|
||||
|
||||
# Edge Vocabulary & Semantik
|
||||
|
||||
**Pfad:** `_system/dictionary/edge_vocabulary.md`
|
||||
**Zweck:** Definition aller erlaubten Kanten-Typen, ihrer inversen Gegenstücke und Aliase.
|
||||
|
||||
### Identität & Kompetenz
|
||||
|
||||
| System-Typ (Canonical) | Inverser Typ | Erlaubte Aliasse (User) | Beschreibung (Perspektive: Diese Notiz...) |
|
||||
| :--- | :--- | :--- | :--- |
|
||||
| **`experienced_in`** | `mastered_by` | `erfahren_in`, `expertise_in`, `kompetenz_in`, `kennt`, `hat_erfahrung_mit` | ...beschreibt eine Person/Entität, die über praktisches Wissen im Zielbereich verfügt. |
|
||||
| **`mastered_by`** | `experienced_in` | `beherrscht_von`, `meister_ist` | ...ist ein Wissensbereich/Skill, der von der Ziel-Person/Entität kontrolliert oder beherrscht wird. |
|
||||
| **`expert_for`** | `has_expert` | `experte_für`, `spezialist_für` | ...weist sich selbst als primäre Autorität oder spezialisierte Instanz für das Zielobjekt aus. |
|
||||
| **`has_expert`** | `expert_for` | `hat_expertise`, `hat_spezialist` | ...ist eine Notiz/Entität, die einen Experten für das Zielobjekt hat. |
|
||||
|
||||
### Logik & Impact
|
||||
|
||||
| System-Typ (Canonical) | Inverser Typ | Erlaubte Aliasse (User) | Beschreibung (Perspektive: Diese Notiz...) |
|
||||
| :--- | :--- | :--- | :--- |
|
||||
| **`caused_by`** | `resulted_in` | `ausgelöst_durch`, `wegen`, `ursache_ist`, `triggered_by` | ...ist ein Effekt oder Zustand, dessen direkte Ursache in der Ziel-Notiz beschrieben wird. |
|
||||
| **`based_on`** | `foundation_for` | `basiert_auf` | ...ist ein abgeleitetes Konzept, das die Ziel-Notiz als zwingendes theoretisches Fundament nutzt. |
|
||||
| **`foundation_for`** | `based_on` | `basis_für`, `grundlage_für`, `fundament`, `grundlage` | ...liefert die elementaren Prinzipien oder Daten, auf denen die Ziel-Notiz aufbaut. |
|
||||
| **`solves`** | `solved_by` | `löst`, `beantwortet`, `fix_für` | ...bietet eine konkrete Lösung, Antwort oder einen Fix für die in der Ziel-Notiz beschriebene Problematik. |
|
||||
| **`solved_by`** | `solves` | `gelöst_durch` | ...beschreibt eine Herausforderung, die durch die Maßnahmen in der Ziel-Notiz bewältigt wird. |
|
||||
| **`depends_on`** | `required_by` | `hängt_ab_von`, `braucht`, `requires`, `enforced_by` | ...kann nur realisiert oder verstanden werden, wenn die Voraussetzungen der Ziel-Notiz erfüllt sind. |
|
||||
| **`required_by`** | `depends_on` | `voraussetzung_für`, `benötigt_von` | ...ist eine notwendige Bedingung, ohne die die Ziel-Notiz nicht funktionsfähig oder valide ist. |
|
||||
| **`blocks`** | `blocked_by` | `blockiert`, `verhindert` | ...stellt ein Hindernis dar, welches die Umsetzung der Ziel-Notiz aktiv unterbindet. |
|
||||
| **`blocked_by`** | `blocks` | `wird_blockiert_durch`, `gestoppt_von` | ...ist in ihrem Fortschritt gehemmt, solange der Blocker in der Ziel-Notiz existiert. |
|
||||
| **`resulted_in`** | `caused_by` | `ergebnis`, `resultat`, `erzeugt`, `leads_to` | ...fungiert als Auslöser, der unmittelbar zu dem in der Ziel-Notiz beschriebenen Ergebnis führt. |
|
||||
| **`impacts`** | `impacted_by` | `beeinflusst`, `wirkt_auf`, `effekt_auf`, `affects` | ...übt einen signifikanten (positiven oder negativen) Einfluss auf die Entwicklung der Ziel-Notiz aus. |
|
||||
| **`impacted_by`** | `impacts` | `betroffen_von` | ...erfährt eine Veränderung oder Beeinflussung durch die in der Ziel-Notiz genannten Faktoren. |
|
||||
| **`implemented_in`** | `implements` | `implementiert_in`, `umgesetzt_in`, `umgesetzt_durch` | ...wird in der Ziel-Notiz konkret umgesetzt/realisiert. |
|
||||
| **`implements`** | `implemented_in` | `implementiert`, `setzt_um` | ...setzt das in der Ziel-Notiz beschriebene Konzept konkret um. |
|
||||
| **`risk_of`** | `has_risk` | `risiko_von`, `risiko_für` | ...beschreibt ein Risiko im Kontext der Ziel-Notiz / kann zu einem Risiko bzgl. der Ziel-Notiz führen. |
|
||||
| **`has_risk`** | `risk_of` | `hat_risiko` | ...hat ein in der Ziel-Notiz beschriebenes Risiko. |
|
||||
|
||||
### Epistemik & Begründung
|
||||
|
||||
| System-Typ (Canonical) | Inverser Typ | Erlaubte Aliasse (User) | Beschreibung (Perspektive: Diese Notiz...) |
|
||||
| :--- | :--- | :--- | :--- |
|
||||
| **`supports`** | `supported_by` | `stützt`, `belegt`, `evidenz_für`, `spricht_für` | ...liefert Evidenz/Argumente, die die Ziel-Notiz stützen. |
|
||||
| **`supported_by`** | `supports` | `gestützt_durch`, `belegt_durch`, `evidenz_durch` | ...wird durch die Ziel-Notiz gestützt/belegt. |
|
||||
| **`contradicts`** | `contradicted_by` | `widerspricht`, `steht_im_widerspruch_zu` | ...steht in inhaltlichem Widerspruch zur Ziel-Notiz. |
|
||||
| **`contradicted_by`** | `contradicts` | `widersprochen_durch` | ...wird durch die Ziel-Notiz widersprochen. |
|
||||
|
||||
### Normen, Werte & Prinzipien
|
||||
|
||||
| System-Typ (Canonical) | Inverser Typ | Erlaubte Aliasse (User) | Beschreibung (Perspektive: Diese Notiz...) |
|
||||
| :--- | :--- | :--- | :--- |
|
||||
| **`upholds`** | `upheld_by` | `hält_ein`, `erfüllt`, `lebt`, `achtet` | ...hält den in der Ziel-Notiz beschriebenen Wert/Prinzip/Norm ein. |
|
||||
| **`upheld_by`** | `upholds` | `eingehalten_durch`, `erfüllt_durch` | ...wird durch die Ziel-Notiz eingehalten/verkörpert. |
|
||||
| **`violates`** | `violated_by` | `verletzt`, `missachtet`, `bricht` | ...verletzt den in der Ziel-Notiz beschriebenen Wert/Prinzip/Norm. |
|
||||
| **`violated_by`** | `violates` | `verletzt_durch`, `missachtet_durch` | ...wird durch die Ziel-Notiz verletzt. |
|
||||
| **`aligned_with`** | `aligned_with` | `im_einklang_mit`, `konsistent_mit` | ...steht im Einklang mit der Ziel-Notiz (normativ/leitbildbezogen). |
|
||||
| **`conflicts_with`** | `conflicts_with` | `im_konflikt_mit`, `widerspricht_normativ` | ...steht in einem normativen Konflikt zur Ziel-Notiz. |
|
||||
|
||||
### Kontext & Struktur
|
||||
|
||||
| System-Typ (Canonical) | Inverser Typ | Erlaubte Aliasse (User) | Beschreibung (Perspektive: Diese Notiz...) |
|
||||
| :--- | :--- | :--- | :--- |
|
||||
| **`derived_from`** | `source_of` | `abgeleitet_von`, `inspiriert_durch` | ...ist eine Weiterentwicklung oder Interpretation, die auf der Quelle in der Ziel-Notiz basiert. |
|
||||
| **`source_of`** | `derived_from` | `ursprung_von`, `quelle` | ...ist das Original-Dokument oder die Primärquelle für die Inhalte der Ziel-Notiz. |
|
||||
| **`part_of`** | `consists_of` | `teil_von`, `gehört_zu`, `cluster` | ...ist eine untergeordnete Komponente oder ein Teilaspekt der übergeordneten Ziel-Notiz. |
|
||||
| **`consists_of`** | `part_of` | `besteht_aus`, `beinhaltet` | ...ist ein Container oder System, das sich aus Elementen wie der Ziel-Notiz zusammensetzt. |
|
||||
| **`uses`** | `used_by` | `nutzt`, `verwendet`, `tool` | ...setzt das in der Ziel-Notiz beschriebene Werkzeug oder Methode aktiv zur Zielerreichung ein. |
|
||||
| **`used_by`** | `uses` | `genutzt_von` | ...ist ein Hilfsmittel oder eine Ressource, die von der Ziel-Notiz in Anspruch genommen wird. |
|
||||
| **`guides`** | `guided_by` | `steuert`, `leitet`, `orientierung`, `drives` | ...gibt die strategische Richtung oder Verhaltensregeln für die Ziel-Notiz vor. |
|
||||
| **`guided_by`** | `guides` | `orientiert_an`, `geführt_von` | ...richtet ihr Verhalten oder ihre Struktur nach den Vorgaben der Ziel-Notiz aus. |
|
||||
|
||||
### Prozess & Sequenz
|
||||
|
||||
| System-Typ (Canonical) | Inverser Typ | Erlaubte Aliasse (User) | Beschreibung (Perspektive: Diese Notiz...) |
|
||||
| :--- | :--- | :--- | :--- |
|
||||
| **`followed_by`** | `preceded_by` | `danach`, `folgt`, `nachfolger` | ...stellt einen Prozessschritt dar, auf den zeitlich oder logisch die Ziel-Notiz folgt. |
|
||||
| **`preceded_by`** | `followed_by` | `davor`, `vorgänger`, `preceeded_by` | ...beschreibt einen Zustand, dem die Ziel-Notiz als notwendige Sequenz vorausgegangen ist. |
|
||||
|
||||
### Assoziation
|
||||
|
||||
| System-Typ (Canonical) | Inverser Typ | Erlaubte Aliasse (User) | Beschreibung (Perspektive: Diese Notiz...) |
|
||||
| :--- | :--- | :--- | :--- |
|
||||
| **`related_to`** | `related_to` | `siehe_auch`, `kontext`, `thematisch` | ...weist auf eine relevante thematische Nachbarschaft zur Ziel-Notiz hin. |
|
||||
| **`similar_to`** | `similar_to` | `ähnlich_wie`, `vergleichbar` | ...beschreibt ein nahezu identisches Konzept oder eine Analogie zur Ziel-Notiz. |
|
||||
| **`references`** | `referenced_by` | *(Kein Alias)* | ...enthält einen formellen Verweis oder ein Zitat auf die Ziel-Notiz ohne spezifische Logik. |
|
||||
| **`referenced_by`** | `references` | `referenziert_von` | ...wird innerhalb der Ziel-Notiz als Referenz oder Quelle angeführt. |
|
||||
182
Dictionary/graph_schema.md
Normal file
182
Dictionary/graph_schema.md
Normal file
|
|
@ -0,0 +1,182 @@
|
|||
---
|
||||
id: graph_schema
|
||||
title: Graph Topology & Preferences (Atomic)
|
||||
type: reference
|
||||
status: system
|
||||
system_role: config
|
||||
context: "Explizites Regelwerk für bidirektionale Notiz-Verbindungen. Enthält migrierte edge_defaults aus types.yaml. WP-24c Edition."
|
||||
---
|
||||
|
||||
# Graph Schema (Topologie & Symmetrie)
|
||||
|
||||
**Logik:** Jede Sektion definiert exakt einen Quell-Notiztyp. Typical-Kanten werden in Obsidian priorisiert und im Backend als Standard-Beziehungen behandelt.
|
||||
|
||||
---
|
||||
|
||||
## 1. Identität & Kompetenz
|
||||
|
||||
## Source: `person`
|
||||
| Target-Note-type | Typical Edge-Types | Prohibited Edge-Types |
|
||||
| :--- | :--- | :--- |
|
||||
| `skill` | `experienced_in`, `expert_for` | `caused_by`, `solves` |
|
||||
| `role` | `part_of` | `blocks` |
|
||||
| `trait` | `part_of` | `resulted_in` |
|
||||
| `any` | `related_to` | - |
|
||||
|
||||
## Source: `skill`
|
||||
| Target-Note-type | Typical Edge-Types | Prohibited Edge-Types |
|
||||
| :--- | :--- | :--- |
|
||||
| `person` | `mastered_by` | `consists_of` |
|
||||
| `task` | `used_by` | `foundation_for` |
|
||||
| `any` | `references`, `related_to` | - |
|
||||
|
||||
## Source: `role`
|
||||
| Target-Note-type | Typical Edge-Types | Prohibited Edge-Types |
|
||||
| :--- | :--- | :--- |
|
||||
| `person` | `consists_of` | `caused_by` |
|
||||
| `project` | `guides` | `solves` |
|
||||
|
||||
## Source: `trait`
|
||||
| Target-Note-type | Typical Edge-Types | Prohibited Edge-Types |
|
||||
| :--- | :--- | :--- |
|
||||
| `any` | `related_to` | - |
|
||||
|
||||
---
|
||||
|
||||
## 2. Planung & Umsetzung (Action Stream)
|
||||
|
||||
## Source: `project`
|
||||
| Target-Note-type | Typical Edge-Types | Prohibited Edge-Types |
|
||||
| :--- | :--- | :--- |
|
||||
| `task` | `consists_of` | `experienced_in` |
|
||||
| `milestone` | `consists_of`, `followed_by` | `derived_from` |
|
||||
| `goal` | `depends_on` | `similar_to` |
|
||||
| `risk` | `impacted_by` | `part_of` |
|
||||
| `any` | `references`, `depends_on` | - |
|
||||
|
||||
## Source: `task`
|
||||
| Target-Note-type | Typical Edge-Types | Prohibited Edge-Types |
|
||||
| :--- | :--- | :--- |
|
||||
| `project` | `part_of` | `expert_for` |
|
||||
| `task` | `followed_by`, `depends_on`, `preceeded_by` | `consists_of` |
|
||||
| `milestone` | `followed_by`, `required_by` | `caused_by` |
|
||||
| `skill` | `uses` | `mastered_by` |
|
||||
| `any` | `depends_on`, `part_of` | - |
|
||||
|
||||
## Source: `milestone`
|
||||
| Target-Note-type | Typical Edge-Types | Prohibited Edge-Types |
|
||||
| :--- | :--- | :--- |
|
||||
| `project` | `part_of` | `solves` |
|
||||
| `task` | `preceeded_by`, `depends_on` | `expert_for` |
|
||||
|
||||
## Source: `goal`
|
||||
| Target-Note-type | Typical Edge-Types | Prohibited Edge-Types |
|
||||
| :--- | :--- | :--- |
|
||||
| `any` | `depends_on`, `related_to` | - |
|
||||
|
||||
## Source: `habit`
|
||||
| Target-Note-type | Typical Edge-Types | Prohibited Edge-Types |
|
||||
| :--- | :--- | :--- |
|
||||
| `any` | `related_to`, `caused_by` | - |
|
||||
|
||||
---
|
||||
|
||||
## 3. Erfahrung & Erkenntnis (History Stream)
|
||||
|
||||
## Source: `experience`
|
||||
| Target-Note-type | Typical Edge-Types | Prohibited Edge-Types |
|
||||
| :--- | :--- | :--- |
|
||||
| `insight` | `resulted_in` | `depends_on` |
|
||||
| `event` | `derived_from` | `solves` |
|
||||
| `value` | `based_on` | `consists_of` |
|
||||
| `person` | `caused_by` | `followed_by` |
|
||||
| `any` | `derived_from`, `references` | - |
|
||||
|
||||
## Source: `insight`
|
||||
| Target-Note-type | Typical Edge-Types | Prohibited Edge-Types |
|
||||
| :--- | :--- | :--- |
|
||||
| `experience` | `caused_by` | `uses` |
|
||||
| `principle` | `resulted_in` | `consists_of` |
|
||||
| `concept` | `based_on` | `followed_by` |
|
||||
| `any` | `references`, `based_on` | - |
|
||||
|
||||
---
|
||||
|
||||
## 4. Logik & Impact
|
||||
|
||||
## Source: `decision`
|
||||
| Target-Note-type | Typical Edge-Types | Prohibited Edge-Types |
|
||||
| :--- | :--- | :--- |
|
||||
| `issue` | `solves` | `part_of` |
|
||||
| `obstacle` | `solves` | `part_of` |
|
||||
| `risk` | `impacts`, `solves` | `experienced_in` |
|
||||
| `project` | `resulted_in`, `foundation_for` | `mastered_by` |
|
||||
| `any` | `caused_by`, `references` | - |
|
||||
|
||||
## Source: `issue`
|
||||
| Target-Note-type | Typical Edge-Types | Prohibited Edge-Types |
|
||||
| :--- | :--- | :--- |
|
||||
| `decision` | `solved_by`, `caused_by` | `consists_of` |
|
||||
| `project` | `blocks` | `based_on` |
|
||||
| `task` | `blocks` | `based_on` |
|
||||
|
||||
## Source: `obstacle`
|
||||
| Target-Note-type | Typical Edge-Types | Prohibited Edge-Types |
|
||||
| :--- | :--- | :--- |
|
||||
| `decision` | `solved_by`, `caused_by` | `consists_of` |
|
||||
| `project` | `blocks` | `based_on` |
|
||||
| `task` | `blocks` | `based_on` |
|
||||
| `any` | `blocks`, `related_to` | - |
|
||||
|
||||
## Source: `risk`
|
||||
| Target-Note-type | Typical Edge-Types | Prohibited Edge-Types |
|
||||
| :--- | :--- | :--- |
|
||||
| `any` | `related_to`, `blocks` | - |
|
||||
|
||||
## Source: `motivation`
|
||||
| Target-Note-type | Typical Edge-Types | Prohibited Edge-Types |
|
||||
| :--- | :--- | :--- |
|
||||
| `any` | `guides`, `references` | - |
|
||||
|
||||
## Source: `bias`
|
||||
| Target-Note-type | Typical Edge-Types | Prohibited Edge-Types |
|
||||
| :--- | :--- | :--- |
|
||||
| `any` | `impacts`, `related_to` | - |
|
||||
|
||||
---
|
||||
|
||||
## 5. Wissen & Basis
|
||||
|
||||
## Source: `concept`
|
||||
| Target-Note-type | Typical Edge-Types | Prohibited Edge-Types |
|
||||
| :--- | :--- | :--- |
|
||||
| `any` | `references`, `related_to` | - |
|
||||
|
||||
## Source: `journal`
|
||||
| Target-Note-type | Typical Edge-Types | Prohibited Edge-Types |
|
||||
| :--- | :--- | :--- |
|
||||
| `any` | `references`, `related_to` | - |
|
||||
|
||||
## Source: `glossary`
|
||||
| Target-Note-type | Typical Edge-Types | Prohibited Edge-Types |
|
||||
| :--- | :--- | :--- |
|
||||
| `any` | `related_to` | - |
|
||||
|
||||
## Source: `event`
|
||||
| Target-Note-type | Typical Edge-Types | Prohibited Edge-Types |
|
||||
| :--- | :--- | :--- |
|
||||
| `any` | `related_to` | - |
|
||||
|
||||
## Source: `idea`
|
||||
| Target-Note-type | Typical Edge-Types | Prohibited Edge-Types |
|
||||
| :--- | :--- | :--- |
|
||||
| `any` | `resulted_in`, `references` | - |
|
||||
|
||||
---
|
||||
|
||||
## 6. Globaler Fallback
|
||||
|
||||
## Source: `any`
|
||||
| Target-Note-type | Typical Edge-Types | Prohibited Edge-Types |
|
||||
| :--- | :--- | :--- |
|
||||
| `any` | `related_to`, `references` | - |
|
||||
276
Dictionary/interview_config.yaml
Normal file
276
Dictionary/interview_config.yaml
Normal file
|
|
@ -0,0 +1,276 @@
|
|||
version: 3
|
||||
|
||||
frontmatter_whitelist:
|
||||
- id
|
||||
- title
|
||||
- type
|
||||
- status
|
||||
- retriever_weight
|
||||
- chunking_profile
|
||||
- tags
|
||||
- aliases
|
||||
- created
|
||||
- interview_profile
|
||||
|
||||
ui_defaults:
|
||||
modal:
|
||||
width: "clamp(720px, 88vw, 1100px)"
|
||||
height: "clamp(640px, 86vh, 920px)"
|
||||
editor:
|
||||
preview_toggle: true
|
||||
toolbar: true
|
||||
full_width_inputs: true
|
||||
|
||||
profiles:
|
||||
|
||||
- key: experience_cluster
|
||||
group: experience
|
||||
label: "Experience – Cluster"
|
||||
note_type: experience
|
||||
defaults:
|
||||
status: active
|
||||
folder: "03_experience"
|
||||
edging:
|
||||
mode: both
|
||||
steps:
|
||||
- id: title
|
||||
kind: capture_frontmatter
|
||||
field: title
|
||||
label: "Hub Titel"
|
||||
required: true
|
||||
# Einzeiliges Feld
|
||||
- id: subtitle
|
||||
kind: capture_text_line
|
||||
label: "Untertitel"
|
||||
heading_level:
|
||||
enabled: true
|
||||
default: 1
|
||||
prompt: "Kurzer Untertitel"
|
||||
- id: intro
|
||||
kind: capture_text
|
||||
section: "## Einleitung"
|
||||
label: "Einleitung"
|
||||
prompt: "Beschreibe die Einleitung"
|
||||
- id: items
|
||||
kind: loop
|
||||
label: "Erlebnisse"
|
||||
item_label: "Erlebnis"
|
||||
min_items: 1
|
||||
steps:
|
||||
- id: item_Headline
|
||||
kind: capture_text_line
|
||||
label: "Überschrift"
|
||||
required: false
|
||||
heading_level:
|
||||
enabled: true
|
||||
default: 2
|
||||
prompt: "Nennen kurz die Gruppenüberschrift"
|
||||
- id: level2
|
||||
label: "Listeneinträge zusammenstellen"
|
||||
kind: loop
|
||||
steps:
|
||||
- id: item_text
|
||||
kind: capture_text
|
||||
section: ""
|
||||
label: "Liste"
|
||||
required: true
|
||||
prompt: "Stelle eine Liste von Erlebnisse zusammen"
|
||||
|
||||
|
||||
- id: review
|
||||
kind: review
|
||||
label: "Review & Apply"
|
||||
checks: [lint_current_note]
|
||||
|
||||
|
||||
- key: experience_cluster_2
|
||||
group: experience
|
||||
label: "Experience – Cluster2"
|
||||
note_type: experience
|
||||
defaults:
|
||||
status: active
|
||||
chunking_profile: timeline
|
||||
steps:
|
||||
- id: title
|
||||
kind: capture_frontmatter
|
||||
field: title
|
||||
label: "Cluster Titel"
|
||||
required: true
|
||||
input:
|
||||
kind: text_line
|
||||
|
||||
# Gruppen = Überschrift + viele Listeneinträge
|
||||
- id: groups
|
||||
kind: loop
|
||||
label: "Erlebnis-Gruppen"
|
||||
ui:
|
||||
mode: subwizard # pro Gruppe eigener Flow
|
||||
commit: on_next # kein Add-Item-Zwang
|
||||
allow_edit: true
|
||||
allow_delete: true
|
||||
allow_reorder: true
|
||||
show_item_overview: true # Übersicht, aber editierbar
|
||||
output:
|
||||
join: "\n" # Gruppen durch Leerzeile trennen
|
||||
steps:
|
||||
- id: group_heading
|
||||
kind: heading
|
||||
label: "Überschrift"
|
||||
required: true
|
||||
default_level: 2
|
||||
allow_level_change: true
|
||||
output:
|
||||
template: "{hashes} {text}\n"
|
||||
|
||||
- id: entries
|
||||
kind: loop
|
||||
label: "Einträge"
|
||||
ui:
|
||||
mode: subwizard
|
||||
commit: on_next
|
||||
allow_edit: true
|
||||
allow_delete: true
|
||||
allow_reorder: true
|
||||
show_item_overview: true
|
||||
output:
|
||||
join: "" # Einträge direkt unter Überschrift
|
||||
steps:
|
||||
- id: entry
|
||||
kind: text_line
|
||||
label: "Listeneintrag"
|
||||
required: true
|
||||
output:
|
||||
template: "- {text}\n"
|
||||
|
||||
- id: review
|
||||
kind: review
|
||||
label: "Review & Apply"
|
||||
checks:
|
||||
- lint_current_note
|
||||
- missing_targets
|
||||
- missing_frontmatter_id
|
||||
|
||||
- key: experience_single
|
||||
group: experience
|
||||
label: "Experience – Einzelereignis"
|
||||
note_type: experience
|
||||
defaults:
|
||||
status: active
|
||||
chunking_profile: timeline
|
||||
steps:
|
||||
- id: title
|
||||
kind: capture_frontmatter
|
||||
field: title
|
||||
label: "Titel"
|
||||
required: true
|
||||
|
||||
- id: context
|
||||
kind: capture_text
|
||||
section: "## 📖 Kontext"
|
||||
label: "Kontext"
|
||||
required: true
|
||||
prompt: "In welchem Rahmen ist es passiert?"
|
||||
|
||||
- id: trigger
|
||||
kind: capture_text
|
||||
section: "## ⚡ Auslöser"
|
||||
label: "Auslöser"
|
||||
required: false
|
||||
prompt: "Was hat es ausgelöst?"
|
||||
|
||||
- id: transformation
|
||||
kind: capture_text
|
||||
section: "## 🧠 Innere Transformation"
|
||||
label: "Innere Transformation"
|
||||
required: false
|
||||
prompt: "Was hat sich innerlich verändert?"
|
||||
|
||||
- id: review
|
||||
kind: review
|
||||
label: "Review & Apply"
|
||||
checks:
|
||||
- lint_current_note
|
||||
- missing_targets
|
||||
- missing_frontmatter_id
|
||||
|
||||
- key: experience_hub
|
||||
group: experience
|
||||
label: "Experience – Hub"
|
||||
note_type: experience
|
||||
defaults:
|
||||
status: active
|
||||
steps:
|
||||
- id: title
|
||||
kind: capture_frontmatter
|
||||
field: title
|
||||
label: "Hub Titel"
|
||||
required: true
|
||||
|
||||
- id: items
|
||||
kind: loop
|
||||
label: "Erlebnisse"
|
||||
item_label: "Erlebnis"
|
||||
min_items: 1
|
||||
steps:
|
||||
- id: item_text
|
||||
kind: capture_text
|
||||
section: "## 🧩 Erlebnisse"
|
||||
label: "Erlebnis"
|
||||
required: true
|
||||
prompt: "Beschreibe ein Erlebnis (kurz)."
|
||||
|
||||
- id: review
|
||||
kind: review
|
||||
label: "Review & Apply"
|
||||
checks: [lint_current_note]
|
||||
|
||||
|
||||
|
||||
- key: principle
|
||||
group: principle
|
||||
label: "Principle"
|
||||
note_type: principle
|
||||
defaults:
|
||||
status: stable
|
||||
chunking_profile: principle_dense
|
||||
retriever_weight: 2
|
||||
steps:
|
||||
- id: title
|
||||
kind: capture_frontmatter
|
||||
field: title
|
||||
label: "Titel"
|
||||
required: true
|
||||
|
||||
- id: statement
|
||||
kind: capture_text
|
||||
section: "## 🧭 Prinzip"
|
||||
label: "Prinzip"
|
||||
required: true
|
||||
prompt: "Formuliere das Prinzip als klaren Satz."
|
||||
|
||||
- id: retriever_weight
|
||||
kind: capture_frontmatter
|
||||
field: retriever_weight
|
||||
label: "Retriever Weight"
|
||||
required: false
|
||||
input:
|
||||
kind: number
|
||||
min: -3
|
||||
max: 3
|
||||
step: 1
|
||||
|
||||
- id: llm_refine
|
||||
kind: llm_dialog
|
||||
label: "LLM – Verdichtung (manuell)"
|
||||
mode: manual
|
||||
prompt_template: |
|
||||
Verdichte die bisherigen Inhalte zu 3-5 Bulletpoints.
|
||||
Erfinde keine Fakten.
|
||||
output_target:
|
||||
kind: section_append
|
||||
section: "## 🧠 Verdichtung (LLM Vorschlag)"
|
||||
|
||||
- id: review
|
||||
kind: review
|
||||
label: "Review & Apply"
|
||||
checks: [lint_current_note]
|
||||
Loading…
Reference in New Issue
Block a user