Vom Nacht-Agenten gefundene Lücke (P1), gegen den echten Code verifiziert: das Backup-Archiv enthielt nur db.sql/config/manifest.json, nicht das Anhänge-Verzeichnis (STORE_ROOT, /var/lib/kundencenter/ticket-attachments). Bei einem echten Datenverlust wären alle Ticket-Anhänge unwiederbringlich verloren gewesen, obwohl die Datenbank-Referenzen darauf erhalten blieben. - runBackup: Anhänge-Verzeichnis wird mit in archive.tar.gz gepackt (eigener -C-Abschnitt, da es außerhalb des Arbeitsverzeichnisses liegt), Datei-/ Byte-Anzahl landet zur Kontrolle im manifest.json. - runRestoreTest: prüft nach dem Entpacken, ob Datei- und Byte-Anzahl der Anhänge mit dem Manifest übereinstimmen (wie die bestehenden Zeilenzahl-/ Migrations-/Audit-Kette-Prüfungen). Ältere Sicherungen ohne dieses Feld werden übersprungen statt fälschlich als fehlerhaft gemeldet. Gegen eine echte Sicherung+Wiederherstellungstest verifiziert (zwei Testdateien im Anhänge-Verzeichnis angelegt, Backup gefahren, Restore-Test lief grün mit anhaengeDateien: 2). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| src | ||
| test | ||
| package.json | ||
| tsconfig.json | ||
| vitest.config.ts | ||