Files
leocrm/.a0/current_status.md
T
Agent Zero 7a14973c68 chore: verify all FIX-PLAN items, remove completed, update status
- Verified all 22 FIX-PLAN items against codebase
- 20/22 items confirmed done (P0-1..P0-6, P1-1..P1-11, P2-1, P2-3, P2-4)
- Removed JWT vars from COOLIFY_SETUP.md (P1-10 final fix)
- Remaining: P0-7 (operational), P2-2 (228 cross-imports)
- Updated .a0/current_status.md and .a0/next_steps.md
2026-07-26 16:26:10 +02:00

2.1 KiB

LeoCRM — Current Status

Phase: Fix Branch — 20/22 FIX-PLAN Items erledigt Last update: 2026-07-26 16:25 Branch: main (leocrm-fix)

FIX-PLAN Überprüfung (2026-07-26)

Alle 22 Items gegen Codebasis verifiziert. 20 erledigt, 2 offen.

Erledigt (20)

  • P0-1: Auth-Bypass entfernt
  • P0-2: Migrationen repariert
  • P0-3: Plugin-Upload deaktiviert
  • P0-4: RLS FORCE + WITH CHECK
  • P0-5: Plugin-Doppelregistrierung behoben
  • P0-6: Persistent Volume
  • P1-1: User/Tenant-Modell bereinigt
  • P1-2: Redis zentralisiert
  • P1-3: Worker ausgelagert
  • P1-4: Transactional Outbox
  • P1-5: XSS-Stellen geschlossen
  • P1-6: DMS lastfest
  • P1-7: Permission-System vereinheitlicht
  • P1-8: Password Reset funktionsfähig
  • P1-9: Metrics abgesichert
  • P1-10: Coolify-Doku & Config korrigiert
  • P1-11: Cross-Tenant FK
  • P2-1: Contact Model normalisiert
  • P2-3: Commands & Statusmaschinen
  • P2-4: SPA Path-Traversal

Offen (2)

  • P0-7: App von öffentlicher Domain nehmen (operational — 30 Min)
  • P2-2: Plugin-Cross-Imports reduzieren (228 Imports — 1-2 Wochen)

Previous: P1-4: Transactional Outbox — COMPLETE

  • Migration 0040_outbox.py created (down_revision=0039_contact_normalize)
  • event_outbox table: id, tenant_id, event_name, payload JSONB, status, attempts, max_attempts, next_retry_at, timestamps
  • app/core/outbox.py: enqueue_outbox_event() + process_outbox_batch() with FOR UPDATE SKIP LOCKED, exponential backoff retry
  • app/core/event_bus.py: added publish_with_results() for error-aware publishing; docstring note about outbox
  • app/core/worker.py: process_outbox_job cron (every 5s, Redis distributed lock)
  • app/services/contact_service.py: contact.created, lead.created, contact.updated → enqueue_outbox_event
  • app/models/outbox.py: SQLAlchemy ORM model for event_outbox
  • tests/test_outbox.py: 6 tests, all passing
  • py_compile: OK, alembic heads: single head 0040_outbox

Previous: P2-1: Unified Contact Model normalisieren — COMPLETE

  • Migration 0039_contact_normalize.py (down_revision=0038_dms_content_hash)