- 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.
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
- Node.js installiert (LTS Version empfohlen)
- Obsidian installiert
- Vault mit Mindnet-konfigurierten Dateien:
Dictionary/chain_templates.yamlDictionary/chain_roles.yamlDictionary/edge_vocabulary.mdDictionary/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
- Öffne dein Obsidian Vault
- Gehe zu
.obsidian/plugins/ - Erstelle Ordner
mindnet-causal-assistant(falls nicht vorhanden) - Kopiere folgende Dateien:
main.js(aus Projekt-Root)manifest.json(aus Projekt-Root)styles.css(falls vorhanden)
4. Plugin aktivieren
- Öffne Obsidian Settings
- Gehe zu Community plugins
- Aktiviere Mindnet Causal Assistant
- 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
- Edge Vocabulary Path:
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
- Öffne die Test-Note im Editor
- Setze den Cursor in eine Section (z.B. "Kontext")
- Öffne Command Palette (
Ctrl+P/Cmd+P) - Suche nach: "Mindnet: Chain Workbench (Current Section)"
- 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:
-
Match-Liste:
- Alle Matches werden angezeigt (nicht nur Top-1)
- Status-Icons sind korrekt (✓, ~, ○, ⚠)
- Sortierung: near_complete zuerst
-
Match-Details:
- Slots-Info korrekt angezeigt
- Links-Info korrekt angezeigt
- Todos werden aufgelistet
-
Todo-Actions:
- Klicke auf "Insert Edge" für
missing_linkTodo - Wähle Zone (Section / Note-Verbindungen / Kandidaten)
- Wähle Edge-Typ
- Prüfe: Edge wurde eingefügt
- Prüfe: Workbench aktualisiert sich nach Apply
- Klicke auf "Insert Edge" für
-
Candidate Promotion:
- Wenn Candidate Edge vorhanden, sollte
candidate_cleanupTodo erscheinen - Klicke auf "Promote"
- Prüfe: Candidate wurde zu explizitem Edge befördert
- Prüfe: Candidate wurde aus Kandidaten-Zone entfernt (wenn
keepOriginal=false)
- Wenn Candidate Edge vorhanden, sollte
Testing Interview-Orchestrierung
Schritt 1: Missing Slot Todo erstellen
- Öffne Chain Workbench für eine Section mit fehlendem Slot
- Wähle einen Match mit
missing_slotTodo
Schritt 2: Create Note via Interview
- Klicke auf "Create Note" Button
- Erwartetes Verhalten:
- Profile Selection Modal öffnet sich
- Nur erlaubte Profile werden angezeigt (gefiltert nach
allowedNodeTypes) - User wählt Profile, Titel, Ordner
- Nach Auswahl:
- Note wird erstellt mit Frontmatter
- Zonen werden erstellt (je nach Settings)
- Interview Wizard startet automatisch
- 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
- Öffne Command Palette
- Suche nach: "Mindnet: Scan Vault for Chain Gaps"
- 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:
-
Scan-Prozess:
- Progress wird aktualisiert
- Aktuelle Datei wird angezeigt
- Scan kann unterbrochen werden (Cancel)
-
Backlog-Liste:
- Items werden nach Scan angezeigt
- Sortierung: near_complete zuerst
- Gap-Counts sind korrekt
-
Filter:
- Status-Filter funktioniert
- Gap-Typ-Filter funktioniert (missing_slot, missing_link, etc.)
- Suche funktioniert (File, Heading, Template)
-
Actions:
- "Open Workbench" öffnet Datei und Workbench
- "Deprioritize" markiert Item als deprioritized
- Item verschwindet nicht, sondern wird gefiltert
-
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.jsexistiert im Plugin-Ordner - Prüfe:
manifest.jsonist 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 →
autoStartInterviewOnCreateist 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:
- Öffne Obsidian Console (F12)
- 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
-
Erstelle Test-Note mit unvollständiger Chain:
## Kontext Content hier. > [!abstract]- 🕸️ Semantic Mapping >> [!edge] caused_by >> [[Note A]] -
Öffne Chain Workbench für diese Section
-
Erwartung:
- Match für Template (z.B.
trigger_transformation_outcome) - Status:
partialodernear_complete - Todos:
missing_slotfür "transformation" oder "outcome"
- Match für Template (z.B.
-
Teste Actions:
- Klicke "Create Note" → Interview startet
- Oder: Klicke "Insert Edge" → Edge wird eingefügt
-
Nach Apply:
- Workbench aktualisiert sich automatisch
- Match-Status verbessert sich (z.B.
partial→near_complete)
Nächste Schritte
Nach erfolgreichem Test:
- Teste mit realen Vault-Daten
- Prüfe Performance bei großen Vaults
- Teste Edge-Cases (leere Sections, fehlende Zonen, etc.)
- Gib Feedback zu UX/UI
Bekannte Einschränkungen
link_existingist 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_inversenoch nicht implementiertchange_edge_typenoch nicht implementiert
Diese Features werden in späteren Iterationen vervollständigt.