-
-
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.79 in Arbeit).
12 von 13 Positionen ✅. Offen:
- E11 — alle bewerbungsrelevanten Dokumenttypen abdecken (#643) ⬜ (Phase 3)
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) |
✅ |
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)
E11 (#643, Phase 3): /dokumente_verarbeiten routet nach doc_type
und triggert typspezifische Aktionen (Einladung → meeting_hinzufuegen,
Absage → Status, Recruiter-Anfrage → erfassen + Antwort-Entwurf,
Eingangsbestaetigung → Status). Aufbauend auf services/document_handlers.py
(E14, beta.77) und der Lifecycle-Struktur (E16, beta.79).
Optional in derselben Phase: Rauschen-Heuristik beim Import
(LinkedIn-/XING-Digest-Mails direkt lifecycle=archiviert setzen,
sodass sie gar nicht erst im Analyse-Plan landen).
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