diff --git a/Dictionary/analysis_policies.yaml b/Dictionary/analysis_policies.yaml new file mode 100644 index 0000000..30b1087 --- /dev/null +++ b/Dictionary/analysis_policies.yaml @@ -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 diff --git a/Dictionary/chain_roles.yaml b/Dictionary/chain_roles.yaml new file mode 100644 index 0000000..5bef305 --- /dev/null +++ b/Dictionary/chain_roles.yaml @@ -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 diff --git a/Dictionary/chain_templates.yaml b/Dictionary/chain_templates.yaml new file mode 100644 index 0000000..9d789f8 --- /dev/null +++ b/Dictionary/chain_templates.yaml @@ -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] diff --git a/Dictionary/edge_vocabulary.md b/Dictionary/edge_vocabulary.md new file mode 100644 index 0000000..7f23599 --- /dev/null +++ b/Dictionary/edge_vocabulary.md @@ -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. | diff --git a/Dictionary/graph_schema.md b/Dictionary/graph_schema.md new file mode 100644 index 0000000..cf8f195 --- /dev/null +++ b/Dictionary/graph_schema.md @@ -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` | - | \ No newline at end of file diff --git a/Dictionary/interview_config.yaml b/Dictionary/interview_config.yaml new file mode 100644 index 0000000..993a955 --- /dev/null +++ b/Dictionary/interview_config.yaml @@ -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]