feat(platform): harden access scoping and delivery baseline

This commit is contained in:
2026-03-30 00:27:31 +02:00
parent 00b936fa1f
commit 819345acfa
109 changed files with 26142 additions and 8081 deletions
+74 -37
View File
@@ -14,11 +14,10 @@ Der Assistant ist bereits relativ breit aufgestellt:
Trotzdem ist die Paritaet zur eigentlichen App/API noch nicht erreicht. Die groessten Luecken liegen nicht bei "gar nichts vorhanden", sondern bei:
- fehlenden Admin- und Konfigurationsfaehigkeiten,
- fehlenden tiefen Fach-Readmodels,
- inkonsistentem Permission-Gating,
- fehlender serverseitiger Absicherung fuer schreibende AI-Aktionen,
- und einigen objektbezogenen Sichtbarkeitsfehlern.
- weiterhin fehlenden tiefen Fach-Readmodels und Spezialworkflows,
- noch nicht vollstaendiger Router-/Objektscope-Paritaet,
- fehlender Approval-/Governance-UX ausserhalb des Chats,
- und einigen verbleibenden objektbezogenen Sichtbarkeitsfehlern.
## Architektur des Assistants
@@ -76,8 +75,38 @@ Es gibt aktuell vier Permission-/Scope-Ebenen:
- `import_csv_data`
- `list_dispo_import_batches`
- `get_dispo_import_batch`
- damit sind CSV-Export, CSV-Import und die Batch-Uebersicht der Dispo-Importe jetzt ueber echte Router-Pfade verfuegbar
- Estimates: nur Suche, Detail und Anlegen, aber kein voller Lifecycle
- `stage_dispo_import_batch`
- `validate_dispo_import_batch`
- `cancel_dispo_import_batch`
- `list_dispo_staged_resources`
- `list_dispo_staged_projects`
- `list_dispo_staged_assignments`
- `list_dispo_staged_vacations`
- `list_dispo_staged_unresolved_records`
- `resolve_dispo_staged_record`
- `commit_dispo_import_batch`
- damit sind CSV-Export, CSV-Import sowie die operativen Dispo-Import-Workflows jetzt ueber echte Router-Pfade verfuegbar
- Admin-/Systemsteuerung:
- `get_system_settings`
- `update_system_settings`
- `test_ai_connection`
- `test_smtp_connection`
- `test_gemini_connection`
- `get_ai_configured`
- `list_system_role_configs`
- `update_system_role_config`
- `list_webhooks`
- `get_webhook`
- `create_webhook`
- `update_webhook`
- `delete_webhook`
- `test_webhook`
- Settings/Webhooks laufen ueber die echten Router; Secrets werden in Assistant-Antworten maskiert
- Estimates:
- Suche
- Detail / Weekly Phasing / Commercial Terms auf Controller-/Manager-/Admin-Niveau
- zentrale Lifecycle-Mutationen inkl. Revision, Export und Planning Handoff
- Restluecke: fachlich tiefere Unterobjekte und Spezialworkflows ausserhalb der bereits angebundenen Router-Operationen
- Reports: `run_report` ist flexibel, deckt aber nicht die spezialisierten Report-/Analyse-Readmodels ab
- Chargeability / Transparenz:
- `get_chargeability_report`
@@ -88,24 +117,24 @@ Es gibt aktuell vier Permission-/Scope-Ebenen:
- vereinfachte History-Abfragen
- echte Audit-API fuer Liste, Detail, Entity-History, Timeline und Activity Summary
- Governance-Workbench ausserhalb des Chats bleibt offen
- Notification/Tasking: Kernfaelle vorhanden, aber keine volle Reminder-/Task-/Notification-Paritaet
- Notification/Tasking:
- Self-Service-Reads und Reminder-Verwaltung vorhanden
- Manager-/Admin-Lifecycle fuer Notification-, Task- und Broadcast-Workflows vorhanden
- Restluecke: weitere Spezialfaelle ausserhalb der bereits exponierten Router-Operationen
- Country-/Location-Stammdaten: nur lesend und auch dort nur flach
- Insights: Summary-Ebene vorhanden, Drilldowns fehlen
- Rollen-/Client-/Org-Unit-Stammdaten:
- Kernmutationen fuer Rollen, Clients und Org-Units laufen jetzt ueber die echten Router-Pfade statt ueber Assistant-Sonderlogik
- Restluecke: weitere Readmodels und Lifecycle-Faelle ausserhalb der bereits exponierten Router-Operationen
### Vollstaendig fehlend oder fachlich nicht ausreichend
- Webhook-Administration
- System Settings / AI / SMTP / Image-Provider Administration
- System Role Config Administration
- Import/Export-Flows
- User Self-Service und Preferences
- Country- und Metro-City-Administration
- Voller Estimate-Lifecycle
- Dispo-/Import-spezifische Flows
- Country- und Metro-City-Administration ausserhalb der bereits vorhandenen Kernmutationen
- Governance-/Approval-Workspace ausserhalb des Chats
## Kritische Inkonsistenzen und Risiken
Stand 2026-03-29: Die frueheren P0s bei Notification-Scoping, `list_users`, Mutation-Audit und reinen Permission-Texten sind behoben. Holiday-Calendar-Lesezugriffe sowie Admin-Mutationen fuer Kalender und Entries sind jetzt im Assistant vorhanden. Die folgenden Punkte bleiben relevant.
Stand 2026-03-29: Die frueheren P0s bei Notification-Scoping, `list_users`, Mutation-Audit und reinen Permission-Texten sind behoben. Zusaetzlich sind User-Self-Service/Admin-Paritaet im Tool-Visibility-Layer, Manager-Notification-Lifecycle und die wichtigsten Estimate-Lifecycle-/Readmodel-Gates jetzt an die Router-Rollen angenaehert. Holiday-Calendar-Lesezugriffe sowie Admin-Mutationen fuer Kalender und Entries sind ebenfalls im Assistant vorhanden. Die folgenden Punkte bleiben relevant.
### P0: Human-in-the-Loop ist serverseitig persistiert, aber noch nicht als vollwertiger Approval-Workspace ausgebaut
@@ -174,6 +203,7 @@ Aktuell im Assistant vorhanden:
Restluecke:
- Country-/Metro-City-Stammdaten und tiefere Standortregeln sind weiterhin nicht in derselben Pflegebreite wie die eigentliche Admin-Oberflaeche abgedeckt
- Weitere Admin-Stammdatenbereiche mit direkten Assistant-Queries, vor allem Resource-/Project-/Vacation-Spezialfaelle, brauchen weiterhin Router-Paritaet
### Timeline und Disposition
@@ -261,9 +291,17 @@ Fehlend:
- Webhooks:
- Liste, Detail, Create, Update, Delete, Test
Konsequenz:
Aktuell im Assistant vorhanden:
- Ein Admin kann in der UI deutlich mehr Systemsteuerung als der Assistant.
- System Settings lesen/aktualisieren
- AI-/SMTP-/Gemini-Connection-Tests
- AI-Konfigurationsstatus lesen
- System-Role-Configs lesen/aktualisieren
- Webhooks lesen/anlegen/aendern/loeschen/testen
Restluecke:
- eigenstaendige Admin-Oberflaechen und mehrschrittige Governance-Workflows ausserhalb des Chats
### User Self-Service
@@ -276,7 +314,7 @@ Konsequenz:
Konsequenz:
- Der Assistant kennt den Nutzerkontext nur oberflaechlich, aber nicht dessen persoenliche Einstellungen und Self-Service-Moeglichkeiten.
- Die wichtigsten Self-Service-Bausteine sind inzwischen vorhanden; offen bleiben vor allem tiefere persoenliche Einstellungs- und Spezialflows ausserhalb der bereits exponierten Router-Prozeduren.
### Stammdaten fuer Laender und Orte
@@ -296,50 +334,42 @@ Restluecke:
### Estimate-Lifecycle und Fachobjekte unterhalb des Estimates
- volle Estimate-Listen-/Detail-Paritaet
- Versionen, Scope Items, Demand Lines, Locking, Freigaben, weiterfuehrende Mutationen
Aktuell im Assistant vorhanden:
- Suche
- Baseline-Detail
- Anlegen
- Detail / Weekly Phasing / Commercial Terms
- Anlegen, Klonen, Draft-Update, Submit, Approve, Revision, Export, Planning Handoff
Fehlend:
- der eigentliche Arbeitsprozess auf Estimate-Ebene
- tiefere Unterobjekt- und Spezialworkflows jenseits der bereits angebundenen Router-Prozeduren
### Notifications, Tasks und Reminder
Vorhanden:
- Listen, Task-Detail, Statuswechsel, Reminder anlegen, Task fuer User anlegen, Broadcast senden
- Listen, Unread Count, Task-Detail, Task Counts, Statuswechsel
- Reminder anlegen, listen, aktualisieren, loeschen
- generische Notification-Erstellung, Task fuer User anlegen, Task zuweisen, Broadcast senden/listen
Fehlend:
- Reminder-Liste
- Reminder-Update/Delete
- Unread Count
- Task Counts
- generische Notification-Erstellung mit derselben Tiefe wie `notificationRouter`
- weitere Spezialfaelle ausserhalb der bereits exponierten Notification-Router-Prozeduren
## Capability Gaps nach Router
### Komplett fehlende Router-Paritaet
- `settings`
- `systemRoleConfig`
- `webhook`
- derzeit keine in den zuvor priorisierten Admin-/Audit-/Import-Bereichen
### Deutlich unvollstaendige Router-Paritaet
- `importExport`
- `dispo`
- `timeline` (Kern-Readmodels und wichtigste Write-Paritaet vorhanden, Spezial-Workflows fehlen)
- `vacation`
- `user`
- `estimate`
- `notification`
- `user`
- `country`
- `insights`
- `scenario`
@@ -354,6 +384,11 @@ Fehlend:
- `staffing`
- `report`
- `dashboard`
- `settings`
- `systemRoleConfig`
- `webhook`
- `importExport`
- `dispo`
## System Prompt: offensichtliche Uebertreibungen / Irrefuehrungen
@@ -407,6 +442,7 @@ Die Human-in-the-Loop-Regel ist inzwischen serverseitig erzwungen. Der Prompt so
- `update_holiday_entry`
- `delete_holiday_entry`
- `preview_resolved_holidays`
- Status: Kern-Read/Write-Pfad und Preview sind umgesetzt; offen bleiben nur weitergehende Editor-/Governance-Flows.
2. Timeline-Assistant-Strang bauen
- Read:
@@ -422,6 +458,7 @@ Die Human-in-the-Loop-Regel ist inzwischen serverseitig erzwungen. Der Prompt so
- `get_chargeability_report`
- `get_resource_computation_graph`
- `get_project_computation_graph`
- Status: die zentralen Readmodels sind umgesetzt; offen bleibt vor allem breitere Reuse-Tiefe in weiteren Spezialansichten.
### P2: Admin- und Stammdaten-Paritaet