docs(17-02): complete RSS-Feed-Besitzer plan

This commit is contained in:
2026-08-12 11:49:07 +02:00
parent 7dee116254
commit e45d7f2068
3 changed files with 225 additions and 10 deletions
+12 -7
View File
@@ -5,15 +5,15 @@ milestone_name: Ausschreibungs-Radar
current_phase: 17
current_phase_name: eigene-ausschreibungs-quellen-je-nutzer
status: executing
stopped_at: "17-01 abgeschlossen: TenderEmailConfig-Besitz auf userId umgezogen, Migration lokal angewendet (alpha noch nicht ausgerollt), Adapter-Fanout getestet. Naechster Schritt: Plan 17-02 (RSS-Feed-Besitzer)."
last_updated: "2026-08-12T09:27:12.562Z"
stopped_at: "17-02 abgeschlossen: RSS-Feeds bekommen einen Besitzer (D-02), Migration lokal angewendet (alpha noch nicht ausgerollt), Loeschschutz+Obergrenze+D-06-Tagging getestet. Naechster Schritt: Plan 17-03 (UI-Aufteilung)."
last_updated: "2026-08-12T09:48:46.242Z"
last_activity: 2026-08-12
last_activity_desc: Phase 17 execution started
progress:
total_phases: 17
completed_phases: 15
total_plans: 83
completed_plans: 80
completed_plans: 81
---
# Project State
@@ -28,7 +28,7 @@ See: .planning/PROJECT.md (updated 2026-07-17)
## Current Position
Phase: 17 (eigene-ausschreibungs-quellen-je-nutzer) — EXECUTING
Plan: 2 of 3
Plan: 3 of 3
Status: Ready to execute
uebersprungen (kein AD-Schreibzugriff, Entscheidung des Users 2026-08-11).
UAT-Test 2 hat einen kritischen Fehler in der Loescherkennung aufgedeckt, der
@@ -37,7 +37,7 @@ beim ersten echten Sync alle AD-gebundenen Gruppen entfernt haette — behoben i
dokumentiert in 16-VERIFICATION.md.
Last activity: 2026-08-12 — Phase 17 execution started
Progress: [██████████] 96%
Progress: [██████████] 98%
## Performance Metrics
@@ -118,6 +118,7 @@ Progress: [██████████] 96%
| Phase 16-ad-gruppen-synchronisation P04 | 3min | 3 tasks | 5 files |
| Phase 16 P05 | 6min | 2 tasks | 4 files |
| Phase 17 P01 | 76min | 3 tasks | 12 files |
| Phase 17 P02 | 58min | 3 tasks | 14 files |
## Accumulated Context
@@ -283,6 +284,10 @@ Recent decisions affecting current work:
- [Phase ?]: [17-01]: TenderEmailConfig.userId @unique ersetzt tenantId @unique (D-01); tenantId bleibt denormalisiert, wird auf create UND update mitgeschrieben
- [Phase ?]: [17-01]: email-config-Routen von @Roles(ADMIN,SUPER_ADMIN) auf @UseModule('tender-radar') umgestellt — Postfach ist jetzt Nutzereinstellung (D-01, T-17-06 accept)
- [Phase ?]: [17-01]: eigene Seite /modules/tender-radar/my-sources statt Erweiterung von /settings/general/account (D-01 offener Punkt 4)
- [Phase ?]: [17-02]: Checkpoint-Freigabe aus 17-01 deckte diese Migration bereits ab, kein zweiter Halt (gemessene 1 Bestandszeile blieb plattformweit)
- [Phase ?]: [17-02]: Startbestueckung (tenders.module.ts) vorgezogen aus Task 3 nach Task 1 (Rule 3) - find-then-create statt upsert-on-url, Prismas Compound-Unique-Typ verlangt userId als Pflicht-String
- [Phase ?]: [17-02]: seedServiceBundRssFeed() aus TendersModule.onModuleInit extrahiert (tenders.seed.ts), damit die Bestueckungs-Idempotenz echten Produktivcode testet
- [Phase ?]: [17-02]: DELETE /rss-feeds/:feedId von @Roles auf @UseModule umgestellt - Besitzpruefung im Dienst ersetzt die Rollenpruefung vollstaendig (T-17-07)
### Pending Todos
@@ -331,7 +336,7 @@ Items acknowledged and carried forward from previous milestone close:
## Session Continuity
Last session: 2026-08-12T09:27:12.530Z
Stopped at: 17-01 abgeschlossen: TenderEmailConfig-Besitz auf userId umgezogen, Migration lokal angewendet (alpha noch nicht ausgerollt), Adapter-Fanout getestet. Naechster Schritt: Plan 17-02 (RSS-Feed-Besitzer).
Last session: 2026-08-12T09:48:46.207Z
Stopped at: 17-02 abgeschlossen: RSS-Feeds bekommen einen Besitzer (D-02), Migration lokal angewendet (alpha noch nicht ausgerollt), Loeschschutz+Obergrenze+D-06-Tagging getestet. Naechster Schritt: Plan 17-03 (UI-Aufteilung).
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