- Updated `parseEdgesFromCallouts.ts` to support edge extraction from both callout blocks and plain lines, allowing for more flexible edge definitions. - Introduced new settings in `settings.ts` for maximum assignments collected per template, enhancing loop protection during edge processing. - Enhanced documentation in `Entwicklerhandbuch.md` to reflect changes in edge parsing and settings. - Improved UI components to utilize the new settings for better user experience in the Chain Workbench and related features.
4.9 KiB
4.9 KiB
Status gegen DoD - guides Edge Erkennung
DoD Anforderungen
✅ DoD 2: Alle Link-Formate erkennen
Status: ERFÜLLT
- ✅
[[Note]]Format wird erkannt - ✅
[[Note#Abschnitt]]Format wird erkannt - ✅
[[Note#Abschnitt ^BlockID]]Format wird erkannt - ✅
[[#^BlockID]]Format wird erkannt - ✅ Mehrere Links in einer Edge werden erkannt
- Tests: 14/14 bestehen (
parseEdgesFromCallouts.comprehensive.test.ts)
✅ DoD 3: Kanten außerhalb von Wrappern erkennen
Status: ERFÜLLT
- ✅ Edge ohne
>(plain[!edge]) wird erkannt - ✅ Edge mit
>außerhalb Abstract-Block wird erkannt - ✅ Edge mitten im Text wird erkannt
- Tests: Alle bestehen
✅ DoD 4: Verschiedene Wrapper-Typen erkennen
Status: ERFÜLLT
- ✅
[!abstract]Block wird erkannt - ✅
[!info]Block wird erkannt - ✅
[!note]Block wird erkannt - ✅
[!tip]Block wird erkannt - Tests: Alle bestehen
✅ DoD 5: Edge-Erstellung mit konfiguriertem Wrapper
Status: ERFÜLLT
- ✅
insertEdgeIntoSectionContent.tsverwendetwrapperCalloutType,wrapperTitle,wrapperFolded - ✅ Settings enthalten
mappingWrapperCalloutType,mappingWrapperTitle,mappingWrapperFolded - ✅
buildMappingBlockundinsertMappingBlockunterstützen Wrapper-Konfiguration
✅ DoD 1: Sämtliche Kanten werden richtig erkannt und auch in der Chain richtig zugeordnet
Status: ERFÜLLT
Was funktioniert:
- ✅ guides Edge wird korrekt geparst (
parseEdgesFromCallouts) - ✅ guides Edge wird in
buildNoteIndexgefunden - ✅ Candidate Nodes werden korrekt erstellt
- ✅ Slot-Candidates werden korrekt gefunden
- ✅ guides Edge wird in
findEdgeBetweengefunden, auch wenn sie später in der Liste kommt - ✅ guides Edge wird in
scoreAssignmentgefunden (satisfiedLinks: 1) - ✅ guides Edge wird in
roleEvidenceaufgenommen - ✅ Template Match zeigt
satisfiedLinks: 1/1
Gelöstes Problem:
- Problem:
foundation_forEdge (Index 11) wurde zuerst gefunden und zurückgegeben, bevor die guides Edge (Index 12) geprüft wurde - Lösung: Wenn
allowedEdgeRolesgesetzt ist, wird nur zurückgegeben, wenn die Edge-Rolle in den erlaubten Rollen ist. WennedgeRolenull ist, wirdinferRoleFromRawTypeverwendet, um die Rolle zu bestimmen - Ergebnis: guides Edge wird jetzt korrekt gefunden, auch wenn sie später in der Liste kommt
Gelöste Probleme
1. guides Edge Problem - BEHOBEN ✅
Problem: findEdgeBetween fand guides Edge nicht in scoreAssignment, wenn sie später in der Liste kam
Root Cause:
foundation_forEdge (Index 11) wurde zuerst gefunden und zurückgegebengetEdgeRolegabnullfürfoundation_forzurück (nicht inchainRolesdefiniert)- Die Lösung prüfte nur
edgeRole, nichtinferRoleFromRawType - Da
edgeRolenullwar, wurde die BedingunghasAllowedRoles && edgeRolefalsch und die Edge wurde zurückgegeben - Die guides Edge (Index 12) wurde nie geprüft
Lösung:
- Wenn
hasAllowedRolestrue ist, wird auchinferRoleFromRawTypegeprüft, wennedgeRolenull ist - Wenn die Edge-Rolle nicht in den erlaubten Rollen ist, wird weiter gesucht
- Die guides Edge wird jetzt korrekt gefunden und
satisfiedLinks: 1ist korrekt
Test: ✅ templateMatching.guidesEdgeComprehensive.test.ts besteht
2. DoD 5: Edge-Erstellung testen
Priorität: MITTEL
Status: Implementiert, aber nicht getestet
- Prüfen, ob
insertEdgeIntoSectionContentdie Wrapper-Konfiguration richtig verwendet - Test erstellen, der prüft, dass neue Edges mit konfiguriertem Wrapper erstellt werden
3. Integrationstest mit echter Datei
Priorität: HOCH
Test: Die echte Datei Geburt unserer Kinder Rouven und Rohan.md muss vollständig funktionieren:
- guides Edge wird geparst ✅
- guides Edge wird in Template Matching gefunden ❌
- guides Edge wird in Chain Workbench angezeigt ❌
Aktuelle Test-Ergebnisse
✅ parseEdgesFromCallouts.comprehensive.test.ts: 14/14 Tests bestehen
✅ templateMatching.guidesEdgeComprehensive.test.ts: 1/1 Test besteht
- satisfiedLinks: 1 (erwartet: > 0) ✅
- guides Edge wird in roleEvidence gefunden ✅
Technische Details
Edge-Struktur (aus Datei):
>> [!edge] guides
>> [[Geburt unserer Kinder Rouven und Rohan#Nächster Schritt ^next]]
Parsed Edge:
rawEdgeType: "guides"source.file: "03_experience/Geburt unserer Kinder Rouven und Rohan.md"source.sectionHeading: "Reflexion & Learning (Was lerne ich daraus?) ^learning"target.file: "Geburt unserer Kinder Rouven und Rohan"target.heading: "Nächster Schritt ^next"
Template Match:
templateName: "insight_to_decision"slotAssignments: { learning: {...}, next: {...} }satisfiedLinks: 1/1✅roleEvidence: [{ from: "learning", to: "next", edgeRole: "guides", rawEdgeType: "guides" }]✅
Erreichtes Ergebnis:
satisfiedLinks: 1/1✅roleEvidence: [{ from: "learning", to: "next", edgeRole: "guides", rawEdgeType: "guides" }]✅