mindnet_obsidian/docs/08_Testing_Chain_Workbench.md
Lars a9b3e2f0e2
Some checks are pending
Node.js build / build (20.x) (push) Waiting to run
Node.js build / build (22.x) (push) Waiting to run
Implement Chain Workbench and Vault Triage features in Mindnet plugin
- Introduced new workflows for Chain Workbench and Vault Triage, enhancing user capabilities for managing template matches and identifying chain gaps.
- Added commands for opening the Chain Workbench and scanning the vault for chain gaps, improving the overall functionality of the plugin.
- Updated documentation to include detailed instructions for the new workflows, ensuring users can effectively utilize the features.
- Enhanced the UI for both the Chain Workbench and Vault Triage Scan, providing a more intuitive user experience.
- Implemented tests for the new functionalities to ensure reliability and accuracy in various scenarios.
2026-01-26 10:51:12 +01:00

8.1 KiB

Testing Chain Workbench + Vault Triage (0.5.x)

Diese Anleitung beschreibt, wie du die neuen Chain Workbench und Vault Triage Features in Obsidian testen kannst.

Voraussetzungen

  1. Node.js installiert (LTS Version empfohlen)
  2. Obsidian installiert
  3. Vault mit Mindnet-konfigurierten Dateien:
    • Dictionary/chain_templates.yaml
    • Dictionary/chain_roles.yaml
    • Dictionary/edge_vocabulary.md
    • Dictionary/analysis_policies.yaml (optional)
    • Dictionary/interview_config.yaml (für Interview-Features)

Build & Installation

1. Dependencies installieren

cd c:\Dev\cursor\mindnet_obsidian
npm install

2. Plugin bauen

npm run build

Dies erstellt main.js im Projekt-Root.

3. Plugin in Obsidian installieren

Option A: Lokales Deployment (empfohlen für Entwicklung)

npm run deploy:local

Dies kopiert automatisch main.js, manifest.json und styles.css (falls vorhanden) in dein Test-Vault.

Option B: Manuell

  1. Öffne dein Obsidian Vault
  2. Gehe zu .obsidian/plugins/
  3. Erstelle Ordner mindnet-causal-assistant (falls nicht vorhanden)
  4. Kopiere folgende Dateien:
    • main.js (aus Projekt-Root)
    • manifest.json (aus Projekt-Root)
    • styles.css (falls vorhanden)

4. Plugin aktivieren

  1. Öffne Obsidian Settings
  2. Gehe zu Community plugins
  3. Aktiviere Mindnet Causal Assistant
  4. Stelle sicher, dass die Dictionary-Pfade korrekt konfiguriert sind:
    • Edge Vocabulary Path: Dictionary/edge_vocabulary.md
    • Chain Templates Path: Dictionary/chain_templates.yaml
    • Chain Roles Path: Dictionary/chain_roles.yaml
    • Interview Config Path: Dictionary/interview_config.yaml

Testing Chain Workbench

Schritt 1: Test-Vault vorbereiten

Erstelle oder öffne eine Note mit:

  • Mindestens einer Section (H2-Überschrift)
  • Einigen Edges (z.B. in Semantic Mapping Block)
  • Optional: Candidate Edges in "## Kandidaten" Zone

Beispiel-Note:

---
id: test_note_001
type: concept
---

# Test Note

## Kontext

Dies ist eine Test-Section mit einigen Links.

> [!abstract]- 🕸️ Semantic Mapping
>> [!edge] caused_by
>> [[Target Note 1]]

## Kandidaten

> [!abstract]
>> [!edge] impacts
>> [[Target Note 2]]

Schritt 2: Chain Workbench öffnen

  1. Öffne die Test-Note im Editor
  2. Setze den Cursor in eine Section (z.B. "Kontext")
  3. Öffne Command Palette (Ctrl+P / Cmd+P)
  4. Suche nach: "Mindnet: Chain Workbench (Current Section)"
  5. Klicke auf den Command

Schritt 3: Workbench UI verwenden

Erwartetes Verhalten:

  • Modal öffnet sich mit:
    • Links: Liste aller Template Matches
    • Rechts: Details des ausgewählten Matches
  • Filter nach Status verfügbar
  • Suche nach Template-Name funktioniert

Zu testen:

  1. Match-Liste:

    • Alle Matches werden angezeigt (nicht nur Top-1)
    • Status-Icons sind korrekt (✓, ~, ○, ⚠)
    • Sortierung: near_complete zuerst
  2. Match-Details:

    • Slots-Info korrekt angezeigt
    • Links-Info korrekt angezeigt
    • Todos werden aufgelistet
  3. Todo-Actions:

    • Klicke auf "Insert Edge" für missing_link Todo
    • Wähle Zone (Section / Note-Verbindungen / Kandidaten)
    • Wähle Edge-Typ
    • Prüfe: Edge wurde eingefügt
    • Prüfe: Workbench aktualisiert sich nach Apply
  4. Candidate Promotion:

    • Wenn Candidate Edge vorhanden, sollte candidate_cleanup Todo erscheinen
    • Klicke auf "Promote"
    • Prüfe: Candidate wurde zu explizitem Edge befördert
    • Prüfe: Candidate wurde aus Kandidaten-Zone entfernt (wenn keepOriginal=false)

Testing Interview-Orchestrierung

Schritt 1: Missing Slot Todo erstellen

  1. Öffne Chain Workbench für eine Section mit fehlendem Slot
  2. Wähle einen Match mit missing_slot Todo

Schritt 2: Create Note via Interview

  1. Klicke auf "Create Note" Button
  2. Erwartetes Verhalten:
    • Profile Selection Modal öffnet sich
    • Nur erlaubte Profile werden angezeigt (gefiltert nach allowedNodeTypes)
    • User wählt Profile, Titel, Ordner
  3. Nach Auswahl:
    • Note wird erstellt mit Frontmatter
    • Zonen werden erstellt (je nach Settings)
    • Interview Wizard startet automatisch
  4. Nach Interview-Abschluss:
    • Soft-Validation prüft requiredEdges
    • Notice zeigt fehlende Edges (falls vorhanden)

Zu testen:

  • Profile-Filterung funktioniert
  • Note wird korrekt erstellt
  • Interview startet
  • Soft-Validation zeigt korrekte Meldungen

Testing Vault Triage Scan

Schritt 1: Scan starten

  1. Öffne Command Palette
  2. Suche nach: "Mindnet: Scan Vault for Chain Gaps"
  3. Klicke auf den Command

Schritt 2: Scan durchführen

Erwartetes Verhalten:

  • Modal öffnet sich
  • "Start Scan" Button verfügbar
  • Nach Klick: Scan läuft durch alle Dateien
  • Progress wird angezeigt

Zu testen:

  1. Scan-Prozess:

    • Progress wird aktualisiert
    • Aktuelle Datei wird angezeigt
    • Scan kann unterbrochen werden (Cancel)
  2. Backlog-Liste:

    • Items werden nach Scan angezeigt
    • Sortierung: near_complete zuerst
    • Gap-Counts sind korrekt
  3. Filter:

    • Status-Filter funktioniert
    • Gap-Typ-Filter funktioniert (missing_slot, missing_link, etc.)
    • Suche funktioniert (File, Heading, Template)
  4. Actions:

    • "Open Workbench" öffnet Datei und Workbench
    • "Deprioritize" markiert Item als deprioritized
    • Item verschwindet nicht, sondern wird gefiltert
  5. Resume:

    • Schließe Modal während Scan läuft
    • Öffne Scan erneut
    • "Resume Scan" sollte verfügbar sein
    • Scan setzt fort

Troubleshooting

Plugin lädt nicht

  • Prüfe: main.js existiert im Plugin-Ordner
  • Prüfe: manifest.json ist vorhanden
  • Prüfe: Console (F12) für Fehler
  • Prüfe: Plugin ist in Settings aktiviert

Chain Workbench zeigt keine Matches

  • Prüfe: Chain Templates sind geladen (Settings → Dictionary Paths)
  • Prüfe: Section hat Edges oder Links
  • Prüfe: Console für Fehler
  • Prüfe: Template Matching Profile ist korrekt

Interview startet nicht

  • Prüfe: Interview Config ist geladen
  • Prüfe: Profile existiert für gewählten noteType
  • Prüfe: Settings → autoStartInterviewOnCreate ist aktiviert

Vault Scan ist langsam

  • Normal für große Vaults
  • Scan kann unterbrochen werden
  • Progress wird gespeichert für Resume

Edge wird nicht eingefügt

  • Prüfe: Zone existiert oder wird erstellt
  • Prüfe: Section hat Semantic Mapping Block oder wird erstellt
  • Prüfe: Console für Fehler
  • Prüfe: File-Berechtigungen

Debug-Modus

Für detaillierte Logs:

  1. Öffne Obsidian Console (F12)
  2. Aktiviere Debug-Logging in Settings:
    • Settings → Mindnet Settings → Debug Logging

Wichtige Console-Logs:

  • [Chain Workbench] - Workbench-Operationen
  • [Vault Triage Scan] - Scan-Operationen
  • [Chain Inspector] - Template Matching
  • [Workbench] - Todo-Generierung

Beispiel-Workflow

  1. Erstelle Test-Note mit unvollständiger Chain:

    ## Kontext
    
    Content hier.
    
    > [!abstract]- 🕸️ Semantic Mapping
    >> [!edge] caused_by
    >> [[Note A]]
    
  2. Öffne Chain Workbench für diese Section

  3. Erwartung:

    • Match für Template (z.B. trigger_transformation_outcome)
    • Status: partial oder near_complete
    • Todos: missing_slot für "transformation" oder "outcome"
  4. Teste Actions:

    • Klicke "Create Note" → Interview startet
    • Oder: Klicke "Insert Edge" → Edge wird eingefügt
  5. Nach Apply:

    • Workbench aktualisiert sich automatisch
    • Match-Status verbessert sich (z.B. partialnear_complete)

Nächste Schritte

Nach erfolgreichem Test:

  1. Teste mit realen Vault-Daten
  2. Prüfe Performance bei großen Vaults
  3. Teste Edge-Cases (leere Sections, fehlende Zonen, etc.)
  4. Gib Feedback zu UX/UI

Bekannte Einschränkungen

  • link_existing ist noch Placeholder (fügt Link ein, aber Slot-Assignment erfordert Re-Run)
  • Interview Quick-Insert (requiredEdges) ist vorbereitet, aber noch nicht vollständig integriert
  • insert_edge_inverse noch nicht implementiert
  • change_edge_type noch nicht implementiert

Diese Features werden in späteren Iterationen vervollständigt.