2 Commits
Author SHA1 Message Date
Jannik 080656b65a ESLint 9 Flat-Config-Migration (Bonus 14)
CI / test (push) Canceled after 0s
CI / webapp (push) Canceled after 0s
- eslint.config.js (NEU): Flat-Config fuer ESLint 9
  - Globals explizit definiert (console, process, Buffer, etc.)
  - TypeScript-Parser + Plugin
  - Rules: no-unused-vars, no-explicit-any (warn)
  - Tests haben relaxed rules (no-explicit-any off, fuer Mocks)
- .eslintrc.cjs -> .eslintrc.cjs.bak (Deprecation-Warnung weg)
- package.json scripts.lint: USE_FLAT_CONFIG-Flag entfernt (default flat)
- Tests: 2 tote Variablen entfernt
  - tests/tfidf.test.ts: jaccardSim (ungenutzt, nur Kommentar-Vergleich noetig)
  - tests/webapp/manifest.test.ts: indexHtmlPath (ungenutzt)

Verifiziert:
- 117/117 Tests gruen
- ESLint exit 0 (ohne Deprecation-Warnung)
- Tool-Build OK, Webapp-Build OK
2026-09-05 13:03:19 +02:00
Jannik 7fdca79419 v2.0.3: TF-IDF Cosinus-Aehnlichkeit (2.5-erweitert)
CI / test (push) Canceled after 0s
CI / webapp (push) Canceled after 0s
- src/ingest.ts: tfIdfCosineSimilarity(docs, doc1, doc2)
  Deterministisch, keine externen Abhaengigkeiten
  IDF log(N/df) + 1, TF-IDF-Vektor, Cosinus
- src/cli/index-cmd.ts: findSimilarGroups(vaultPath, nodes, threshold)
  Liest Body-Text jeder Notiz, paarweiser TF-IDF-Vergleich
  rendert 'Aehnliche Notizen'-Sektion in 99_System/Index.md
  Threshold 0.15 (TF-IDF Cosinus ist konservativer als Jaccard)
- tests/tfidf.test.ts: 5 neue Tests
  - identische Dokumente: 1.0
  - thematisch aehnliche > thematisch ungleiche
  - 0.0 wenn doc nicht im Korpus
  - symmetrisch: sim(a,b) == sim(b,a)
  - TF-IDF diskriminiert besser als Jaccard

Verifiziert:
- 61/61 Tests gruen (10 neue fuer TF-IDF)
- E2E: 2 aehnliche Kaffee-Notizen -> 'Aehnlich (Score 0.34)' in Index.md
- Ungleiche Notiz (Sport) wird nicht als aehnlich markiert
- Jaccard bleibt als einfachere Alternative erhalten
2026-09-05 12:33:56 +02:00