chore(repo): checkpoint current capakraken implementation state

This commit is contained in:
2026-03-29 12:47:12 +02:00
parent beae1a5d6e
commit 47e4d701ff
94 changed files with 4283 additions and 1710 deletions
+45 -29
View File
@@ -26,6 +26,7 @@ Trotzdem ist die Paritaet zur eigentlichen App/API noch nicht erreicht. Die groe
- `assistant.chat` baut den System Prompt, filtert die verfuegbaren Tools und laesst das Modell Tools aufrufen.
- Der eigentliche Datenzugriff liegt fast komplett in `executeTool(...)` und den `executors` in `packages/api/src/router/assistant-tools.ts`.
- Fuer Chargeability Report und Computation Graph nutzt der Assistant jetzt dieselben tRPC-Readmodels wie die eigentlichen Fachrouter, statt eine zweite Query-Logik zu pflegen.
### Permission-Gating
@@ -71,6 +72,11 @@ Es gibt aktuell vier Permission-/Scope-Ebenen:
- basiert bereits auf denselben Timeline-Readmodels/Shift-Preview-Helfern wie die UI
- Estimates: nur Suche, Detail und Anlegen, aber kein voller Lifecycle
- Reports: `run_report` ist flexibel, deckt aber nicht die spezialisierten Report-/Analyse-Readmodels ab
- Chargeability / Transparenz:
- `get_chargeability_report`
- `get_resource_computation_graph`
- `get_project_computation_graph`
- damit sind die wichtigsten tiefen Herleitungen fuer Chargeability, SAH, Feiertagsabzuege und Projektkalkulation jetzt auch im Assistant verfuegbar
- Audit/History: nur einfache History-Abfragen, keine volle Audit-API
- Notification/Tasking: Kernfaelle vorhanden, aber keine volle Reminder-/Task-/Notification-Paritaet
- Country-/Location-Stammdaten: nur lesend und auch dort nur flach
@@ -78,22 +84,18 @@ Es gibt aktuell vier Permission-/Scope-Ebenen:
### Vollstaendig fehlend oder fachlich nicht ausreichend
- Holiday-Calendar-Admin und Editor-Funktionen
- Computation Graph fuer vollstaendige Herleitungen
- Chargeability Report Readmodel
- 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
- Timeline-Mutationen und Dispo-spezifische Write-Flows
- Voller Estimate-Lifecycle
- Dispo-/Import-spezifische Flows
## Kritische Inkonsistenzen und Risiken
Stand 2026-03-28: Die frueheren P0s bei Notification-Scoping, `list_users`, Mutation-Audit und reinen Permission-Texten sind behoben. 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. Holiday-Calendar-Lesezugriffe sowie Admin-Mutationen fuer Kalender und Entries sind jetzt im Assistant vorhanden. Die folgenden Punkte bleiben relevant.
### P0: Human-in-the-Loop ist serverseitig persistiert, aber noch nicht als vollwertiger Approval-Workspace ausgebaut
@@ -127,7 +129,7 @@ Der Assistant kann viele Kernfaelle, aber noch nicht denselben Arbeitsmodus wie
Konsequenz:
- Timeline-Readmodel-Paritaet ist jetzt fuer die wichtigsten read-only Faelle vorhanden, aber komplexe Write-, Audit-, Admin- und Estimate-Workflows bleiben teilweise unvollstaendig
- Timeline-Readmodel- und die wichtigsten Timeline-Write-Paritaetsfaelle sind jetzt ueber dieselben Router-/Readmodel-Pfade verfuegbar, aber Audit-, Admin-, Import- und Estimate-Workflows bleiben teilweise unvollstaendig
- tiefe Erklaerungen fuer Herleitungen und Governance sind noch nicht auf UI-Niveau
## Was der Assistant heute noch nicht "weiss"
@@ -147,10 +149,21 @@ Die folgende Liste meint: Informationen, die in App/API bereits existieren oder
Aktuell im Assistant vorhanden:
- aufgeloeste Feiertage nach Region oder Ressource
- Holiday-Calendar-Stammdaten:
- `list_holiday_calendars`
- `get_holiday_calendar`
- `preview_resolved_holiday_calendar`
- Holiday-Calendar-Admin:
- `create_holiday_calendar`
- `update_holiday_calendar`
- `delete_holiday_calendar`
- `create_holiday_calendar_entry`
- `update_holiday_calendar_entry`
- `delete_holiday_calendar_entry`
Fehlend:
Restluecke:
- die eigentlichen Kalenderobjekte und deren Pflegekontext
- Country-/Metro-City-Stammdaten und tiefere Standortregeln sind weiterhin nicht in derselben Pflegebreite wie die eigentliche Admin-Oberflaeche abgedeckt
### Timeline und Disposition
@@ -160,25 +173,28 @@ Bereits vorhanden:
- `get_timeline_holiday_overlays`
- `get_project_timeline_context`
- `preview_project_shift`
- `update_timeline_allocation_inline`
- `quick_assign_timeline_resource`
- `batch_quick_assign_timeline_resources`
- `batch_shift_timeline_allocations`
- `apply_timeline_project_shift`
- Reuse derselben Timeline-Readmodels und Shift-Preview-Helfer wie in `timelineRouter`
- Reuse derselben Timeline-Mutationen via `createCallerFactory(timelineRouter)` statt Assistant-Sonderlogik
- identische Manager-/Admin- und `manageAllocations`-Guards wie im normalen API-Pfad
Noch fehlend:
- vollstaendige Write-Paritaet fuer Timeline-/Dispo-Workflows
- Inline-/Batch-Operationen der Timeline:
- `updateAllocationInline`
- `quickAssign`
- `batchQuickAssign`
- `batchShiftAllocations`
- `applyShift`
- Dispo-spezifische Import-/Workbook-Flows
Konsequenz:
- Der Assistant kann die wichtigsten Timeline-/Disposition-Readfaelle jetzt fachlich deutlich naeher an der UI abbilden, aber noch nicht denselben operativen Arbeitsmodus fuer Schreibaktionen und Imports.
- Der Assistant kann die wichtigsten Timeline-/Disposition-Read- und Writefaelle jetzt fachlich und technisch auf derselben Basis wie die UI abbilden.
- Offen bleiben vor allem Import-/Workbook-Flows und weitere Dispo-Spezialworkflows ausserhalb der Kernmutationen.
### Transparenz, Herleitungen und Berechnungsgraphen
Bereits vorhanden:
- Vollstaendige Computation-Graph-Daten fuer Resource- und Project-Views:
- Herleitungsfaktoren
- Formeln
@@ -191,7 +207,8 @@ Konsequenz:
Konsequenz:
- Der Assistant kann zwar Teilantworten zu Chargeability/Budget geben, aber noch nicht dieselbe Erklaerungstiefe wie die spezialisierten Analyseansichten.
- Der Assistant kann die wichtigsten Herleitungen jetzt auf derselben fachlichen Basis wie die spezialisierten Analyseansichten liefern.
- Offen bleibt vor allem, diese Tiefe konsequent in weiteren Admin-, Audit- und Workflow-spezifischen Assistentenfaellen auszubauen.
### Audit, Verlauf und Governance
@@ -247,17 +264,19 @@ Konsequenz:
### Stammdaten fuer Laender und Orte
- Country-Details inklusive `scheduleRules`
- Metro-City-Verwaltung
- Country-/City-CRUD
Aktuell im Assistant vorhanden:
- `list_countries` mit relativ flachem Output
- `list_countries` mit `scheduleRules`, Aktiv-Status und Metro-Cities
- `get_country`
- `create_country`
- `update_country`
- `create_metro_city`
- `update_metro_city`
- `delete_metro_city`
Fehlend:
Restluecke:
- volle fachliche Pflege und die tieferen Standortregeln, die fuer Feiertage, SAH und Forecasts relevant sind
- weitere standortbezogene Admin-Bereiche ausserhalb von Country/Metro-City
### Estimate-Lifecycle und Fachobjekte unterhalb des Estimates
@@ -292,7 +311,6 @@ Fehlend:
### Komplett fehlende Router-Paritaet
- `holidayCalendar`
- `importExport`
- `chargeabilityReport`
- `computationGraph`
@@ -330,7 +348,6 @@ Der Prompt suggeriert an mehreren Stellen mehr Paritaet, als technisch heute vor
### Problematische Aussagen
- "Urlaub, Feiertage" ist fuer Leseabfragen ok, aber nicht fuer Holiday-Calendar-Administration.
- "Notifications anzeigen" ist fuer die Basisfaelle inzwischen sauberer gescoped, deckt aber weiterhin nicht die volle Notification-/Reminder-Paritaet der App ab.
- "Dashboard-Details abrufen" stimmt nur fuer einen Teil der Dashboard-/Analysewelt.
- "Den User zu relevanten Seiten navigieren" stimmt, ersetzt aber keine echte Daten-/Aktionsparitaet in Timeline, Holiday Editor oder Admin-Bereichen.
@@ -405,9 +422,8 @@ Die Human-in-the-Loop-Regel ist inzwischen serverseitig erzwungen. Der Prompt so
- update
3. Country-/City-Tools
- Country-Detail
- Country-Create/Update
- City-Create/Update/Delete
- Status: umgesetzt fuer Country-Detail, Country-Create/Update und City-Create/Update/Delete
- offen bleiben nur weitergehende standortbezogene Admin-Readmodels ausserhalb dieses Stammdatenkerns
4. Webhook-Tools
- list/get/create/update/delete/test