scripts/make_test_vault.py aktualisiert
Some checks failed
Deploy mindnet to llm-node / deploy (push) Failing after 2s
Some checks failed
Deploy mindnet to llm-node / deploy (push) Failing after 2s
This commit is contained in:
parent
23952aa3c5
commit
9362064ad1
|
|
@ -3,31 +3,32 @@
|
||||||
"""
|
"""
|
||||||
make_test_vault.py — erzeugt einen minimalen, nachvollziehbaren Test-Vault
|
make_test_vault.py — erzeugt einen minimalen, nachvollziehbaren Test-Vault
|
||||||
|
|
||||||
Version: 1.1 (2025-09-05)
|
Version: 1.2 (2025-09-09)
|
||||||
Änderungen ggü. 1.0:
|
Änderungen ggü. 1.1:
|
||||||
- created/updated werden als QUOTED ISO-Strings geschrieben, damit der YAML-Parser
|
- Fügt **externe Links** (http/mailto) in `exp-two.md` hinzu, damit der Chunk-Payload-Exporter
|
||||||
sie nicht in datetime-Objekte konvertiert (Schema verlangt strings).
|
`external_links` realistisch testen kann.
|
||||||
- Kommentare/Output gestrafft.
|
- Kleine Textanpassungen zur stabilen Chunk-Bildung (Absatzstruktur).
|
||||||
|
|
||||||
Zweck
|
Zweck
|
||||||
- Kleiner Obsidian-ähnlicher Vault zum Durchspielen des Importers (Chunks/Edges).
|
- Kleiner Obsidian-ähnlicher Vault zum Durchspielen des Importers (Chunks/Edges).
|
||||||
- Szenarien: leere Links, spätere Anlage fehlender Noten, Chunk-Neuaufteilung.
|
- Szenarien: leere Links, spätere Anlage fehlender Noten, Chunk-Neuaufteilung, externe Links.
|
||||||
|
|
||||||
Struktur (Default: ./test_vault)
|
Struktur (Default: ./test_vault)
|
||||||
- 40_concepts/concept-alpha.md
|
- 40_concepts/concept-alpha.md
|
||||||
- 20_experiences/exp-one.md (verlinkt auf [[concept-alpha]] und [[missing-note]])
|
- 20_experiences/exp-one.md (verlinkt auf [[concept-alpha]] und [[missing-note]])
|
||||||
- 20_experiences/exp-two.md (verlinkt auf [[concept-alpha]])
|
- 20_experiences/exp-two.md (verlinkt auf [[concept-alpha]] + externe Links)
|
||||||
- 30_projects/project-demo.md (verlinkt auf [[concept-alpha]] und [[exp-one]])
|
- 30_projects/project-demo.md (verlinkt auf [[concept-alpha]] und [[exp-one]])
|
||||||
|
|
||||||
Voraussetzungen
|
Voraussetzungen
|
||||||
- Keine. Rein Dateigenerierung.
|
- Keine. Rein Dateigenerierung.
|
||||||
|
|
||||||
Aufruf
|
Aufruf
|
||||||
python3 -m scripts.make_test_vault [--out ./test_vault] [--force]
|
python3 -m scripts.make_test_vault [--out ./test_vault] [--force] [--with-missing]
|
||||||
|
|
||||||
Parameter
|
Parameter
|
||||||
--out Zielverzeichnis (Standard: ./test_vault)
|
--out Zielverzeichnis (Standard: ./test_vault)
|
||||||
--force Bestehenden Ordner löschen und neu anlegen.
|
--force Bestehenden Ordner löschen und neu anlegen.
|
||||||
|
--with-missing Auch die 'missing-note' direkt anlegen (Standard: erst im 2. Lauf)
|
||||||
|
|
||||||
Hinweise für Tests
|
Hinweise für Tests
|
||||||
1) Erster Import (dry-run oder --apply): Es gibt einen „leeren“ Link [[missing-note]].
|
1) Erster Import (dry-run oder --apply): Es gibt einen „leeren“ Link [[missing-note]].
|
||||||
|
|
@ -35,6 +36,7 @@ Hinweise für Tests
|
||||||
-> Erwartung: Edges für ehemals leeren Link werden korrekt nachgezogen (references + backlink).
|
-> Erwartung: Edges für ehemals leeren Link werden korrekt nachgezogen (references + backlink).
|
||||||
3) Ändere den Body von exp-one.md so, dass andere Chunk-Grenzen entstehen und importiere erneut:
|
3) Ändere den Body von exp-one.md so, dass andere Chunk-Grenzen entstehen und importiere erneut:
|
||||||
-> Erwartung: Chunks/Edges/Note werden für betroffene Noten aktualisiert.
|
-> Erwartung: Chunks/Edges/Note werden für betroffene Noten aktualisiert.
|
||||||
|
4) Prüfe externe Links (verify_chunk_texts.py betrifft nur Text; externe Links siehst du in chunk_payloads).
|
||||||
|
|
||||||
Kompatibel mit:
|
Kompatibel mit:
|
||||||
- note.schema.json: 'created'/'updated' müssen strings sein. (Wichtig!)
|
- note.schema.json: 'created'/'updated' müssen strings sein. (Wichtig!)
|
||||||
|
|
@ -52,7 +54,6 @@ def iso_now() -> str:
|
||||||
|
|
||||||
def q(s: str) -> str:
|
def q(s: str) -> str:
|
||||||
# Sicheres Quoten für YAML-Frontmatter
|
# Sicheres Quoten für YAML-Frontmatter
|
||||||
# (einfaches doppelt-Quoten reicht hier, da wir keine eingebetteten """ verwenden)
|
|
||||||
return f"\"{s}\""
|
return f"\"{s}\""
|
||||||
|
|
||||||
TEMPLATE_CONCEPT = """---
|
TEMPLATE_CONCEPT = """---
|
||||||
|
|
@ -66,7 +67,7 @@ tags: ["area/mindnet","type/concept","topic/test"]
|
||||||
---
|
---
|
||||||
|
|
||||||
## Beschreibung
|
## Beschreibung
|
||||||
Dies ist ein einfaches Konzept für Testzwecke.
|
Dies ist ein einfaches Konzept für Testzwecke. Es wird von anderen Notizen referenziert.
|
||||||
|
|
||||||
## Mögliche Verbindungen
|
## Mögliche Verbindungen
|
||||||
- [[exp-one]]
|
- [[exp-one]]
|
||||||
|
|
@ -109,10 +110,12 @@ tags: ["area/mindnet","type/experience","topic/test"]
|
||||||
---
|
---
|
||||||
|
|
||||||
## Kontext
|
## Kontext
|
||||||
Zweite Experience, die auf dasselbe Konzept verweist.
|
Zweite Experience, die auf dasselbe Konzept verweist, ergänzt um **externe Links**.
|
||||||
|
|
||||||
## Beobachtung
|
## Beobachtung
|
||||||
Verweis auf [[concept-alpha]].
|
Verweis auf [[concept-alpha]]. Zusätzliche Ressourcen:
|
||||||
|
- Link: [Beispielseite](https://example.com "Referenz")
|
||||||
|
- Kontakt: [E-Mail](mailto:info@example.com)
|
||||||
|
|
||||||
## Mögliche Verbindungen
|
## Mögliche Verbindungen
|
||||||
- [[concept-alpha]]
|
- [[concept-alpha]]
|
||||||
|
|
@ -218,6 +221,7 @@ def main():
|
||||||
print(" 1) Zuerst ohne missing-note anlegen (Standard), importieren, Edges prüfen.")
|
print(" 1) Zuerst ohne missing-note anlegen (Standard), importieren, Edges prüfen.")
|
||||||
print(" 2) Dann erneut ausführen mit --force --with-missing (missing-note wird erzeugt),")
|
print(" 2) Dann erneut ausführen mit --force --with-missing (missing-note wird erzeugt),")
|
||||||
print(" und Import wiederholen → Edges/Backlinks sollten nachgezogen werden.")
|
print(" und Import wiederholen → Edges/Backlinks sollten nachgezogen werden.")
|
||||||
|
print(" 3) In exp-two.md sind **externe Links** enthalten → prüfe `external_links` in Chunk-Payloads.")
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
main()
|
main()
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user