diff --git a/dms/docs/DOK-04-PRUEFPROTOKOLL.md b/dms/docs/DOK-04-PRUEFPROTOKOLL.md new file mode 100644 index 00000000..4c99e36f --- /dev/null +++ b/dms/docs/DOK-04-PRUEFPROTOKOLL.md @@ -0,0 +1,62 @@ +# DOK-04 – Prüfprotokoll + +Migration: `dms/internal/migrationmetadata` — Custom Fields (MET-02, +`metadata_fields`/`metadata_field_versions`) und Klassifikationsvorlagen +(MET-04, `document_types`/`document_type_fields`) aus archivdms, inklusive +bereits befüllter Feldwerte an durch DOK-01 migrierten Dokumenten +(`document_metadata_values`). Keine neue SQL-Migration nötig — alle +Zieltabellen existieren bereits (MET-02/MET-04 sind fertig gemergt). + +## Prüfung 1 — Stichprobe von 5 synthetischen Vorlagen/Feldern vor/nach Migration + +Synthetische Quelle (`dms/internal/migrationmetadata/migrate_test.go`, +`newSyntheticSource`): 5 Custom Fields (Text/Datum/Zahl/Bool/Auswahl, je mit +Pflichtkennzeichen, Standardwert bzw. Validierungsregel) und 5 Klassifikations- +vorlagen (Name, Aufbewahrungsklasse, gebündelte Felder). + +Ausführung: `go test ./internal/migrationmetadata/... -run TestMigrateAll_AkzeptanzkriteriumIdentischeDefinition -v` +gegen `dms_dev` (Host 192.168.1.204). + +Zielwert: Label, Feldtyp und Pflichtkennzeichen jedes der 5 Felder sowie Name, +Aufbewahrungsklasse und Anzahl gebündelter Felder jeder der 5 Vorlagen stimmen +nach der Migration exakt mit der Quelle überein. + +Ergebnis: **PASS** (`TestMigrateAll_AkzeptanzkriteriumIdentischeDefinition`, +0,29s, 2026-10-14). + +## Prüfung 2 — Feldwerte einer Stichprobe migrierter Dokumente gegen Quelle + +Synthetische Quelle: 3 Feldwerte an 2 synthetischen Dokumenten, deren IDs +über dieselbe deterministische Ableitung (`deriveUUID("document", ...)`) wie +in DOK-01 erzeugt werden — simuliert den Zustand nach einer vorangegangenen +DOK-01-Dokumentenmigration. + +Ausführung: `go test ./internal/migrationmetadata/... -run TestMigrateAll_AkzeptanzkriteriumFeldwerteErhalten -v` +gegen `dms_dev`. + +Zielwert: alle 3 Feldwerte sind nach der Migration unter der korrekten +Dokument-/Feld-ID-Kombination mit identischem Wert vorhanden. + +Ergebnis: **PASS** (`TestMigrateAll_AkzeptanzkriteriumFeldwerteErhalten`, +0,25s, 2026-10-14). + +## Zusatzprüfung — Wiederholbarkeit + +`TestMigrateAll_AkzeptanzkriteriumWiederholbar`: ein zweiter Lauf gegen +dieselbe Quelle migriert 0 neue Felder/Vorlagen/Werte und erzeugt keine +Duplikate (deterministische IDs, `ON CONFLICT DO NOTHING`). + +Ergebnis: **PASS** (0,25s, 2026-10-14). + +## Regressionsprüfung + +`go build ./internal/migrationmetadata/...`, `go vet ./internal/migrationmetadata/...` +sowie die Bestandstests `./internal/metadatafield/...` und +`./internal/documenttype/...` liefen nach der Änderung unverändert grün +(10 Tests, alle PASS) — keine Rückwirkung auf MET-02/MET-04 selbst. + +## Umgebung + +Host 192.168.1.204 (Wegwerf-Checkout `/root/dok04-work-`, nach +Testlauf entfernt), DB `dms_dev`, Go 1.26.5 / Postgres 17.10. Ausschließlich +synthetische Testfixtures, keine echten archivdms-Daten.