-
-
Notifications
You must be signed in to change notification settings - Fork 1
Plan Dokumente
Issue-Level-Detail zu Cluster E aus dem Master-Plan. Stand: 2026-06-02 (beta.80).
Cluster E komplett: 13 von 13 ✅. Phase 1 (#658, beta.78), Phase 2 (#657, beta.79), Phase 3 (#643, beta.80) abgeschlossen.
/dokumente_verarbeiten routet jetzt nach doc_type und triggert pro Typ
die passende PBP-Aktion — statt nur "Profildaten extrahieren".
Neuer Routing-Plan dokumente_routing_plan_erstellen(archiv=False) gruppiert
alle noch-nicht-fertig-verarbeiteten Docs nach abgeleiteter Aktion
(profil_extraktion, termin_anlegen, bewerbung_status_setzen,
eingangsbestaetigung, bewerbung_erfassen, noop_korrespondenz_abschliessen).
dokumente_batch_analysieren(routing_modus=True) (Opt-in) sendet pro Doku
einen routing-Hint mit konkreter Aktion mit. Default routing_modus=False
bleibt das alte Profildaten-Verhalten.
Neuer Wrapper dokument_aktion_ausfuehren(dokument_id, aktion, args) delegiert
an die bestehenden MCP-Tools (meeting_hinzufuegen, bewerbung_status_aendern,
bewerbung_erstellen) — inklusive aller Lifecycle-Hooks (Auto-Veralten aus
#657 greift automatisch beim Status-Wechsel). Setzt am Ende immer
extraction_status='angewendet'.
Rauschen-Heuristik services/document_handlers.is_pure_notification() erkennt
LinkedIn-/XING-Digest-Mails und Mail-Robot-Pushes. Hook im Mail-Import
(dashboard.py:_build_email_document_context + Ordner-Import + Mail-Upload):
Treffer → direkt lifecycle='archiviert'. Reversibel via dokument_reaktivieren.
Konservativ-defensiv (klare Treffer nur), Umlaut-normalisiert,
keine externen Calls — alles lokal.
MCP-Tool-Count: 159 → 161. Tests: +16 in tests/test_v17_routing_643.py.
Volle Suite: 1526 passed, 1 skipped. Cluster E komplett abgeschlossen.
documents bekommt die orthogonale Spalte lifecycle mit drei Werten:
aktiv (Default) / archiviert (manuell ausgeblendet) / veraltet (auto
beim Bewerbungs-Statuswechsel auf abgelehnt/abgelaufen/zurueckgezogen).
Schema v43 → v44, additiv, idempotent, mit automatischem Backup vor
Migration.
Default-Filter lifecycle='aktiv' in den drei Read-Tools (analyse_plan_erstellen,
dokumente_batch_analysieren, dokumente_zur_analyse). Mit archiv=True
werden archivierte/veraltete Docs wieder einbezogen — analog zu
bewerbungen_anzeigen(archiv=True).
Drei neue MCP-Tools: dokument_archivieren(grund=''), dokument_reaktivieren,
dokumente_bulk_archivieren(filter_doc_type, filter_extraction_status, dry_run=True, max_treffer=200).
Alle drei sind DB-only — physische Dateien werden NIE angefasst.
Reversibel.
Auto-Veralten-Hook in bewerbung_status_aendern: bei End-Stati werden die
mit der Bewerbung verknuepften Docs auf lifecycle=veraltet gesetzt. Schema-
Hinweis: documents.linked_application_id ist 1:1, "exklusiv" ist damit
schemamaessig garantiert.
MCP-Tool-Count: 156 → 159. Tests: +18 in tests/test_v17_lifecycle_657.py.
basis_analysiert/analysiert-Korrespondenz lief in einen Halbschritt-Stuck:
extraktion_anwenden() wurde nur für Profildaten getriggert, Mails ohne Profilbezug
(Absagen, Einladungen, Recruiter-Anfragen, Benachrichtigungen) blieben dauerhaft im
Analyse-Plan. beta.78 löst das in drei kleinen Schritten:
-
_run_auto_deep_analysissetzt jetztangewendetstattanalysiert. Der Halbschrittanalysiertwar redundant — wenn das LLM ein Doku gesehen hat, ist der Auto-Pfad für Korrespondenz fertig. (dashboard.py:7836,7844) -
Neues MCP-Tool
dokumente_korrespondenz_abschliessen(dry_run=True). Räumt Altlasten ab: findet allesonstiges/recruiter_anfrage/absage/... imbasis_analysiert/analysiert-Bucket und hebt sie aufangewendet. DB-only, physische Dateien bleiben unberührt. (tools/dokumente.py) -
Whitelist
_DOC_STATUS_VALUESerweitert.dokument_status_setzen()akzeptiert jetzt auchbasis_analysiert,analysiert,analysiert_leer,duplikat,verworfen— vorher waren nur 4 Werte erlaubt, obwohl der Auto-Pfad mehr vergibt.
Phase 2 (E16, #657) baut darauf auf: orthogonale lifecycle-Spalte
(aktiv/archiviert/veraltet), dokument_archivieren/reaktivieren,
Auto-Veralten beim Bewerbungs-Statuswechsel. Phase 3 (#643) routet
nach doc_type und triggert typspezifische Aktionen.
| Modul | Pfad | Verantwortung |
|---|---|---|
| Dokumenten-Tools | tools/dokumente.py |
Upload + Klassifikation + Verknuepfung |
| Profil-Extraktion |
tools/profil.py + services/llm_service.py
|
Skills/Stationen aus CV via Ollama |
| Mail-Service | services/email_service.py |
.msg/.eml-Parser, IMAP-Polling |
| Auto-Klassifikation |
dashboard.py:_run_auto_classify_emails + _run_auto_classify_documents
|
Hintergrund-Step |
| Issue | Thema | Status |
|---|---|---|
| #441 | Doku-Integrity-Check mit Auto-Fix | ✅ |
| #606 | Auto-Extract Kontakte | ✅ |
| #634 |
/dokumente_verarbeiten Routing-Prompt |
✅ |
| #640 | Tiefenanalyse nach Basis-Extraktion | ✅ |
| #642 | Phantom-Bewerbungen aus CV-Dateinamen verhindert | ✅ |
| #644 |
email_verknuepfen mit getrennten ID-Raeumen |
✅ |
| #643 | Doku-Routing: alle bewerbungsrelevanten Typen (Einladungen/Absagen/Termine) | ⬜ |
| #649 | Few-Shot fuer Recruiter-Anfrage-Klassifikator (E13) | ✅ |
| #651 | Auto-Tiefenanalyse-Step (E12) | ✅ |
| #655 | Doku-Typen erweitern + Per-Typ-Handler-System (E14) | ✅ |
| #658 | Korrespondenz-Docs bleiben auf basis_analysiert haengen (E15) |
✅ |
| #657 | Lifecycle-Spalte aktiv/archiviert/veraltet (E16) |
✅ |
| #643 | Doku-Routing nach doc_type + typspezifische Aktionen (E11) |
✅ |
tests/test_v17_phantom_applications_642.pytests/test_v17_email_verknuepfen_644.pytests/test_v170_beta22_*.py-
tests/test_v17_doc_lifecycle_658.py(E15, beta.78) -
tests/test_v17_optimierungen_beta76.py(E12 + #658-Adaption) -
tests/test_v17_lifecycle_657.py(E16, beta.79) -
tests/test_v17_routing_643.py(E11, beta.80)
Cluster E ist abgeschlossen. Naechste Iterationen koennten betreffen:
- Frontend-UI fuer Routing-Plan + Aktion-Ausfuehrer + Archiv-Toggle. Aktuell laeuft alles ueber den Claude-Workflow + MCP-Tools.
- LLM-basierte Klassifikation im Routing — aktuell rein regex/keyword- basiert. Falls die Trefferquote zu niedrig wird, koennte ein Ollama-Schritt zwischen E12 (Tiefenanalyse) und E11 (Routing) eingezogen werden.
- Erweiterung der Rauschen-Heuristik um weitere Quellen-Pattern, sobald False-Negatives auffallen. Aktuell konservativ-defensiv.
Wiki-Anchor: Tab-Dokumente, Profil-aus-Dokumenten.
🗺 Plan
- Master-Plan
- Master-Plan-Optimierung
- Plan-Datenbasis (A)
- Plan-Jobsuche (B)
- Plan-Stellen (C)
- Plan-Bewerbungen (D)
- Plan-Dokumente (E)
- Plan-Lokale-KI (F)
- Plan-Frontend (G)
- Plan-MCP-Layer (H)
- Plan-Distribution (I)
- Plan-Roadmap-v18 (J)
Einstieg
Tabs
Features
- Elwosa
- Lern-System
- Lokale KI & KI-Steuerung
- Profile-Cluster
- Suchkriterien & Gewichtungen
- Profil aus Dokumenten
- Workflows
- Jobportale
- Stellen-Qualitaet
Reference