Compare commits

..

No commits in common. "156df400f040993c7a57ca5a2837a792e094cd89" and "2592b89bc61d67b28eb50bb52245d85e56eba2ba" have entirely different histories.

View File

@ -5,13 +5,6 @@
**Status**: Draft
**Input**: User description: "Global Policy Search for Intune settings - A search engine within the SaaS app that indexes and searches all Intune policy settings"
## Clarifications
### Session 2025-12-07
- Q: Welche Synchronisierungsstrategie soll die Ingestion-API verwenden? → A: Incrementelles Upsert (nur geänderte Settings) - Die API führt ein Upsert durch (unique constraint auf tenantId + graphPolicyId + settingName), sodass nur neue/geänderte Einstellungen geschrieben werden. Dies minimiert Datenbankload und ist skalierbar.
- Q: Welche Suchlatenz wird unter verschiedenen Lastszenarien garantiert? → A: Immer < 2s garantiert (auch bei 100 gleichzeitigen Anfragen) - Strikte Performance-Anforderung für alle Lastbedingungen. Erfordert optimierte Datenbankindizes und möglicherweise Caching-Strategie.
## User Scenarios & Testing *(mandatory)*
### User Story 1 - Search Policy Settings (Priority: P1)
@ -97,11 +90,10 @@ Als n8n-Workflow möchte ich Policy-Einstellungen über eine API in die Datenban
### Measurable Outcomes
- **SC-001**: Admin kann eine Suche durchführen und Ergebnisse in unter 2 Sekunden sehen (garantiert auch bei 100 gleichzeitigen Anfragen).
- **SC-001**: Admin kann eine Suche durchführen und Ergebnisse in unter 2 Sekunden sehen.
- **SC-002**: 100% der Suchanfragen werden mit Tenant-Filterung ausgeführt.
- **SC-003**: Suchergebnisse werden aus der lokalen Datenbank geladen (keine externen API-Calls während der Suche).
- **SC-004**: Admin findet alle relevanten Policies, die den Suchbegriff im Einstellungs-Namen oder -Wert enthalten.
- **SC-005**: Datenbankindizes auf `tenantId`, `settingName` und `settingValue` gewährleisten konstante Performance unter Last.
## Assumptions