From 208e449bc9844a1f104f7e5d1f0116fe8e6d4eae Mon Sep 17 00:00:00 2001 From: Schalli Date: Tue, 11 Aug 2026 13:37:47 +0200 Subject: [PATCH] docs(16): UAT test 7 passed after the full sync run The user released the full run once it was clear nothing there is productive yet. All three report lines appeared (401 created / 9 memberships added / 0 groups adopted, renamed or deleted), and the amber default-marker line stayed absent as it should when nothing was deleted. The run doubles as the end-to-end proof for the 260811-f9i fix: the imported group survived the sweep with its memberships filled, where the old filter would have deleted it in exactly this run. Roadmap marks Phase 16 complete; Phase 15 keeps its 7/8 with the reason named. Co-Authored-By: Claude Opus 5 (1M context) --- .planning/ROADMAP.md | 5 ++-- .../16-ad-gruppen-synchronisation/16-UAT.md | 28 +++++++++++++------ 2 files changed, 22 insertions(+), 11 deletions(-) diff --git a/.planning/ROADMAP.md b/.planning/ROADMAP.md index 89a9971..ad3a7df 100644 --- a/.planning/ROADMAP.md +++ b/.planning/ROADMAP.md @@ -34,7 +34,7 @@ Decimal phases appear between their surrounding integers in numeric order. - [ ] **Phase 13: Scraping Adapters & Cross-Source Deduplication** - AI-AG NetServer + cosinex adapters with fuzzy cross-source dedup and a hard denylist for banned portals - [ ] **Phase 14: RSS, Email-Alert Ingestion & Module Rollout** - RSS + email-alert long tail, admin source/mailbox config, excluded-portal transparency, i18n - [ ] **Phase 15: Modul-Berechtigungen: Gruppen & User-Grants** - Modulzugriff pro Gruppe und pro Benutzer zusätzlich zur Mandanten-Aktivierung, Gruppen mit optionaler AD-Bindung -- [ ] **Phase 16: AD-Gruppen-Synchronisation** - Ausgewählte AD-Gruppen werden als Tessera-Gruppen übernommen und in Name, Bestand und Mitgliedschaft nachgeführt +- [x] **Phase 16: AD-Gruppen-Synchronisation** - Ausgewählte AD-Gruppen werden als Tessera-Gruppen übernommen und in Name, Bestand und Mitgliedschaft nachgeführt (completed 2026-08-11) ## Phase Details @@ -607,4 +607,5 @@ Phases execute in numeric order: 1 -> 2 -> 3 -> 4 -> 5 -> 6 -> 7 -> 8 -> 9 -> 10 | 12. Tender Notifications | 4/4 | In Progress| | | 13. Scraping Adapters & Cross-Source Deduplication | 6/6 | In Progress| | | 14. RSS, Email-Alert Ingestion & Module Rollout | 5/5 | In Progress| | -| 15. Modul-Berechtigungen: Gruppen & User-Grants | 7/8 | In Progress| | +| 15. Modul-Berechtigungen: Gruppen & User-Grants | 7/8 | In Progress| 15-04 ohne SUMMARY | +| 16. AD-Gruppen-Synchronisation | 5/5 | Complete | 2026-08-11 | diff --git a/.planning/phases/16-ad-gruppen-synchronisation/16-UAT.md b/.planning/phases/16-ad-gruppen-synchronisation/16-UAT.md index f24bc0b..283f368 100644 --- a/.planning/phases/16-ad-gruppen-synchronisation/16-UAT.md +++ b/.planning/phases/16-ad-gruppen-synchronisation/16-UAT.md @@ -104,8 +104,8 @@ notes: | ### 7. Browser: Sync-Bericht und Freigabe-Matrix expected: /admin/ldap — Sync ausloesen, alle drei Zahlenzeilen erscheinen auch bei Werten von 0; die gelbe Zeile zur verschobenen Standardmarkierung erscheint nur, wenn das tatsaechlich passiert ist; ein fehlgeschlagener Sync zeigt eine Fehlermeldung statt eines Null-Berichts. /admin/modules/grants — die Spaltensuche findet eine Gruppe sowohl unter ihrem internen als auch unter ihrem AD-Namen. -result: partial -tested: 2026-08-11 auf alpha.tessera.ctl.de, Playwright +result: passed +tested: 2026-08-11 auf alpha.tessera.ctl.de, Playwright (Fehlerpfad und Matrix vormittags, erfolgreicher Lauf um 13:32) notes: | Bestanden: Fehlerfall des Berichts (D-21) — bei erzwungener 500-Antwort auf POST /ldap/sync erscheint "Die Synchronisation konnte nicht ausgefuehrt werden.", @@ -113,11 +113,21 @@ notes: | Bestanden: Freigabe-Matrix — Spaltenkopf zeigt den internen Namen "Claude Verteiler"; die Spaltensuche findet die Gruppe sowohl unter "Claude Verteiler" als auch unter dem AD-Namen "Claude_VT". - OFFEN: die drei Zahlenzeilen eines ERFOLGREICHEN Sync-Laufs und die Amber-Zeile - zur verschobenen Standardmarkierung. Ein echter Sync wurde auf Wunsch des Users - uebersprungen, weil ohne gesetzten Gruppen-/OU-Filter alle Personen unter - DC=ctl,DC=local als Tessera-Benutzer angelegt wuerden. Nachzuholen zusammen mit - Test 3 und 4, die ohnehin einen echten Sync-Lauf brauchen. + Nachgeholt am 2026-08-11 um 13:32 — der User hat den vollen Lauf freigegeben + ("Noch laeuft das nicht produktiv"). Alle drei Zahlenzeilen erschienen: + "Erstellt: 401, aktualisiert: 3, deaktiviert: 0" / "Gruppenmitgliedschaften: + 9 hinzugefuegt, 0 entfernt" / "AD-Gruppen: 0 neu uebernommen, 0 umbenannt, + 0 geloescht". Die Amber-Zeile zur verschobenen Standardmarkierung blieb korrekt + aus, weil nichts geloescht wurde. + + Nebenbefund von Wert: der Lauf ist zugleich der End-to-End-Beleg fuer den Fix + aus 260811-f9i. Die zuvor importierte Gruppe CN=Claude_VT hat den Sync + ueberlebt (0 geloescht, 9 Mitgliedschaften befuellt) — mit dem alten Filter + waere sie in genau diesem Lauf samt Mitgliedschaften entfernt worden. + + Fehlerzeilen des Laufs sind Datenlagen im AD, kein Sync-Fehler: 7 Eintraege + ohne sAMAccountName (Kontakte/Ressourcen) und 4 E-Mail-Kollisionen aus + OU=CTL_PWS_Gruppen. Der Lauf hat sie ausgewiesen statt abzubrechen. ### 8. Nebenlaeufigkeit und Layoutstress (backstop-Aussagen) expected: Kein beobachtbares Fehlverhalten bei parallelen Anfragen, bei Reihenfolgeunabhaengigkeit, bei Sortier-Divergenz zwischen AD-Name und internem Namen, und bei sehr langen Texten in Listen und Dialogen. Diese Aussagen sind bewusst als `verification: backstop` deklariert — kein Code-Beleg reicht zu ihrer Bestaetigung. @@ -127,8 +137,8 @@ reason: Siehe Entscheidung 2026-08-11. Backstop-Aussagen, im Browser-Durchlauf v ## Summary total: 8 -passed: 3 -partial: 1 +passed: 4 +partial: 0 issues: 1 pending: 0 skipped: 4