Files
kosmos-storage-audit/README.md
2026-04-20 20:41:07 +00:00

51 lines
2.5 KiB
Markdown

# Kosmos Storage Audit
Dieses Verzeichnis enthaelt einen ersten Modul-Prototypen fuer die Analyse von Medienreferenzen und riskanten Ablageorten in FoundryVTT.
## Foundry Manifest
- Manifest-URL:
- `https://gitea.kosmos.ac/kosmos/kosmos-storage-audit/raw/branch/main/module.json`
- Download-URL:
- `https://gitea.kosmos.ac/kosmos/kosmos-storage-audit/archive/main.zip`
## Ausrichtung
- Das Zielprodukt ist ein online nutzbares Foundry-Modul.
- Die Kernlogik unter `scripts/core/` ist bewusst runtime-neutral gehalten.
- `scripts/adapters/foundry-runtime.js` bindet die Kernlogik an die laufende Foundry-Instanz.
- `tools/offline-analyze.mjs` ist nur ein Entwicklungs-Harness, um Parser und Matching lokal gegen eine gestoppte Instanz zu pruefen.
## Erste Kernbausteine
- `path-utils.js`
- Normalisierung auf `data:` und `public:` inklusive URL-Decoding und Unicode-Normalisierung
- `reference-extractor.js`
- rekursive String- und Attribut-Extraktion aus JSON/Objekten inklusive Wildcard-Erkennung
- `finding-engine.js`
- Klassifizierung von Broken References, Orphans und Fremdverweisen mit Wildcard-Matching
- `analyzer.js`
- Orchestrierung von Dateien, Quellen und Findings
- `audit-report-app.js`
- Foundry-UI mit Fortschrittsanzeige, gruppierter Arbeitsansicht, JSON-Export und lokalisierter Oberfläche
## Wichtige Heuristik
- Bei mehreren Welten versucht das Tool nicht, globale "echte Orphans" im gesamten `data`-Root zu behaupten.
- Orphans werden nur in klar eingrenzbaren Bereichen gemeldet:
- weltlokale Bereiche
- explizit riskante Paket-`storage`-Ordner
- nicht offensichtliche `public`-Bereiche
- Weltverweise auf Modul- oder Systemassets gelten nicht pauschal als Problem.
- Sie werden erst dann hochgezogen, wenn das Zielasset im owning Paket selbst nicht sichtbar referenziert ist.
- Wildcard-Pfade wie `Ork*_Token.webp` werden nicht als kaputt markiert, solange mindestens eine passende Datei im gescannten Root existiert.
- Dieselben Wildcard-Referenzen zaehlen auch als eingehende Referenz fuer passende Dateien und verhindern damit false-positive `orphan-file`-Treffer.
- URL-encodierte oder unterschiedlich normalisierte Umlaute sollen auf dieselbe kanonische Pfadform zusammengefuehrt werden.
- Die UI unterstuetzt konsistent Deutsch und Englisch ueber Foundry-Sprachdateien.
## Noch offen
- bessere Laufzeitabdeckung fuer Welteinstellungen und weitere Referenzquellen
- optional zusaetzliche Exportformate neben JSON
- Aktionen zum sicheren Verschieben oder Migrieren