Files
kosmos-storage-audit/README.md
2026-04-20 20:33:13 +00:00

2.4 KiB

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 und JSON-Export

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.

Noch offen

  • bessere Laufzeitabdeckung fuer Welteinstellungen und weitere Referenzquellen
  • optional zusaetzliche Exportformate neben JSON
  • Aktionen zum sicheren Verschieben oder Migrieren