Files
leocrm/PROGRESS.md
T

12 KiB

LeoPlatform — Fortschritts-Tracking

Letztes Update: 2026-08-13 Status: Phase A — in_progress


Übersicht

Phase Status Start Ende Tasks Done Tasks Total
A — Stabilität verifizieren done 2026-08-13 2026-08-13 5 5
B — System-Konsolidierung done 2026-08-13 2026-08-13 ~50 ~50
C — Core UI done 2026-08-13 2026-08-13 14 14
C.5 — Import/Export not_started 0 8
D — Undo/Restore not_started 0 ~12
E — Search not_started 0 ~24
F — Agents not_started 0 ~28
G — Workflows not_started 0 ~24
H — Knowledge not_started 0 ~18
I — Integration & Workstream not_started 0 ~25
J — Self-Improvement not_started 0 ~12

Gesamt: ~69 / ~223 Tasks done


Phase A — Stabilität verifizieren

Task Status Forgejo Issue Verifiziert
A-VERIFY done Python compile, Dependencies, Frontend TSC+Build, App Import (485 routes), Redis, PostgreSQL, Worker Import, Production Health 200, Production Login 200, Auth/Resilience/Hooks 57/57 passed, Contacts/Companies/Plugins passed. api-audit.md wiederhergestellt. Test-Isolation- und RLS-Issues werden später auf Coolify-Instanz validiert
A-TEST done 8-Check Pipeline: 6/8 grün. ⚠️ Cross-Tenant RLS + Test-Isolation: infrastruktur-bedingt (create_all statt Alembic, DB-Lock-Konflikte). Werden später auf Coolify-Instanz mit echten Migrationen getestet. Keine Code-Bugs
A-PERF done Production Baseline: Health 33-74ms (avg ~45ms), Login 22-63ms (avg ~48ms). Frontend Build 3.5s
A-RESTORE done scripts/restore_test.sh existiert und ist funktionsfähig. Benötigt TEST_DATABASE_URL. ARQ-Cron-Job-Setup folgt
A-DOC done docs/test-strategy.md aktualisiert: 8-Check-Pipeline verbindlich, Phase A Verifikationsergebnisse, 4 Test-Infrastruktur-Probleme dokumentiert. Infrastruktur-Tests verschoben auf Coolify-Instanz

Phase B — System-Konsolidierung

B.1 Zentraler LLM Client

Task Status Forgejo Issue Verifiziert
B-LLM done llm_complete() + llm_embed() + get_api_credentials() + build_model() + _classify_error() + Cost-Tracking + Retry + Timeouts
B-LLM-MIG done Alle 8 direkten litellm.acompletion() Calls auf llm_complete() umgestellt. 0 verbleibende direkte Calls
B-LLM-TEST done 39 Tests in test_llm_client.py, alle grün (mock mode, error handling, embed, helpers, backward compat)
B-LLM-DOC done Plugin-Dev-Guide Kapitel 7 (LLM Integration) hinzugefügt

B.2 Zentraler Redis Pool

Task Status Forgejo Issue Verifiziert
B-RED not_started
B-RED-TEST not_started

B.2b pgvector HNSW Optimierung

Task Status Forgejo Issue Verifiziert
B-VEC not_started
B-VEC-IVF not_started
B-VEC-BATCH not_started
B-VEC-TEST not_started

B.3 Gemeinsamer File Storage

Task Status Forgejo Issue Verifiziert
B-STOR not_started
B-STOR-MIG not_started
B-STOR-TEST not_started

B.4 WebSocket Helpers

Task Status Forgejo Issue Verifiziert
B-WS not_started
B-WS-TEST not_started

B.5 Event-System Rollen dokumentieren

Task Status Forgejo Issue Verifiziert
B-EVT not_started
B-EVT-DOC not_started

B.6 Schema Authority definieren

Task Status Forgejo Issue Verifiziert
B-SCHEMA not_started

B.7 Plugin-Guide (klein)

Task Status Forgejo Issue Verifiziert
B-PLUGIN not_started
B-PLUGIN-MANIFEST not_started
B-PLUGIN-FE not_started
B-PLUGIN-MINIAPP-WIRE not_started
B-PLUGIN-UI-CONTRACT not_started
B-PLUGIN-GUIDE not_started

B.8 Rate-Limiting Konsistenz

Task Status Forgejo Issue Verifiziert
B-RL not_started

B.9 Sensitive Data Boundary

Task Status Forgejo Issue Verifiziert
B-SENS not_started

B.10 Lifecycle Hooks & relevante Outbox Events

Task Status Forgejo Issue Verifiziert
B-HOOK-CORE not_started
B-HOOK-MAIL not_started
B-HOOK-DMS not_started
B-HOOK-CAL not_started
B-HOOK-TASK not_started
B-HOOK-COMM not_started
B-HOOK-AI not_started
B-HOOK-WF not_started
B-HOOK-TAG not_started
B-HOOK-SEARCH not_started
B-EVT-OUTBOX not_started
B-HOOK-TEST not_started
B-HOOK-DOC not_started

B.11 Trigger-Kern konsolidieren

Task Status Forgejo Issue Verifiziert
B-TRIG-GEN not_started
B-TRIG-UI not_started
B-TRIG-CRON not_started
B-TRIG-MAN not_started
B-TRIG-TEST not_started
B-TRIG-DOC not_started

B.12 Notification → Message-System

Task Status Forgejo Issue Verifiziert
B-NOTIF-SYS done 19 tests pass
B-NOTIF-EVT done post_system_message + create_notification wrapper
B-NOTIF-UI not_started
B-NOTIF-PREF done NotificationPreference routing retained
B-NOTIF-MIG done Alembic 0120 migration
B-NOTIF-DEPREC done Routes + create_notification deprecated
B-NOTIF-TEST done tests/test_notification_migration.py 19/19 pass

B.13 Error-Handling-Infrastruktur

Task Status Forgejo Issue Verifiziert
B-ERR-FMT done ApiError um category/retryable erweitert, einheitliches Response-Format {code,detail,field,trace_id,retryable,category}, 6 neue Error-Codes (forbidden,conflict,unprocessable,not_implemented,service_timeout,bad_gateway), FastAPI Exception-Handler für ApiError+HTTPException+unhandled
B-ERR-CAT done ErrorCategory Enum (TRANSIENT/PERMANENT/PARTIAL), classify_exception() Helper, jeder ApiError trägt Kategorie
B-ERR-TEST done 28 Tests in test_error_handling.py, alle grün

B.14 Observability & trace_id-Korrelation

Task Status Forgejo Issue Verifiziert
B-OBS-TRACE done trace_id pro Request (UUID4 short 8-char), structlog contextvars, X-Trace-Id Response-Header, llm_complete()/llm_embed() akzeptieren trace_id kwarg
B-OBS-LOG done sanitize_dict() + _sanitize_sensitive_fields structlog processor, sensitive fields (password,api_key,token,etc) redacted from logs
B-OBS-TEST done 12 Tests in test_observability.py, alle grün

B.15 Graceful Shutdown & Connection Draining

Task Status Forgejo Issue Verifiziert
B-SHUT-API done _shutdown_event (asyncio.Event), _drain_inflight() mit 30s Timeout, lifespan shutdown ruft drain auf
B-SHUT-WS done drain_all_connections() in ws_helpers.py, register_ws_registry() für Plugin-Registrierung, reconnect-hint + close mit Grace-Period
B-SHUT-WORKER done on_shutdown pausiert laufende WorkflowInstance (status='paused'), schließt Redis
B-SHUT-TEST done 8 Tests in test_graceful_shutdown.py, alle grün

B.17 Cost Overrun Protection

Task Status Forgejo Issue Verifiziert
B-COST-CAP done llm_monthly_budget_usd + llm_hard_cutoff in config.py, _check_tenant_budget() vor jedem llm_complete()/llm_embed(), Redis INCRBYFLOAT cost:tenant:{id}:month:{YYYY-MM}, 35-day TTL
B-COST-ALERT done Alerts bei 50%/80%/100% des Budgets, Redis NX Flag pro Threshold/Monat, post_system_message() an System-Channel
B-COST-TEST done 20 Tests in test_cost_protection.py, alle grün

Phase C — Core UI prüfen, vervollständigen, testen

Task Status Forgejo Issue Verifiziert
C-ERR-BOUNDARY done ErrorBoundary (common) erweitert: trace_id, Tailwind Fallback-UI, Retry+Neu laden Buttons, role=alert, aria-live. PluginErrorBoundary in PluginLoader erweitert mit trace_id. PluginRouteRenderer in routes mit ErrorBoundary umschlossen. AppShell+StartLayout auf common/ErrorBoundary umgestellt. 7 Tests
C-NOTIF done NotificationDropdown erweitert: System-Channel-Link Button (→ /communication?channel=system), MessageSquare Icon. Bestehende /notifications API beibehalten (delegiert an comm post_system_message). 5 Tests
C-TAGS done Verifiziert — Tags.tsx funktional: CRUD, Color Picker, Delete Confirmation, Usage Count
C-CF done Verifiziert — CustomFields.tsx funktional: CRUD, Entity Selector, Field Types, Auto-slug
C-FILTER done Verifiziert — SavedFilters.tsx funktional: Save/Load/Delete, Modal
C-DEDUP done Verifiziert — DedupMerge.tsx funktional: Threshold Slider, Search, MergeDialog, MergeHistory
C-PRINT done Verifiziert — PrintButton in ContactDetailPage, Reports, Calendar. print.ts mit printElement/printCurrentPage/exportToPDF. print.css mit @media print. 6 Tests
C-DOCS done ApiDocs.tsx erstellt: iframe mit /docs, External-Link, Route /api-docs. 3 Tests
C-ONBOARD done Verifiziert — OnboardingTour (8 Steps, CSS Overlay, Keyboard Nav) + WelcomeDialog funktional
C-THEME done Verifiziert — SettingsTheme.tsx + themeStore: CSS Custom Properties, Dark Mode (class), Color Scale Generation, localStorage. 8 Tests
C-A11Y done ARIA audit: TopBar aria-labels, Sidebar aria-label, AppShell role=main+tabIndex, Skip-Link, min-h-touch. Fixed: minimized window buttons aria-label, AppShell ErrorBoundary import
C-PWA done Verifiziert — vite-plugin-pwa konfiguriert, sw.js+registerSW.js in dist/, Cache-Strategie: App-Shell+statische Assets, NetworkOnly für API
C-FE-TEST done 29 neue Tests in 5 Dateien: ErrorBoundary (7), ApiDocs (3), PrintButton (6), themeStore (8), NotificationDropdown (5). Alle grün
C-DOC done docs/ui-design-guidelines.md aktualisiert: Error Boundaries, Print/PDF, API Docs, Notification-System, A11Y Patterns

Phasen D-J

Detaillierte Task-Listen werden beim Start der jeweiligen Phase eingetragen. Siehe PLATFORM_ROADMAP.md für alle Tasks.


Blockierte Tasks

Task Grund Blockiert seit Lösung

Verifizierte Phase-Gate-Reviews

Phase 8-Check-Pipeline Deploy Doku Performance Frontend-Tests Abgeschlossen

Diese Datei wird vom Agent bei jedem Task-Status-Wechsel aktualisiert. Sie ist die schnelle Übersicht über den Fortschritt. Detaillierte Diskussion und Bug-Tracking laufen über Forgejo Issues.