Leopoldadmin
  • Joined on 2026-05-19
Leopoldadmin pushed to main at Leopoldadmin/leocrm 2026-08-24 12:03:59 +00:00
81aea8c77f feat(e3): Restore-Drill als lokalen End-to-End-Beweis implementiert — scripts/restore_drill.sh: Migrations-DB+Seed → pg_dump → frische DB → Restore → 12 Integritäts-Checks (Tabellen/Alembic/RLS-Parität, tenant-scoped contacts, audit_log, RLS fail-closed mit restricted NOSUPERUSER-NOBYPASSRLS-Rolle, Policy-Rollen-Bindung an crm_api); DRILL_EXIT=0; idempotent mit automatischem Cleanup
Leopoldadmin pushed to main at Leopoldadmin/leocrm 2026-08-24 11:55:28 +00:00
46c909c226 feat(e1): AuditMiddleware als systematisches Safety-Net — alle erfolgreichen POST/PATCH/DELETE erzeugen Audit-Eintrag (Session-basierte user/tenant-Attribuierung, entity_type aus Pfad, source=middleware in changes); schließt Lücke von 349 mutierenden Endpoints in 59 Dateien ohne Audit; Skip-Liste auth/health/errors/audit/external; best-effort; Beweistest test_audit_middleware.py grün (POST ohne explizites log_audit → Audit-Zeile); Regressionssmoke 23/23 grün
Leopoldadmin pushed to main at Leopoldadmin/leocrm 2026-08-24 11:36:20 +00:00
197b0d3bab fix(e7): CI-Gate-Vorbereitung — ruff über app/ von 105 auf 0 Findings bereinigt; 8 echte F821-NameError-Produktionsbugs behoben (external_api stream_chat-Call-Signatur an stream_chat_comm angepasst, agent_runner uuid vor lokalem Import, automation/plugin UserTenant-Import, tasks delete-audit user_id, workflows/engine timedelta, unified_search/contracts Any); py311-kompatibles StepHandler-Alias statt type-Statement; E402/F841 bereinigt; Verifikation 85/89 grün (4 Failures = bekannter Vorbestand BUG-099)
Leopoldadmin pushed to main at Leopoldadmin/leocrm 2026-08-24 10:50:24 +00:00
3934aea6ef docs(d6): Block D abgeschlossen — ai_copilot als deprecated markiert mit Abschaltplan (ARCH-059: Backend-only, 0 Frontend-Referenzen, Test geskippt → Migration wäre Verschwendung); ARCH-023 als verifiziertes No-Op dokumentiert (Plugin-Services registrieren sich selbst bei on_activate — bewusstes Design)
Leopoldadmin pushed to main at Leopoldadmin/leocrm 2026-08-24 10:43:43 +00:00
5cc5a3fa6a fix(d5): Marathon-Scanner-Triage — trace_api_contracts 859→218 (-75%, Router-Präfixe/Multi-Router/leere Pfade/Template-Literals gefixt), trace_plugins 27→0 (-100%, Inline-Manifest-Konvention erkannt); 371 HIGH-Fehlalarme eliminiert (OpenAPI-verifiziert); ~12 echte API-Bugs als Follow-up dokumentiert (ai/sessions ×5, policies ×4, mail ×4)
Leopoldadmin pushed to main at Leopoldadmin/leocrm 2026-08-24 09:02:52 +00:00
c0e8e4ecfd docs(d4): Security-Triage abgeschlossen — ARCH-027 verifiziert (SECRET_KEY-Fail bereits implementiert und strenger als gefordert), BUG-019 = 0 echte hardcoded Secrets (Entropie-Wert-Scan), BUG-020 = kein fixbares Finding (alle f-string-SQL-Interpolationen aus Whitelists/Config, kein User-Input-Fluss)
Leopoldadmin pushed to main at Leopoldadmin/leocrm 2026-08-24 08:55:24 +00:00
c32e4bb34e refactor(d3): ARCH-051 — 14 dict-body-Routes auf Pydantic-Schemas umgestellt (entity_permissions bulk ×2, guests invite, users menu-order, system_settings backup-config+dsar, knowledge ×3, self_improvement ×5); DSAR-Export F821-Bug behoben (datetime/timezone undefined → NameError beim GDPR-Export), Zeitstempel auf datetime.now(UTC); Validierung jetzt im Schema statt in Routen
Leopoldadmin pushed to main at Leopoldadmin/leocrm 2026-08-24 08:07:50 +00:00
ef90d57f0a fix(d3): systemischer Permission-Resolver-Bug behoben — DMS/Mail get_entity_models-Overrides ergänzt (dms_file/dms_folder/file/mail_account fehlten im ENTITY_MODELS-Mapping → ValueError bei allen Entity-Freigaben zur Laufzeit); pgvector-Extension in conftest db_setup verankert; test_permissions 22/22 grün; Resolver-Auflösung aller 4 Typen direkt bewiesen
Leopoldadmin pushed to main at Leopoldadmin/leocrm 2026-08-24 06:28:37 +00:00
0768cfb29a fix(d3): ARCH-055/056/057 — errors.py error.user_agent statt nicht existierendem userAgent (AttributeError zur Laufzeit); roles.py SYSTEM_PERMISSIONS aus CORE_PERMISSIONS abgeleitet (47 statt 36 Permissions, Drift behoben, category→system für Frontend-Gruppierung); registry._plugins→öffentliche API list_discovered()+get_plugin()
Leopoldadmin pushed to main at Leopoldadmin/leocrm 2026-08-24 06:10:46 +00:00
56e401969e docs(progress): D1 abgeschlossen — alle 9 Ziel-Suites grün, 3 Produktionsbugs behoben
Leopoldadmin pushed to main at Leopoldadmin/leocrm 2026-08-24 06:06:20 +00:00
6d04206695 fix(d1): SystemSettings-Schema-Drift behoben — backup_interval/backup_retention_days/backup_destination Model-Spalten + Migration 0142 nachgezogen (10b1f83 hatte Schema/Service/Frontend erweitert ohne Model/Migration); Settings-API Create/Read wieder funktionsfähig; Fresh-DB-Kette 0001→0142 verifiziert
Leopoldadmin pushed to main at Leopoldadmin/leocrm 2026-08-24 05:57:29 +00:00
f6e117b1c3 fix(d1): Calendar-Suite + ai_proactive repariert — conftest CalendarPlugin-Import wiederhergestellt (abbe7a1-Regression), CalendarContract-Zugriffe snake_case→PascalCase (context_tools, services ×2, mail/routes), 2 stale Rate-Limit-Tests auf zentrale check_rate_limit-Grenze umgestellt; test_calendar 34/34, ai_proactive-Failures behoben; Mail-Vorbestand dokumentiert
Leopoldadmin pushed to main at Leopoldadmin/leocrm 2026-08-24 05:32:11 +00:00
9d8da99026 fix(contacts): ContactCreate-Typ-Inferenz — Person-Payloads ohne explizites type werden nicht mehr als Firma abgelehnt (Regression aus BUG-008-Fix dada44c); test_companies 18/18, test_contacts 8/8 grün
Leopoldadmin pushed to main at Leopoldadmin/leocrm 2026-08-23 23:54:17 +00:00
54066b05fd docs(f3): plugin checklist + architecture requirements section in dev guide
Leopoldadmin pushed to main at Leopoldadmin/leocrm 2026-08-23 23:40:36 +00:00
36636f5c25 docs(d2): utcnow family fixed, sqlite-001 results, handover notes for successor agent
Leopoldadmin pushed to main at Leopoldadmin/leocrm 2026-08-23 23:22:44 +00:00
d89044d8f7 fix(d2): datetime.now(UTC) everywhere + SQLITE-001 automation tests on ephemeral postgres
Leopoldadmin pushed to main at Leopoldadmin/leocrm 2026-08-23 21:50:21 +00:00
5e0ffd91c2 docs: block C complete - C1-C8 implemented, gate C checks 4+5 proven, ghost components documented
Leopoldadmin pushed to main at Leopoldadmin/leocrm 2026-08-23 21:44:46 +00:00
b8b8ef180a fix(c8): shared TeamPanel component (arch-062) + curated icon map in SortableMenuItem (arch-063 OOM fix)
Leopoldadmin pushed to main at Leopoldadmin/leocrm 2026-08-23 21:36:36 +00:00
cad7d084e8 feat(c7): dashboard widgets as plugin contributions + contact counts via contacts contract
Leopoldadmin pushed to main at Leopoldadmin/leocrm 2026-08-23 20:46:04 +00:00
dff97f5589 fix(c6): settings plugin pages permission-filtered, label-dedup hack removed