docs(16-02): complete backend name-lock/internalName/default-handoff plan

This commit is contained in:
2026-08-06 16:03:54 +02:00
parent f71e614f7f
commit da0361df5f
3 changed files with 202 additions and 9 deletions
+11 -7
View File
@@ -5,15 +5,15 @@ milestone_name: Ausschreibungs-Radar
current_phase: 16
current_phase_name: AD-Gruppen-Synchronisation
status: executing
stopped_at: Completed 16-01-PLAN.md
last_updated: "2026-08-06T13:48:07.306Z"
stopped_at: Completed 16-02-PLAN.md
last_updated: "2026-08-06T14:03:42.541Z"
last_activity: 2026-08-06
last_activity_desc: Phase 16 execution started
progress:
total_phases: 16
completed_phases: 13
total_plans: 80
completed_plans: 74
completed_plans: 75
---
# Project State
@@ -28,11 +28,11 @@ See: .planning/PROJECT.md (updated 2026-07-17)
## Current Position
Phase: 16 (AD-Gruppen-Synchronisation) — EXECUTING
Plan: 2 of 5
Plan: 3 of 5
Status: Ready to execute
Last activity: 2026-08-06 — Phase 16 execution started
Progress: [█████████░] 93%
Progress: [█████████░] 94%
## Performance Metrics
@@ -108,6 +108,7 @@ Progress: [█████████░] 93%
| Phase 15 P07 | 30min | 3 tasks | 7 files |
| Phase 15 P08 | 30min | 2 tasks | 12 files |
| Phase 16 P01 | 34min | 3 tasks | 10 files |
| Phase 16-ad-gruppen-synchronisation P02 | 5min | 3 tasks | 5 files |
## Accumulated Context
@@ -258,6 +259,9 @@ Recent decisions affecting current work:
- [Phase ?]: [quick-260805-fok]: ensureDefaultGroup-Waechter prueft ausschliesslich group.count === 0, nie die fehlende isDefault-Markierung (D-13); Reparatur laeuft als zweiter sequenzieller await-Schritt in AdminSeedService.onApplicationBootstrap statt als eigener Hook in GroupsModule (Ordering-Falle wie in tender-scheduler.service.ts)
- [Phase ?]: Checkpoint 1 (16-01 Task 1): approve-both — Group.internalName + ldapObjectGuid + Unique-Index in einer Migration, freigegeben 2026-08-06
- [Phase ?]: Migrationsverfahren angepasst: prisma migrate dev verweigert nicht-interaktive Shell — Ersatz via migrate diff + Handdatei + migrate deploy, inkl. Baseline der 24 Altmigrationen per migrate resolve --applied
- [Phase ?]: [16-02]: reassignDefaultBeforeDelete() nutzt bewusst nicht findOwned() — eigenes still-false-Muster fuer Batch-Sync-Laeufe (D-06), kein NotFoundException-Abbruch
- [Phase ?]: [16-02]: Namenssperre fuer importierte Gruppen (D-03) ist eine Backend-Invariante in GroupsService.update() (BadRequestException), nicht nur ein UI-Disable
- [Phase ?]: [16-02]: PERM-02 bleibt in REQUIREMENTS.md bewusst auf [ ] — dieser Plan liefert nur den Backend-Teil, das Requirement schliesst erst mit Plan 16-05
### Pending Todos
@@ -302,7 +306,7 @@ Items acknowledged and carried forward from previous milestone close:
## Session Continuity
Last session: 2026-08-06T13:48:07.273Z
Stopped at: Completed 16-01-PLAN.md
Last session: 2026-08-06T14:03:42.506Z
Stopped at: Completed 16-02-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