docs(15-06): complete Gruppenverwaltung im Admin-UI plan

This commit is contained in:
2026-08-04 19:06:54 +02:00
parent 4985e43412
commit a3e8d0a158
5 changed files with 251 additions and 11 deletions
+12 -7
View File
@@ -5,15 +5,15 @@ milestone_name: Ausschreibungs-Radar
current_phase: 15
current_phase_name: modul-berechtigungen-gruppen-user-grants
status: executing
stopped_at: Completed 15-03-PLAN.md
last_updated: "2026-08-04T16:43:23.536Z"
stopped_at: Completed 15-06-PLAN.md
last_updated: "2026-08-04T17:06:12.249Z"
last_activity: 2026-08-04
last_activity_desc: Phase 15 execution started
progress:
total_phases: 15
completed_phases: 13
total_plans: 75
completed_plans: 70
completed_plans: 71
---
# Project State
@@ -28,11 +28,11 @@ See: .planning/PROJECT.md (updated 2026-07-17)
## Current Position
Phase: 15 (modul-berechtigungen-gruppen-user-grants) — EXECUTING
Plan: 5 of 8
Plan: 6 of 8
Status: Ready to execute
Last activity: 2026-08-04 — Phase 15 execution started
Progress: [█████████░] 93%
Progress: [██████████] 95%
## Performance Metrics
@@ -104,6 +104,7 @@ Progress: [█████████░] 93%
| Phase 15-modul-berechtigungen-gruppen-user-grants P02 | 11min | 2 tasks | 11 files |
| Phase 15 P05 | 9min | 2 tasks | 5 files |
| Phase 15 P03 | 32min | 3 tasks | 8 files |
| Phase 15 P06 | 35min | 3 tasks | 8 files |
## Accumulated Context
@@ -243,6 +244,9 @@ Recent decisions affecting current work:
- [Phase ?]: [15-03]: assertTargetBelongsToTenant als eigenständige Cross-Tenant-Prüfung eines referenzierten Fremdobjekts vor jedem Grant-Insert (T-15-01), kein Vorbild im Bestandscode
- [Phase ?]: [15-03]: Kein Import von ModuleRegistryModule in GroupsModule — ModuleGrantsService injiziert ausschließlich PrismaService
- [Phase ?]: [15-03]: getCatalogFlags liefert Map nur für aktive Module, Controller mappt fehlenden Eintrag auf beide Flags false
- [Phase ?]: [15-06]: Task 2/3-Split von page.tsx haelt jeden Task-Commit fuer sich buildbar (Task 2 ohne Import der erst in Task 3 entstehenden Komponenten)
- [Phase ?]: [15-06]: Gruppen-Erstellung mit sofortiger AD-Bindung laeuft zweistufig (POST /groups, dann PATCH ldapDn), weil CreateGroupDto aus 15-02 nur name entgegennimmt
- [Phase ?]: [15-06]: matrixCheckboxLabel/directCheckboxLabel (Wave-4-Schluessel) als next-intl-ICU-select mit granted-Parameter modelliert, ein Schluessel bedient freigeben/entziehen
### Pending Todos
@@ -253,6 +257,7 @@ None yet.
- [Roadmap v1.1]: DÖE OpenData API pagination/rate-limit parameters unverified (Swagger UI is JS-rendered) — resolve via a live API call during Phase 10 planning, not assumed from docs.
- [Roadmap v1.1]: Whether AI-AG NetServer / cosinex VMP search pages require JS rendering is unverified — needs a Phase 13 start-of-phase spike before committing to playwright.
- Phase 14 Plan 03 (14-03): Task 4 human-verify OPEN — needs a real portal-alert mailbox (incl. Exchange/EWS live path) from the operator before INGEST-05's Exchange path is production-ready. Tasks 1-3 complete and committed (4d6fbb1, 8983231, 1be6b15, 48e1252); API 387/387, web 144/144 green.
- Phase 15 Plan 06 (15-06): manueller Browser-Durchklick aus dem Plan-Verification-Block nicht ausgefuehrt (kein Browser-Tool in dieser Session) — vor /gsd-ship nachholen, siehe WINDOWS.md unrun-verify #1
### Quick Tasks Completed
@@ -284,7 +289,7 @@ Items acknowledged and carried forward from previous milestone close:
## Session Continuity
Last session: 2026-08-04T16:43:23.505Z
Stopped at: Completed 15-03-PLAN.md
Last session: 2026-08-04T17:06:12.218Z
Stopped at: Completed 15-06-PLAN.md
Resume file: None
Last activity: 2026-07-14 - Built LDAP per-user exclude/denylist filter (9d1323f), migration applied on live DB, verified via Playwright: sync deactivated 4 excluded service accounts (administrator/krbtgt/guest/dns-ldap), 2 real LDAP users stay active, 0 wrongly created