# Changelog DB-Leads

Alle releaste Versions-Bumps dieses Moduls. Format: [Keep a Changelog](https://keepachangelog.com/de/1.1.0/), [SemVer](https://semver.org/lang/de/).

> Das onOffice-Anbindungs-System hat eine EIGENE Version,
> siehe [`apps/app/src/lib/integrations/CHANGELOG.md`](../../lib/integrations/CHANGELOG.md).

## 0.61.0 (2026-09-06)

### Added

- **Die Pipeline scrollt jetzt mit, während du eine Karte ziehst.** Ziehst du
  sie an den linken oder rechten Rand, wandert das Board weiter, ohne dass du
  loslassen musst. Dasselbe gilt innerhalb einer langen Spalte nach oben und
  unten. Je näher am Rand, desto schneller.
- **Kontakte lassen sich ohne Ziehen in eine andere Phase legen.** Über das
  Menü am Kontakt, mit der rechten Maustaste, der Kontextmenü-Taste oder dem
  neuen Drei-Punkte-Knopf. Auf dem Handy ist das der Weg: Ziehen mit dem
  Finger kennt der Browser dort nicht.
- **Jede Karte und jede Zeile hat einen Drei-Punkte-Knopf.** Damit sind
  Notiz, Wiedervorlage, Werbewiderspruch, Phase und der Sprung nach onOffice
  auch auf dem Handy erreichbar. Vorher gab es sie dort gar nicht.
- **Rückgängig nach einem Fehlgriff.** Nach dem Verschieben einer Karte und
  nach jeder Sammel-Aktion (verschieben, zuweisen, archivieren) steht in der
  Meldung ein „Rückgängig“.
- **Mehrere Karten auf einmal.** Mit Strg oder Cmd anklicken markiert, mit
  Umschalt einen ganzen Bereich in einer Spalte. Ziehst du eine markierte
  Karte, kommen alle mit.
- **Spalten lassen sich zuklappen.** Nützlich, wenn du mit drei von acht
  Phasen arbeitest. Eine zugeklappte Spalte nimmt trotzdem Karten an. Das
  Board merkt sich das auf diesem Gerät.
- **Die Liste sagt, wonach sie gerade filtert.** Jeder aktive Filter steht als
  Marke über der Tabelle und lässt sich einzeln wegklicken, dazu „Alle
  zurücksetzen“. Eine leere Liste ist damit erklärbar.
- **Filter-Ansichten speichern.** „Meine offenen Verkaufsbereiten in München“
  einmal einstellen, benennen und später mit einem Klick wieder aufrufen.
- **Spalten aus- und einblenden, Zeilen enger stellen.** Unter „Anzeige“ in
  der Filterleiste. Auch das bleibt auf diesem Gerät.
- **Die Liste mit der Tastatur bedienen.** Pfeil hoch und runter wandern durch
  die Zeilen, Enter öffnet den Kontakt, die Leertaste markiert ihn.
  Mittelklick öffnet einen Kontakt in einem neuen Tab.
- **Ziffern im Durchgang.** Die beiden Haupt-Ausgänge liegen auf 1 und 2. In
  einem Textfeld gelten sie nicht.
- **Die Wiedervorlagen zeigen oben, wie viel fällig ist.** Ein Klick auf
  „Überfällig“ springt in die Gruppe.

### Changed

- **DB-Leads füllt jetzt die Fläche.** Werkzeugleiste und Filter stehen oben,
  die Zählung und die Sammel-Aktionen unten, und nur die Liste dazwischen
  scrollt. Vorher scrollte die ganze Seite an einem stehenden Block vorbei
  und darunter kam viel leerer Raum.
- **Der Export fragt vorher nach.** Er nennt dabei, wie viele Kontakte in die
  Datei kommen. Das ist die ganze Treffermenge, nicht nur die sichtbaren
  Zeilen.
- **Ein laufender Abgleich nimmt weniger Platz.** Statt eines Kastens eine
  schmale Zeile mit dem Stand, bei bekannter Gesamtzahl mit Balken. Dasselbe
  gilt für einen laufenden Datenbank-Scan: Während er läuft, steht über den
  Funden eine schmale Zeile mit dem Fortschritt.
- **Der Scan-Bereich über den Funden scrollt weiterhin mit.** Er bleibt nicht
  am oberen Rand kleben, du siehst beim Durchgehen also Funde statt
  Statusanzeige.
- **Sammel-Aktionen wirken sofort.** Die Liste ändert sich beim Klick und
  nicht erst, wenn der Server fertig ist.

### Fixed

- **Eine verschobene Karte springt nicht mehr zurück auf Anfang.** Vorher
  wurde nach jedem Zug das ganze Board neu geladen, und nachgeladene Karten
  waren weg: Wer in einer Spalte 300 geladen hatte, sah danach wieder 50.
- **Die Zielspalte hebt sich beim Ziehen sauber hervor.** Vorher flackerte die
  Markierung, sobald man über die Karten in der Spalte fuhr, und nach einem
  abgebrochenen Zug blieb sie hängen.
- **Der Mauszeiger zeigt beim Ziehen nicht mehr „verboten“.** In Firefox liess
  sich eine Karte teils gar nicht erst aufnehmen.
- **Die verschobene Karte ist sichtbar angekommen.** Die Zielspalte springt
  nach oben und die Karte ist kurz hervorgehoben. Vorher verschwand sie in
  einer langen Spalte.
- **Dass Karten ziehbar sind, sieht man jetzt.** Der Griff war unsichtbar, bis
  man mit der Maus darüberfuhr.
- **„Alle auswählen“ sagt jetzt, was es auswählt.** Der Haken im Tabellenkopf
  markiert die geladenen Kontakte, nicht alle Treffer. Daneben steht, wie
  viele es insgesamt sind, und ein Knopf lädt weitere nach und markiert sie
  gleich mit.
- **Die Auswahl überlebt eine Aktualisierung.** Vorher waren 40 gesetzte Haken
  nach einem Sortierklick weg.
- **Beim Blättern in der Kontakt-Schublade geht es weiter.** Am Ende der
  geladenen Kontakte wird nachgeladen, statt dass der Pfeil grau wird.
- **Die Auswahl-Kästchen sind mit dem Finger zu treffen.** Vorher öffnete ein
  Fehlgriff die Schublade.
- **Das Board ist mit der Tastatur bedienbar.** Vorher lag jede einzelne Karte
  im Tab-Weg; bei 300 Karten kam man an einer Spalte nicht vorbei.
- **Waagerecht scrollen geht jetzt mit dem Mausrad**, und an den Rändern
  zeigen Pfeile, dass dort weitere Phasen liegen.

## 0.60.0 (2026-09-05)

### Changed

- **Eine zurückgenommene Notiz verschwindet aus dem Verlauf.** Bisher blieb
  sie durchgestrichen stehen. Jetzt ist sie weg, sobald im CRM nichts mehr
  offen ist. Im Maklerbuch bleibt der Eintrag stehen und wird dort als
  zurückgenommen gekennzeichnet; löschen lässt er sich dort nicht.
- **Die Kennzeichnung im Maklerbuch läuft im Hintergrund nach.** Antwortet
  onOffice nicht sofort, steht an der Notiz „Verschwindet, sobald der
  Eintrag im CRM gekennzeichnet ist“, und das Werkzeug holt es nach. Klappt
  es endgültig nicht, bleibt die Notiz sichtbar mit dem Hinweis „Im CRM
  steht der Eintrag noch unverändert“ und einem Knopf, der es erneut
  anstößt. So fällt auf, wenn drüben eine Notiz steht, die nicht mehr gilt.
- **Notizen von vor dieser Änderung** bleiben durchgestrichen im Verlauf
  stehen; sie werden nicht nachträglich entfernt.

### Fixed

- **„Wird zurückgenommen“ bleibt nicht mehr stehen.** Eine Notiz
  zurückzunehmen gilt jetzt sofort, auch wenn onOffice gerade langsam ist
  oder gar nicht antwortet. Vorher konnte der Knopf über eine Minute stehen
  bleiben, und bei einer Störung im CRM war die Notiz am Ende gar nicht
  zurückgenommen.

## 0.59.0 (2026-09-05)

### Changed

- **Der Assistenten-Skill „Notiz festhalten" ist weg.** Eine Notiz, ein
  Anrufergebnis oder ein Vermerk gehört ins onOffice-Maklerbuch, und dorthin
  schreibt der Assistent über den persönlichen onOffice AI Connector, unter
  dem Namen der Person. Die übrigen acht Skills bleiben: vier lesen, fünf
  schreiben, jeder mit Karte vor dem Schreiben. Notizen im Werkzeug selbst
  (Kontakt-Schublade, Durcharbeiten) sind davon nicht berührt.

## 0.58.0 (2026-09-05)

### Added

- **Einstellungen in fünf Gruppen.** Die zehn Bereiche stehen jetzt in der
  Reihenfolge der Arbeit: Verbindung (onOffice, Synchronisierung), Finden
  (Datenbank-Scan, Qualifizierung, REOS AI), Arbeiten (Allgemeines, Pipeline,
  Regeln), Zugriff (Freigaben) und Sonstiges (Wartung). Die Einstellungen
  öffnen mit der Verbindung. Jede gespeicherte Adresse führt weiter an ihr
  Ziel, auch die alte von „Allgemeines".
- **Maklerbuch-Einträge tragen die Person, die sie schreibt.** Eine Notiz,
  ein Anrufergebnis aus dem Durcharbeiten, die Begründung zur
  Verkaufsbereitschaft und ein Eintrag über den Assistenten stehen im
  Maklerbuch unter dem onOffice-Benutzer, der dem Mitglied unter
  Einstellungen, Integrationen, onOffice zugeordnet ist. Ohne Zuordnung
  bleibt es beim API-Benutzer; geraten wird nie.

### Changed

- **Erst abgleichen, dann scannen, und der Start antwortet sofort.** Ein Scan
  gleicht vorher mit onOffice ab und wartet im Hintergrund darauf, bevor er
  den ersten Kontakt bewertet. Der Klick auf „Scan starten" kommt in Sekunden
  zurück; vorher konnte er minutenlang stehen und dabei die ganze Fläche
  blockieren.
- **Ein Abgleich startet keinen Scan mehr.** Die Einstellung „Neue Leads
  automatisch qualifizieren" ist weggefallen. Wer den Bestand automatisch
  aktuell halten will, stellt unter Datenbank-Scan den Auto-Scan ein; der
  gleicht vor jedem Lauf ab und bewertet danach.
- **„Sonstiges" heißt jetzt „Wartung"** und steht in der Gruppe Sonstiges.
  Inhalt und Adresse sind unverändert.
- **Platzhalter passen zur Fläche.** Beim Laden zeigt die Liste Tabellenzeilen,
  das Board Spalten, die Funde Karten und ein Bereich der Einstellungen ein
  Formular. Vorher stand überall dieselbe graue Fläche, und beim Ankommen
  der Daten sprang die Seite.
- **Der Bestand des Verlaufs im Reiter Synchronisierung** wird alle 15
  Minuten neu gezählt statt bei jedem Öffnen. Kann er gerade nicht gezählt
  werden, steht ein Punkt statt einer Zahl.

### Fixed

- **Notizen kamen seit dem 27.08. nicht im Maklerbuch an**, und die Rücknahme
  ebenfalls nicht. Beides geht wieder; eine fehlgeschlagene Übertragung lässt
  sich an der Notiz erneut anstoßen.
- **Der Bereich Freigaben zeigte die allgemeinen Einstellungen.** Er zeigt
  jetzt die Freigaben.
- **„Gewichte automatisch anpassen" ließ sich nicht speichern.** Der Schalter
  bleibt jetzt, wie du ihn gesetzt hast.
- **Das Werkzeug hing nach Aktionen oder nach einem Neuladen** und brauchte
  einen zweiten Reload. Aktionen laden nicht mehr die ganze Seite neu, der
  Rahmen des Werkzeugs ist deutlich schlanker, und Werkstatt und
  Einstellungen teilen sich ihre Daten.
- **Die Meldung nach dem Setzen der Verkaufsbereitschaft** sprach von einer
  Notiz, die niemand geschrieben hatte. Sie nennt jetzt die Begründung.

## 0.57.0 (2026-09-05)

### Added

- **Der Assistent arbeitet jetzt im Werkzeug.** Er filtert den Bestand wie die
  Liste: nach Signal, Verkaufsbereitschaft, Akquise-Status, Phase, Betreuung,
  Wiedervorlage, Ort und nach Stichworten in der KI-Auskunft. Jede Zeile trägt
  Kundennummer, Name, Phase, Verkaufsbereitschaft und die KI-Zusammenfassung,
  damit aus einer Frage eine fertige Auflistung wird. Zu einem Kontakt liest er
  das vollständige Dossier mit Belegen, Plan, erkannten Immobilien, Funden und
  Verlauf, und er nennt den Bestand in Zahlen.
- **Sechs Skills schreiben, jeder nach deiner Bestätigung im Chat:** Notiz
  festhalten, Wiedervorlage setzen, Phase setzen, Betreuung zuweisen, Fund
  entscheiden, Verkaufsbereitschaft setzen. Sie laufen über denselben Weg wie
  die Knöpfe im Werkzeug, auch die Kopie nach onOffice. Ein- und ausschalten
  lassen sie sich unter Assistent, Plugins, DB-Leads.

### Changed

- **Funde im Assistenten** lassen sich nach Einstufung, Mindestpunktzahl,
  Signal, Verkaufsbereitschaft, Betreuung und Stichwort eingrenzen, auf Wunsch
  auch erledigte.

## 0.56.0 (2026-09-05)

### Added

- **Notizen zurücknehmen.** Eine Notiz, die versehentlich am falschen Kontakt
  gelandet ist, lässt sich jetzt zurücknehmen. Sie bleibt im Verlauf stehen
  und wird durchgestrichen gekennzeichnet; der Text bleibt lesbar, damit
  später nachvollziehbar ist, was zurückgenommen wurde. Im CRM wird der
  Eintrag ebenfalls gekennzeichnet. Löschen ist dort nicht möglich, und der
  Hinweis sagt das ausdrücklich, statt etwas anderes zu versprechen.
  Zurücknehmen geht nur bei Notizen, die in diesem Werkzeug entstanden sind.
- **Freigaben: fremde Kontakte gezielt sichtbar machen.** Bisher galt für
  eingeschränkte Rollen nur alles oder nichts: eigene Kontakte, sonst keine.
  Für eine Urlaubsvertretung musste die Einschränkung ganz aufgehoben werden.
  Unter Einstellungen, Freigaben lässt sich jetzt einzeln festlegen, wer
  zusätzlich die Kontakte welcher Kollegin sieht, mit einer Notiz zum Anlass
  und jederzeit zurücknehmbar.
- **Der Assistent kennt die offenen Funde.** Er konnte bisher Kontakte
  auflisten und einzeln lesen, aber die Ergebnisse des Scans nicht. Fragen wie
  „was soll ich heute abarbeiten" oder „welche Eigentümer sind gerade heiß"
  beantwortet er jetzt aus dem Eingang, mit derselben Sichtbarkeitsgrenze wie
  die Oberfläche.

## 0.55.0 (2026-09-05)

### Added

- **Neue Regel-Aktion: Ein onOffice-Feld auf einen Wert setzen.** Bisher konnte
  eine Regel nur die fertige Einschätzung zurückschreiben, und dafür braucht es
  eine vorherige Qualifizierung. Jetzt lässt sich ein einzelnes Feld direkt
  setzen, zum Beispiel eine Kampagnen-Kennzeichnung, sobald eine Aktivität
  hereinkommt. Das Feld wählst du aus dem Katalog deines Kontos. Ein leerer
  Wert leert das Feld.

## 0.54.0 (2026-09-05)

### Added

- **Verkaufsbereitschaft von Hand setzen.** Sie steht jetzt neben Phase und
  Betreuung im Kontakt und lässt sich ändern. Die Analyse liest den Verlauf,
  und im Verlauf steht das Telefonat von gestern nicht. Wer den Eigentümer am
  Apparat hatte, weiss in diesem Punkt mehr, und dieses Wissen hat jetzt einen
  Platz im Werkzeug.
- **Eine Begründung gehört dazu, und sie wirkt.** Sie ist Pflicht, landet als
  Notiz im Verlauf und geht auf Wunsch ins CRM. Vor allem aber liest die
  nächste Analyse sie mit: Sie übernimmt die Einschätzung aus dem Büro, es sei
  denn, im Verlauf steht ein neuerer Beleg, der ihr widerspricht. Ohne die
  Begründung würde die Analyse beim nächsten Lauf einfach ihren alten Wert
  wieder einsetzen.
- Der Wert geht auch ins CRM-Feld, wenn eines dafür eingestellt ist. Ein
  Vermerk am Kontakt zeigt, dass hier ein Mensch entschieden hat, und nennt auf
  Nachfrage die Begründung.

## 0.53.0 (2026-09-05)

### Fixed

- **Eine Notiz, die nicht im CRM ankommt, sagt jetzt die Wahrheit.** Bisher
  behauptete die Meldung, das Konto kenne die eingestellte Aktionsart nicht.
  Das war geraten und in den meisten Fällen falsch: Derselbe Satz erschien
  auch dann, wenn die Verbindung kurz weg war oder die Anmeldung abgelaufen
  ist. Wer daraufhin die Einstellungen prüfte, suchte an der falschen Stelle.
  Jetzt steht dort, was wirklich sicher ist: Die Notiz ist gespeichert, die
  Übertragung ins CRM hat nicht geklappt.

### Added

- **„Noch nicht im CRM" bleibt an der Notiz stehen.** Bisher war ein
  misslungener Übertrag eine kurze Meldung, die nach wenigen Sekunden
  verschwand. Danach sah die Notiz im Verlauf aus wie jede andere, und
  niemand konnte später erkennen, dass sie im CRM fehlt. Der Hinweis hängt
  jetzt an der Notiz selbst, mit einem Knopf, der die Übertragung erneut
  anstößt.

## 0.52.0 (2026-09-04)

### Changed

- **„E-Mail-Texte nachladen" ist abgeschaltet.** Der Bereich war die Reparatur
  für einen Bestand, der importiert wurde, bevor der Abgleich die
  E-Mail-Volltexte mitgeholt hat. Das tut er inzwischen selbst, und für einen
  Altbestand gibt es die Komplett-Synchronisierung unter Einstellungen,
  Sonstiges. Ein zweiter, stundenlanger Weg zum selben Ziel hilft dann nicht
  mehr. Ein bereits laufendes Nachladen läuft zu Ende.

## 0.51.0 (2026-09-04)

### Added

- **Komplett-Synchronisierung.** Sie liest den gesamten Bestand noch einmal aus
  onOffice, von vorne. Gedacht ist sie nur für den Ausnahmefall, dass beim
  Abgleich etwas schiefgegangen ist und die Daten nicht mehr zusammenpassen.
  Vor dem Start steht, wie viele Kontakte und Aktivitäten betroffen sind und
  dass der Lauf Stunden dauert. Es geht dabei nichts verloren, es dauert nur.

### Changed

- **Der Bereich „Zurücksetzen" heisst jetzt „Sonstiges".** Hier steht ab
  sofort, was man selten oder nie braucht und nur findet, wenn man es sucht.
  Die alte Adresse führt weiterhin hierher.
- **Der Voll-Scan ist dorthin umgezogen.** Er stand direkt neben dem normalen
  Datenbank-Scan, also an der Stelle, an der man mehrmals täglich klickt. Er
  bewertet aber jeden Kontakt neu, auch die ohne Änderung, und verbraucht einen
  Lauf aus dem Monats-Kontingent. Zwei Knöpfe nebeneinander, von denen einer
  ein Vielfaches kostet, sind eine Falle. Der Kontingent-Stand steht jetzt
  direkt an der Karte, und liegt der Bestand über der gebuchten Stufe, ist das
  die erste Zeile vor dem Start und keine Fußnote.
- **Jede Aktion in „Sonstiges" bringt ihre eigene Berechtigung mit.** Bisher
  hing die ganze Fläche an der Berechtigung zum Zurücksetzen. Wer sie nicht
  hatte, sah gar nichts, auch nicht den Voll-Scan. Jetzt erscheint jede Karte
  genau dann, wenn sie auch bedienbar ist.
- **Bestätigt wird passend zur Folge.** Ein Wort abtippen muss weiterhin, wer
  etwas löscht. Wer einen Lauf startet, bei dem nichts verloren geht, liest die
  Aufstellung und klickt.

### Fixed

- **Der Bereich lädt nicht mehr endlos.** Ging beim Laden etwas schief, blieb
  die Seite in ihrem Ladezustand stehen, ohne Grund und ohne die Möglichkeit,
  es noch einmal zu versuchen. Jetzt steht dort, dass es nicht geklappt hat,
  mit einem Knopf zum erneuten Versuch.

## 0.50.0 (2026-09-04)

### Changed

- **Vor jedem Scan werden die Änderungen aus onOffice geholt.** Der Scan
  bewertet, was in der Datenbank steht. Bisher konnte das der Stand vom
  letzten Abgleich sein, und niemand sah es dem Ergebnis an. Jetzt werden neue
  und geänderte Kontakte vorher nachgezogen, und weil dabei nur noch geholt
  wird, was sich seit dem letzten Mal getan hat, dauert das Sekunden.
- **Auch der tägliche Scan gleicht vorher ab.** Er läuft, während niemand
  zusieht. Genau dort war das Risiko am grössten, dass die Briefings über
  Wochen auf einem alten Stand entstehen.
- **Der Scan sagt jetzt, auf welchem Stand er arbeitet.** Konnte vorher nichts
  geholt werden, steht das als Hinweis da, statt dass ein Ergebnis frischer
  aussieht, als es ist.
- Ein vollständiger Abgleich wird nie nebenbei gestartet. Solange der erste
  noch aussteht, läuft der Scan auf dem vorhandenen Bestand und sagt es. Den
  vollständigen Abgleich stösst weiterhin nur an, wer ihn ausdrücklich
  auswählt.

## 0.49.0 (2026-09-04)

### Changed

- **Der Knopf „Durchgang" heisst jetzt „Durcharbeiten".** Der Modus trägt
  denselben Namen, damit Knopf und Fläche zusammenpassen.
- **Der Reiter „Funde" heisst jetzt „Scoring".** Nur der Reiter: Überschriften,
  Leerzustände und Hilfetexte sprechen weiterhin von Funden, denn das sind die
  Ergebnisse, die dort stehen.
- **Der Reiter „Board" heisst jetzt „Pipeline".**
- Der Hinweis unter der Zuweisung ist auf einen Satz gekürzt.

## 0.48.0 (2026-09-04)

### Changed

- **Der CSV-Export ist jetzt ein eigenes Recht.** Bisher genügte das Recht,
  Kontakte zu lesen, und damit konnte jedes Mitglied den kompletten Bestand
  mit Namen, Kontaktdaten und Bewertung als Datei mitnehmen. Ab sofort ist das
  Herunterladen für Mitglieder ab Werk ausgeschaltet und wird einzeln
  freigegeben. Der Knopf erscheint nur noch dort, wo er auch funktioniert.
- **Jeder Export hinterlässt eine Spur.** Festgehalten wird, wer wann wie
  viele Zeilen mitgenommen hat, niemals der Inhalt.

## 0.47.0 (2026-09-04)

### Fixed

- **Wer nur die eigenen Kontakte sehen darf, sieht sie jetzt auch nur im
  Bereich Funde.** Bisher war die Einschränkung dort wirkungslos: In der Liste
  griff sie korrekt, in den Funden erschien der gesamte Bestand des Büros,
  einschliesslich Namen, KI-Zusammenfassung und Zitaten aus dem Schriftwechsel.
- **Fremde Funde lassen sich nicht mehr annehmen, verwerfen oder
  zurückstellen.** Auch „Nächster Fund" vergibt nur noch Kontakte aus dem
  eigenen Zuständigkeitsbereich.
- **Kontakte ausserhalb des eigenen Bereichs lassen sich nicht mehr
  bearbeiten.** Das betraf das Ändern eines einzelnen Kontakts ebenso wie die
  Sammelaktionen Verschieben, Zuweisen, Archivieren, Zurückholen und Löschen.
- Die Auswertung und die Fortschrittszahlen rechnen jetzt über die Kontakte,
  die man sehen darf, statt über den ganzen Bestand.

### Changed

- Der Filter nach Betreuer wird nicht mehr angeboten, wenn ohnehin nur die
  eigenen Kontakte sichtbar sind. Er konnte dort nichts bewirken und nannte
  trotzdem alle Kolleginnen und Kollegen beim Namen. Ein alter Link mit einem
  gesetzten Betreuer-Filter führt nicht mehr zu einer unerklärlich leeren
  Liste.

## 0.46.0 (2026-09-04)

### Fixed

- **Nach einem Abgleich ohne Neuzugänge stand überall „0 neu · 0 aktualisiert".**
  Das war kein Datenverlust, sondern die richtige Antwort in der falschen
  Sprache: Seit der Abgleich nur noch holt, was sich seit dem letzten Mal
  geändert hat, ist „nichts Neues" der Normalfall. Jetzt heißt es „Alles
  aktuell", mit der Zahl der geprüften Kontakte und Einträge dabei.
- **Der Sync-Reiter zeigte unter „Übernommen" die Zahlen des letzten Laufs**
  und damit nach einem ruhigen Tag eine Null. Die Hauptzahl ist jetzt der
  Bestand: wie viele Kontakte, Einträge und Objekte das Werkzeug heute führt.
  Der letzte Abgleich steht daneben als das, was er ist: neu, geändert,
  unverändert.
- **Ein kurzer Abgleich meldet sich jetzt.** Vorher lud die Seite nach zwei
  Sekunden neu und sonst passierte nichts Sichtbares. Jetzt kommt am Ende eine
  Bestätigung mit dem Ergebnis, egal wie kurz der Lauf war.
- Der Hinweis-Streifen zum Abgleich steht nicht mehr dauerhaft über jeder
  Ansicht. Er erscheint, solange etwas läuft, wenn etwas schiefging oder
  direkt nach einem Lauf.

### Changed

- **Die Einrichtung ist eine eigene Seite.** Keine Werkzeugleiste, keine
  leeren Reiter darüber. Jeder Schritt hat seine eigene Seite mit Weiter und
  Zurück, der Zurück-Knopf des Browsers geht einen Schritt zurück, und ein
  Link führt genau zu dem Schritt, an dem es hakt.
- **Fünf Schritte statt vier.** Der Werbewiderspruch hat jetzt eine eigene
  Seite vor dem ersten Scan, statt als Kasten im Scan-Schritt zu stehen. Er
  bleibt optional; wer keine alte Abmeldeliste hat, geht ohne weiter.
- Am Ende der Einrichtung steht eine Übersicht, was eingerichtet ist, und der
  Weg zu den Funden.
- Während ein Abgleich läuft, drehen sich die Pfeile auf dem Sync-Knopf,
  statt einem Ladering zu weichen.
- „Nächster Fund" steht jetzt in der Werkzeugleiste links neben „Durchgang"
  und nimmt keine eigene Zeile mehr über der Funde-Liste ein.
- Die Verlaufs-Liste im onOffice-Reiter nennt neben „neu" und „geändert" auch
  „unverändert".

## 0.45.0 (2026-09-03)

### Fixed

- **Der Abgleich fängt nicht mehr jedes Mal von vorne an.** Bisher las jeder
  Lauf den kompletten Bestand erneut ein, auch wenn nur ein paar Kontakte und
  Einträge dazugekommen waren. Bei einem gewachsenen Adressbuch waren das
  Stunden Laufzeit für eine Handvoll Neuzugänge, und der Fortschritt begann
  wieder bei null. Jetzt fragt der Abgleich bei onOffice gezielt nach dem, was
  sich seit dem letzten Mal geändert hat.
- **Adressen werden nur noch geschrieben, wenn sich wirklich etwas geändert
  hat.** Vorher galt nach jedem Lauf jeder Kontakt als frisch bearbeitet, und
  dadurch musste der nächste Lauf wieder alle durchgehen.

### Changed

- **Ein Abgleich ist jetzt jederzeit möglich, solange er nur die Änderungen
  holt.** Die Tagessperre gilt weiterhin für den vollständigen Erst-Import:
  Der läuft lange, und ein zweiter Start würde die bisherige Arbeit verwerfen.
- Der Fortschritt zeigt jetzt die Menge, die dieser Lauf wirklich zu tun hat.
  Nach dem ersten vollständigen Import steht dort also nicht mehr der gesamte
  Bestand, sondern nur noch das, was neu dazugekommen ist.
- In der Verlaufs-Anzeige des Abgleichs steht neben "neu" und "geändert" jetzt
  auch "unverändert". Ohne diese Zahl liest sich ein sauber gelaufener Abgleich
  wie ein Fehlschlag.

### Hinweis

- Der erste Abgleich nach dieser Version geht noch einmal über den gesamten
  Bestand. Er legt dabei die Vergleichswerte an, die alle folgenden Läufe
  schnell machen. Ab dem zweiten Lauf greift die Beschleunigung.

## 0.44.0 (2026-09-03)

### Added

- **Die Bewertung kann aus deinen Ergebnissen lernen.** Signale, die in deinem
  Haus häufiger zum Auftrag führen, wiegen dann mit der Zeit schwerer; solche,
  die selten etwas bringen, wiegen leichter. Angepasst wird nach jedem Scan
  und nur, wenn genug Funde entschieden sind: Eine Quote aus drei Fällen ist
  eine Zufallszahl.
- **Die Funktion ist ausgeschaltet, bis du sie einschaltest.** Der Schalter
  steht unter Einstellungen, Datenbank-Scan. Wer seine Bewertung kennt, soll
  sie nicht dadurch verändert bekommen, dass wir etwas ausgeliefert haben.
- **Was sich bewegt hat, steht mit Datum und Begründung in der Auswertung.**
  Dort steht auch, aus wie vielen entschiedenen Funden die Quote stammt und
  wie sie sich zum Durchschnitt deines Hauses verhält. Mit einem Klick setzt
  du alles auf die Ausgangswerte zurück; der Verlauf bleibt erhalten.

### Changed

- Es bewegen sich ausschließlich die Gewichte. Es kommt kein neues Merkmal
  dazu und es fällt keines weg. Kein Signal fällt unter die Hälfte seines
  Ausgangswerts, keines steigt über das Anderthalbfache, und ein Lauf
  verschiebt höchstens einen kleinen Schritt.

## 0.43.0 (2026-09-03)

### Added

- **Archivierte Kontakte lassen sich wieder zurückholen.** Blende dazu in der
  Liste die archivierten Kontakte ein, wähle sie aus und klicke auf
  „Wiederherstellen". Sie stehen danach sofort wieder in der normalen Liste.
  Wer sie zurückgeholt hat, steht im Verlauf des Kontakts.

### Changed

- **Endgültig gelöscht wird nur noch, was archiviert ist.** Der Weg ist jetzt
  zweistufig: erst archivieren, dann die archivierten Kontakte einblenden und
  dort löschen. Bis zu diesem Zwischenschritt lässt sich jeder Schritt
  zurücknehmen.
- Die Rückfrage vor dem Löschen sagt jetzt, was mitgeht: der gesamte Verlauf,
  die Funde und die Objekt-Hinweise des Kontakts.
- Nach dem Löschen nennt die Meldung beide Zahlen. Waren Kontakte dabei, die
  nicht archiviert sind, stehen sie noch, und die Meldung sagt das.

## 0.42.0 (2026-09-03)

### Added

- **Wenn zwei gleichzeitig an einem Kontakt arbeiten, geht nichts mehr
  verloren.** Bisher gewann die zuletzt gespeicherte Änderung, und die erste
  war spurlos weg. Jetzt prüft das Werkzeug vor dem Speichern, ob sich der
  Stand inzwischen bewegt hat, und fragt nach: Es sagt, was jetzt gilt und wer
  es gesetzt hat, und die eigene Änderung lässt sich mit einem Klick trotzdem
  übernehmen. Gilt für die Phase, die Betreuung und die Objekte am Kontakt.
- Wer eine Karte in die Spalte zieht, in der sie schon steht, löst keine
  Bewegung mehr aus. Im Verlauf des Kontakts steht dann auch kein Phasenwechsel
  mehr, den es nie gab.

## 0.41.0 (2026-09-02)

### Added

- **Man sieht jetzt, an welchen Kontakten gerade jemand arbeitet.** Auf dem
  Board und in der Liste steht an einem reservierten Kontakt, wer ihn hält und
  bis wann. Arbeiten mehrere an demselben Kontakt, sagt die Marke das ebenfalls.
- Reserviert heißt weiterhin nicht gesperrt: Der Kontakt lässt sich öffnen und
  bearbeiten wie jeder andere, und die Marke sagt das auch. Läuft die Zeit ab,
  verschwindet sie von selbst.

## 0.40.0 (2026-09-02)

### Added

- **Zu mehreren an den Funden arbeiten: „Nächster Fund".** Über der Fundliste
  gibt es einen neuen Knopf. Ein Klick übernimmt den obersten freien Fund,
  öffnet den Kontakt und reserviert ihn für die Zeitsperre aus den
  Einstellungen. Wer gleichzeitig klickt, bekommt den nächsten Fund, nie
  denselben. An reservierten Funden steht, wer sie hält und bis wann.
- Reserviert heißt nicht gesperrt: Der Fund bleibt in Liste, Board und Suche
  sichtbar, und jede Kollegin mit der Berechtigung zum Qualifizieren kann ihn
  trotzdem bearbeiten. Frei wird er durch die Entscheidung darüber oder durch
  das Ablaufen der Zeit.

### Changed

- Die Einstellung **Warteschlange** (Zeitsperre in Minuten) wirkt jetzt. Der
  Hinweis, dass sie noch nichts tut, ist weg. `0` bedeutet weiterhin: Funde
  werden vergeben, aber nicht reserviert.

## 0.39.0 (2026-09-02)

### Added

- **Auskunft je Kontakt (Art. 15 DSGVO).** Im Kontaktmenü der Schublade,
  der Liste und des Boards gibt es „Auskunft erstellen (Art. 15)“: ein PDF
  mit allem, was DB-Leads zu dieser Person gespeichert hat (Kontaktdaten,
  KI-Einschätzung samt Belegen, Funde mit Punktzahl und Verwerfungs-Grund,
  Objekt-Hinweise, hinterlegte Widersprüche, Verlauf in Zahlen und die
  geltende Aufbewahrungsfrist). Die Datei landet im Dateispeicher unter
  Tools, DB-Leads, Auskünfte und wird im Protokoll vermerkt. Erstellen darf,
  wer den Kontakt sehen darf.

## 0.38.1 (2026-09-02)

### Changed

- **Der Datenbank-Scan hält an, wenn der Betrieb die KI-Nutzung eines
  Arbeitsbereichs begrenzt hat.** Der Lauf endet dann mit einer klaren
  Meldung, bereits erstellte Briefings bleiben erhalten, und das Guthaben wird
  nicht belastet. Dasselbe gilt für die Serie der KI-Beschreibungen in den
  Einstellungen. Einzelne Briefings laufen weiter, solange der Betrieb nicht
  vollständig sperrt.

## 0.38.0 (2026-09-02)

### Added

- **Gelöschte onOffice-Kontakte verschwinden jetzt auch aus DB-Leads.** Löschst
  du einen Kontakt in onOffice, entfernt ihn der nächste Abgleich samt
  Briefing, Funden, Verlauf und Objekt-Hinweisen. Das Werkzeug folgt dabei dem
  zentralen Adressbuch: Erst stellt der Adress-Abgleich der Plattform nach
  einer Nachfrage bei onOffice fest, dass es den Kontakt dort nicht mehr gibt,
  dann räumt DB-Leads ihn ab. Über einer Sicherheitsgrenze wird gemeldet statt
  gelöscht. Der Schritt steht im Verlauf des Laufs unter Synchronisierung.

## 0.37.0 (2026-08-31)

### Added

- **Der Datenbank-Scan läuft jetzt auch täglich.** Neben wöchentlich und
  monatlich gibt es unter Einstellungen, Datenbank-Scan die Option „Täglich".
  Sie ist der empfohlene Takt: Der onOffice-Abgleich holt morgens neue
  Adressen, danach sieht sich der Scan nur die Kontakte an, bei denen seit der
  letzten Einschätzung wirklich etwas passiert ist. Das kostet einen Bruchteil
  eines Voll-Scans.

### Changed

- **Der Voll-Scan fragt jetzt immer nach.** Bisher tat er das nur, wenn dein
  Bestand über der gebuchten Stufe lag, also ausgerechnet dann nicht, wenn er
  einfach nur teuer ist. Der Dialog sagt, was er tut und dass der
  Datenbank-Scan daneben für den Alltag der richtige Knopf ist.
- **Der Hinweistext zur Automatik sagt jetzt, was sie kostet** und woher neue
  Adressen kommen.

## 0.36.0 (2026-08-31)

### Added

- **Widerspruch gegen die KI-Bewertung, je Kontakt.** Wenn eine Person der
  Bewertung widerspricht, löschst du im Kontaktmenü unter „KI-Bewertung löschen
  und sperren" alles, was die KI über sie errechnet hat: Einschätzung,
  Zusammenfassung, Persona, Signale, Verkaufsbereitschaft, die Funde und die
  KI-Objekthinweise. **Kein Scan erstellt sie neu**, bis du das ausdrücklich
  wieder zulässt.
- **Der Kontakt bleibt.** Name, Anschrift, Verlauf, Phase, deine eigenen
  Notizen und Objekthinweise sind nicht betroffen. Widersprochen ist der
  Bewertung, nicht der Geschäftsbeziehung.
- **Sichtbar am Kontakt.** Ist die Bewertung gesperrt, steht das oben im
  Kontakt, neben einem etwaigen Werbewiderspruch. So sieht man auf einen Blick,
  warum dort keine Einschätzung steht.
- **Umkehrbar, aber ehrlich.** Du kannst die Bewertung wieder zulassen. Die
  gelöschte Einschätzung kommt dadurch nicht zurück; ein künftiger Scan darf
  eine neue erstellen. Beide Rückfragen sagen das vorher.

### Fixed

- **Das Zurücksetzen und die Aufbewahrungsfrist löschen jetzt dasselbe.** Beim
  Aufräumen einer Einschätzung blieben bisher an einer Stelle vier Angaben
  liegen, darunter die Punktzahl und der Beleg-Marker eines Funds.

## 0.35.0 (2026-08-31)

### Added

- **Einschätzungen werden nicht mehr für immer aufbewahrt.** Unter Einstellungen,
  Allgemein stellst du ein, nach wie vielen Monaten das Tool löscht, was die KI
  über einen Kontakt errechnet hat: Einschätzung, Zusammenfassung, Persona,
  Signale, Verkaufsbereitschaft, die Funde dazu und die KI-Objekthinweise.
  Vorgabe sind 24 Monate, einstellbar zwischen 6 und 60.
- **Was dabei bleibt:** Kontaktdaten und Verlauf gehören deinem CRM und werden
  nicht angetastet. Objekthinweise, die du selbst eingetragen oder bestätigt
  hast, bleiben ebenfalls. Kontakte mit gesetzter Phase sind ausgenommen, damit
  laufende Vorgänge nicht verschwinden.
- **Gezählt wird ab dem späteren von beidem:** letzter Kontakt oder Erstellung
  der Einschätzung. So verschwindet eine gerade erstellte Einschätzung nicht
  sofort wieder, und das Profil eines Kontakts, mit dem seit Jahren niemand
  gesprochen hat, bleibt trotzdem nicht ewig liegen.

## 0.34.1 (2026-08-31)

### Removed

- **Die Karte "Immobilien-Einstellungen" ist aus den Einstellungen verschwunden.**
  Sie stellte ein, wie eine Immobilie befüllt wird, die aus einem Lead angelegt
  wird. DB-Leads legt aber bewusst nie eine Immobilie an: Ein Platzhalter aus
  einer Vermutung würde in deinem Objekt-Bestand als Auftrag mitgezählt. Aus
  einem Hinweis wird ein Objekt erst, wenn es einen Auftrag gibt, und dann legt
  es dein CRM an. Bereits gespeicherte Werte bleiben unangetastet.

### Changed

- **Warteschlange und Lead-Import sagen jetzt, dass sie noch nicht wirken.**
  Beide Einstellungen ließen sich speichern, ohne etwas zu bewirken. Sie
  bleiben sichtbar, weil beides kommt, tragen aber einen deutlichen Hinweis.

## 0.34.0 (2026-08-31)

### Fixed

- **Ausgeschlossene Kontaktarten wurden bisher gar nicht ausgeschlossen.** Wer
  eine Kontaktart aus einer Auswahlliste ausgeschlossen hatte, bekam für diese
  Kontakte trotzdem Einschätzungen erstellt. Im Referenz-Büro betraf das 22 von
  32 eingestellten Ausschlüssen, darunter die drei größten. Die Einstellung
  wirkt jetzt, und bereits gespeicherte Ausschlüsse wurden mitkorrigiert. Es
  ist nichts nachzutragen.

### Changed

- **Ausgeschlossene Kontaktarten erscheinen nicht mehr im Board und in der
  Liste.** Bisher standen sie dort weiter, nur ohne Einschätzung. Wer eine
  Kontaktart ausschließt, sieht diese Kontakte jetzt auch nicht mehr. Ein
  Kontakt mit gesetzter Phase bleibt sichtbar, damit laufende Vorgänge nicht
  verschwinden.
- **Neuer Filter "Ausgeschlossene Kontaktarten" in der Listenansicht.** Er
  blendet die ausgeschlossenen Kontakte bei Bedarf wieder ein und erscheint
  nur, wenn wirklich etwas ausgeschlossen ist.
- **Der Kontaktart-Filter zeigt zuerst die eigenen Bezeichnungen.** Oben stehen
  die Kontaktarten, die im Reiter Qualifizierung gepflegt sind, mit der dort
  vergebenen Bezeichnung. Darunter folgen die übrigen Kontaktarten aus
  onOffice, damit weiterhin jeder Kontakt auffindbar bleibt.
- **Zählungen und CSV-Export folgen der Liste.** Spaltenzahlen, der
  Qualifizierungs-Fortschritt und der Export zeigen dieselbe Menge wie das
  Board, nicht mehr den vollen Bestand.

## 0.33.9 (2026-08-30)

### Fixed

- **Fertige Stapelergebnisse gehen bei einem unterbrochenen Hintergrundlauf
  nicht mehr verloren.** Bereits bezahlte Antworten werden sicher
  zwischengespeichert und beim nächsten Lauf genau dort weiterverarbeitet.
- **Lange vollständige Scans werden nicht mehr irrtümlich abgebrochen.** Ein
  Scan bleibt aktiv, solange Antworten erstellt oder noch in Briefings
  übernommen werden.
- **Große Ergebnismengen überschreiten nicht mehr das Zeitlimit eines einzelnen
  Hintergrundlaufs.** Die Briefings werden in wiederaufnehmbaren Portionen
  gespeichert, bis der vollständige Scan abgeschlossen ist.
- **Abgeschlossene Aufträge mit noch nicht übernommenen Antworten werden
  automatisch wiedergefunden.** Die Wiederherstellung funktioniert unabhängig
  vom eingesetzten KI-Anbieter und kann zusätzlich gezielt angestoßen werden.

## 0.33.8 (2026-08-29)

### Fixed

- **Jeder neue Scan versucht wieder einen echten Mistral-Stapelauftrag.** Eine
  frühere Ablehnung verhindert nicht mehr, dass ein späterer Lauf nach einer
  Freischaltung sofort als Stapel starten kann.
- **Vorübergehende Engpässe lassen den Scan nicht mehr scheinbar hängen.** Die
  Qualifizierung arbeitet in diesem Fall kontrolliert weiter, speichert
  regelmäßig ihren Stand und überlastet den Anbieter nicht mit parallelen
  Wiederholungen.
- **Die Fortschrittsanzeige meldet längere Wartezeiten sachlich.** Bereits
  gefundene Ergebnisse bleiben erhalten, und ein geplanter neuer Versuch wird
  nicht mehr als ausgefallener Hintergrund-Prozess dargestellt.

## 0.33.7 (2026-08-29)

### Fixed

- **Vollständige Scans überlasten die KI-Qualifizierung nicht mehr.** Wenn
  Mistral die Briefings einzeln verarbeitet, werden kleine Gruppen mit
  begrenzter Parallelität abgearbeitet. Vorübergehende Engpässe werden nach
  einer Wartezeit erneut versucht, ohne fertige Briefings doppelt zu erstellen.
- **Fehlermeldungen behaupten nicht mehr, dass keine Briefings entstanden
  sind.** Bereits erstellte Ergebnisse bleiben erhalten und werden in der
  Meldung korrekt berücksichtigt.

## 0.33.6 (2026-08-29)

### Fixed

- **Vollständige Scans laufen auch dann mit Mistral weiter, wenn der
  Stapeldienst nicht verfügbar ist.** Die Briefings werden in diesem Fall
  weiterhin mit dem eingestellten Mistral-Modell erstellt. Der Scan wechselt
  nicht zu einem anderen KI-Anbieter und bricht nicht ohne Ergebnisse ab.
- **Der Start eines vollständigen Scans antwortet jetzt sofort.** Die
  Qualifizierung läuft vollständig im Hintergrund und blockiert die
  Oberfläche nicht, während Mistral die Kontakte verarbeitet.
- **Die Kostenstatistik zählt Stapelläufe nicht mehr doppelt.** Angezeigt
  werden die tatsächlich verbrauchten Kosten, sobald die Ergebnisse vorliegen.

## 0.33.5 (2026-08-29)

### Fixed

- **Fehler beim Start eines vollständigen Scans werden jetzt verständlich
  erklärt.** Die Meldung beschreibt den betroffenen Vorgang und die nächsten
  Schritte, ohne technische Anbieter-, Konto- oder Systeminformationen
  anzuzeigen.

## 0.33.4 (2026-08-29)

### Fixed

- **Vollständige Scans laden die Hulk-Route jetzt auch unter Datenbanklast
  zuverlässig.** Der Stapel-Verteiler verwendet die bereits aktive
  Scan-Verbindung, statt für die Modellsteuerung einen zweiten kalten Pool zu
  öffnen. Ein technischer Ladefehler wird außerdem nicht mehr fälschlich als
  „Kontakte passen in keine Route“ gemeldet.
- **Die Hintergrundbereinigung alter E-Mail-Texte blockiert den Datenbank-Pool
  nicht mehr minutenlang.** Ein gezielter Index ersetzt den vollständigen Scan
  über mehr als 800.000 Aktivitäten.

## 0.33.3 (2026-08-29)

### Fixed

- **Vollständige Scans bleiben jetzt beim eingestellten KI-Anbieter.** Ist für
  Hulk nur Mistral aktiviert, wechselt ein abgelehnter Stapel nicht mehr
  unbemerkt zu Gemini. Der Scan stoppt mit dem konkreten Anbieterfehler und
  kann nach dessen Behebung neu gestartet werden.
- **Abgebrochene Scans übernehmen keine verspäteten Ergebnisse mehr.** Bereits
  beim Anbieter liegende Aufträge werden weiterhin sauber abgeschlossen,
  verändern danach aber weder Kontakte noch Funde des beendeten Scans.

## 0.33.2 (2026-08-29)

### Fixed

- **Die Qualifizierung bleibt nicht mehr endlos vor der KI stehen.** Ist die
  zentrale Modell-Steuerung kurz nicht erreichbar, verwendet der Lauf die
  letzte bekannte Einstellung oder die sichere Vorgabe. Ein Briefing-Lauf
  endet damit kontrolliert, statt erst nach fünf Minuten abzubrechen.
- **Der Fortschritt im Dossier ist wieder eindeutig.** Der große Knopf nennt
  weiterhin den aktuellen Arbeitsschritt. Im Dossier zeigt jetzt eine
  eigenständige, ruhige Aktivitätslinie, dass das Briefing erstellt oder
  aktualisiert wird. Die doppelte Statuskarte und die irreführende Meldung
  „Ergebnis wird gespeichert" sind entfernt.

## 0.33.1 (2026-08-28)

### Fixed

- **„Neu qualifizieren" erstellt wieder zuverlässig ein Briefing.** Antwortet
  onOffice beim vorgeschalteten Abgleich zu langsam, arbeitet die Analyse mit
  dem bereits vorhandenen Datenstand weiter. Der CRM-Abruf kann den KI-Lauf
  nicht mehr vollständig aufhalten.
- **Der laufende Stand ist jetzt unübersehbar.** Der große Knopf zeigt während
  der Qualifizierung den aktuellen Arbeitsschritt, auch wenn dort vorher
  „Anrufen" stand. Ein vorhandenes Briefing bleibt lesbar, und das
  irreführende Schimmer-Gerüst ist verschwunden.

## 0.33.0 (2026-08-28)

### Added

- **Die Analyse findet jetzt die Immobilien, um die es geht.** Beim
  Qualifizieren liest sie aus E-Mails und Gesprächsnotizen heraus, welche
  Immobilien einem Kontakt gehören: Anschrift, Objektart, Zimmer, Wohnfläche,
  Grundstück und Baujahr, so viel davon, wie wirklich dasteht. Jeder Eintrag
  bringt den Satz mit, aus dem er stammt, samt Datum. Ohne Beleg entsteht kein
  Eintrag.
- **Objekte selbst ergänzen und bestätigen.** Was du am Telefon erfährst,
  trägst du im Bereich Eigentum direkt ein. Stimmt ein gefundener Eintrag,
  bestätigst du ihn mit einem Klick. Deine eigenen und bestätigten Angaben
  bleiben ab dann bei jedem weiteren Scan erhalten, gefundene Einträge werden
  bei jedem Lauf neu erstellt.
- **Der Bereich Eigentum ist immer da.** Auch wenn nichts gefunden wurde,
  steht dort „Keine Objekte gefunden." und der Weg, selbst etwas einzutragen.
  Vorher verschwand der Bereich ganz, und damit auch der Weg dorthin.

### Changed

- **Es werden keine Objekte mehr über die Anschrift zugeordnet.** Bisher galt
  ein Objekt aus deinem Bestand als möglicher Besitz eines Kontakts, sobald
  die Straße im Datensatz übereinstimmte. Das war in dieser Phase falsch: Wer
  an einer Adresse wohnt, kann Mieter sein oder Suchkunde, und das Objekt
  gehört dann jemand anderem. Führt onOffice den Kontakt ausdrücklich als
  Eigentümer oder Käufer, steht das Objekt weiterhin da, jetzt unter der
  Überschrift „Im Bestand".

## 0.32.0 (2026-08-28)

### Changed

- **„Status" und „KI-Empfehlung" sind vollständig verschwunden.** Nicht nur
  als Spalte in der Liste: auch die zwei Filter darüber, der farbige Punkt auf
  der Kontaktkarte im Brett und auf dem Telefon, und die beiden Abzeichen im
  Kopf der Kontakt-Ansicht (dort stand zum Beispiel „Gewonnen" und „Prüfen").
  Der Grund ist nicht Platzmangel. Wir haben die vorhandenen Analysen
  durchgesehen, und das Abzeichen widersprach in drei von vier Fällen der
  Analyse, die einen Zentimeter tiefer im selben Fenster stand: „Gewonnen"
  über einem Kontakt, dessen letzte echte Regung eine unzustellbare Mail vor
  über anderthalb Jahren war, „Verloren" über einem Kontakt mit einem Termin
  im Büro am Vortag. Ein Werkzeug, das sich selbst widerspricht, wird nicht
  halb geglaubt, sondern gar nicht. Die KI-Empfehlung hatte dasselbe Problem
  in mild: Sie stand bei fast allen Kontakten auf „Prüfen" und sagte damit
  nichts.
- **An ihrer Stelle steht die Verkaufsbereitschaft.** Sie beantwortet die
  Frage, für die man einen Kontakt überhaupt öffnet, sie stammt aus derselben
  Analyse wie alles andere im Fenster, und sie bringt ihren Beleg mit. Zu
  sehen in der Liste, in der Schublade und in der Kontakt-Ansicht.
- **Die Phasen-Empfehlung steht ohne Beiwerk da.** In der Kontakt-Ansicht war
  sie in eine Karte mit Einstufung und „Beleg" verpackt, die bei jedem
  analysierten Kontakt erschien, meistens ohne dass es etwas zu übernehmen
  gab. Jetzt erscheint sie nur noch, wenn die Analyse wirklich eine andere
  Phase vorschlägt, und dann als ein Satz mit einem Knopf. Der frühere Beleg
  ist mit gutem Grund weg: Er zitierte oft unsere eigene Protokollzeile aus
  dem letzten Abgleich.
- **Der CSV-Export hat eine Spalte weniger.** „KI-Empfehlung" ist entfallen,
  alles andere bleibt unverändert.

## 0.31.0 (2026-08-28)

### Added

- **Die Liste zeigt endlich Kontaktart und Herkunft.** Beide standen seit
  jeher in onOffice und kamen im Werkzeug nie an: In der Spalte „Kontaktart"
  stand bei jedem Kontakt „onoffice", also die Quelle des Datensatzes statt
  seiner Kontaktart. Beide Angaben sind jetzt da, für den vorhandenen Bestand
  rückwirkend, und beide lassen sich filtern.
- **Signale, Verkaufsbereitschaft und Persona als eigene Spalten, jede mit
  Filter.** Damit lässt sich zum ersten Mal die Frage stellen, um die es
  eigentlich geht: Zeig mir alle mit expliziter Verkaufsabsicht. Die Spalten
  stehen immer, auch wenn erst wenige Kontakte analysiert sind; ungeprüfte
  Zeilen bleiben leer statt zu verschwinden.
- **Eine Betreuer-Spalte, die auch sortiert.** Wer im CRM als Betreuer
  eingetragen ist, steht jetzt im Werkzeug als Betreuer:in, mit Profilbild.
  Namen aus onOffice, zu denen es hier kein Konto gibt (technische Zugänge,
  ehemalige Kolleg:innen), bekommen eine erkennbar andere Darstellung statt
  eines erfundenen Personen-Kürzels. Der Filter kennt zusätzlich „Ohne
  Betreuung".
- **Mehrere Werte in einer Zelle bleiben lesbar.** Trägt ein Kontakt fünf
  Kontaktarten, steht die erste da und daneben „+4"; die vollständige Liste
  erscheint beim Darüberfahren und ist auch mit der Tastatur erreichbar.

### Changed

- **Die Betreuung kommt aus onOffice.** Bisher war sie im Werkzeug bei jedem
  Kontakt leer, obwohl sie im CRM gepflegt war. Der Abgleich übernimmt sie
  jetzt und hält sie aktuell. Wer die Zuweisung im Werkzeug ändert und kein
  Rückschreibfeld eingestellt hat, bekommt an der Zuweisen-Aktion einen
  Hinweis: Ohne Rückweg setzt der nächste Abgleich sie wieder auf den Wert
  aus dem CRM.
- **Die Phase steht nur noch einmal.** Vorher las sich die Spalte als
  „Disqualifiziert / Disqualifiziert", weil die Bezeichnung zweimal
  erschien.
- **Drei Spalten sind weg: „Status", „KI" und „Wiedervorlage".** Status stand
  neben der Phase und wurde als Dopplung gelesen; die KI-Empfehlung in drei
  Stufen sagen Signale, Verkaufsbereitschaft und Persona genauer; die
  Wiedervorlage war fast immer leer und kostete eine ganze Spalte. Sie
  erscheint jetzt als kleines Zeichen am Namen, sobald es sie gibt, und ihr
  Filter bleibt.
- **Es gibt nur noch EINE Feldzuordnung für dein Adressbuch.** Sie liegt in
  den Einstellungen unter Integrationen, onOffice, Adressen, und das Werkzeug
  übernimmt sie von dort. Die zweite Zuordnung im Werkzeug ist entfallen; sie
  kannte weniger Felder als die zentrale, und was ihr fehlte, verschwand
  ohne Meldung.

### Fixed

- **Ausgeschlossene Kontaktarten werden beim Scan wieder ausgeschlossen.** Der
  Ausschluss verglich gegen ein Feld, das nie gefüllt war, und griff deshalb
  nie: Der Scan bewertete auch die Kontaktarten, die abgewählt waren.
- **Die Analyse sieht jetzt, was im CRM schon eingetragen ist.** Kontaktart
  und Herkunft fehlten ihr bisher vollständig, obwohl sie ausdrücklich nur
  ergänzen soll, was dort steht.
- **Die erkannten Kontaktarten werden wieder nach onOffice ergänzt.** Die
  Analyse lieferte sie gar nicht erst. Wenn das Ergänzen einmal nicht
  möglich ist, steht der Grund jetzt im Verlauf des Kontakts, statt dass die
  Kontaktart kommentarlos fehlt.
- **Eingeschränkte Mitglieder sehen wieder ihre Kontakte.** Wer nur die eigenen
  Kontakte sehen darf, sah bisher gar keine, weil im Werkzeug niemand als
  Betreuung eingetragen war.
- **Der CSV-Export stimmt wieder.** Die Spalte „Kontaktart" war leer, unter
  „Herkunft" stand in jeder Zeile „onoffice", und unter „Verkaufsbereitschaft"
  stand eine interne Abkürzung statt der Einstufung. Neu dabei sind außerdem
  Signale und Betreuer.

## 0.30.1 (2026-08-28)

### Fixed

- **Der Einzel-Abgleich holt die Stammdaten wieder.** In manchen onOffice-Konten
  schlug das Lesen eines einzelnen Kontakts fehl, und zwar still: Der Verlauf
  kam an, die Stammdaten nicht. Das Werkzeug probiert jetzt mehrere Wege durch
  und meldet erst auf, wenn wirklich keiner trägt.
- **Ein eingestelltes KI-Modell, das es in deiner Region nicht gibt, wird nicht
  mehr angeboten.** Vorher konnte in der Verwaltung ein Modell ausgewählt
  werden, das die eingestellte Verarbeitungs-Region gar nicht führt. Der Lauf
  brach dann mit einer Meldung des Anbieters ab.

## 0.30.0 (2026-08-27)

### Added

- **„Du warst bei Kontakt 23 von 40."** Nach einer Pause, einem Anruf oder
  einem Tab-Wechsel steht oben eine Zeile mit einem Knopf, der dich dorthin
  zurückbringt. Sie gilt zwölf Stunden und nur auf diesem Gerät.
- **Der große Knopf unten zeigt den nächsten Schritt.** Solange kein Briefing
  da ist, erstellt er es. Danach steht dort „Anrufen" (oder „E-Mail
  schreiben", wenn keine Nummer hinterlegt ist), und nach dem Anruf „Ergebnis
  festhalten". „Neu qualifizieren" ist ins Drei-Punkte-Menü gewandert, wo es
  hingehört: eine Wiederholung, kein Fortschritt.
- **Über den Funden steht, wie viele du zuletzt angenommen hast.** Die einzige
  Zahl, die über den Wert des Scans wirklich etwas aussagt. Sie erscheint erst,
  wenn genug Funde entschieden sind.
- **Nach dem Import steht jetzt der nächste Schritt da.** Vorher endete er mit
  einer Zahl und sonst nichts. Der Import allein findet keinen Lead, das tut
  der Scan.
- **In der Werkzeugleiste steht, wann zuletzt gescannt wurde.** Damit lässt
  sich ohne Umweg entscheiden, ob sich ein neuer Lauf lohnt.
- **Regeln können deutlich mehr.** Neu sind sechs Aktionen: wieder in den
  Scan aufnehmen, Kontakt archivieren, mit Grund verwerfen, Wiedervorlage
  entfernen, Notiz im Verlauf hinterlegen und die Betreuung benachrichtigen.
  Bisher konnte eine Regel einen Kontakt nur wegsortieren und nie wieder
  zurückholen.
- **„KI-Briefing erstellen" heißt jetzt „Vollständig qualifizieren".** Der
  Name war zu klein für das, was passiert: Es läuft die komplette Analyse mit
  Signalen, Verkaufsbereitschaft, Phasen-Vorschlag und Rückschreiben nach
  onOffice. Unter jeder Aktion steht jetzt ein Satz, was sie wirklich tut.
- **Drei neue Regel-Vorlagen**, damit die neuen Aktionen auffindbar sind:
  Wiedervorlage entfernen, wenn der Kontakt antwortet; heiße Funde sofort
  qualifizieren und melden; bei Werbewiderspruch archivieren und begründen.
- **Die Kontaktart wird jetzt nach onOffice geschrieben, und zwar
  zusätzlich.** Die Analyse trägt ein, was sie erkennt (Eigentümer:in,
  Kaufinteressent:in, Kapitalanleger:in, Mieter:in, Interessent:in), und
  lässt alles stehen, was ihr im Feld schon vorfindet. Es geht nichts
  verloren, was du dort von Hand gepflegt hast. Kann das Feld gerade nicht
  gelesen werden, bleibt es unangetastet.

### Changed

- **Das Board ist wieder ein Board.** Eine Spalte lädt jetzt höchstens 200
  Karten nach. Bei 15.721 Karten in einer Spalte war es kein Überblick mehr,
  sondern eine Schublade, und die Seite wurde mehrere tausend Pixel hoch.
  Darunter steht, wie viele es insgesamt sind, und ein Link in die Liste.
- **Die Einrichtung hat jetzt eine eigene Seite.** Sie lag als fünfter Reiter
  neben Funden, Board, Liste und Wiedervorlagen. Jetzt liegt sie unter
  `/tools/db-leads/setup`, ist verlinkbar, und sie gehört zum Recht „DB-Leads
  einrichten". Wer das Recht nicht hat, bekommt eine Erklärung statt einer
  Fläche, mit der er nichts anfangen könnte. Alte Links funktionieren weiter.
- **Die Einrichtung gibt keine Werte mehr vor.** Feldnamen und Auswahlwerte
  waren als Pflicht formuliert („genau in dieser Schreibweise"). Das stimmte
  nie: Wer in onOffice eigene Werte pflegt, lässt sie stehen und ordnet sie
  einmal zu. Der Text sagt das jetzt.
- **Die Tool-Einstellungen sind aufgeräumt.** Über jeder Seite standen „Alle
  Tools" und „Zum Tool öffnen" in Großbuchstaben. Beides ist weg: Der Name des
  Werkzeugs links führt jetzt selbst ins Werkzeug, und die drei Striche
  daneben öffnen alle Einstellungen.
- **Unter Qualifizierung ist es ruhiger geworden.** Die grüne Zeile „6 von 6
  Parametern sind verbunden" ist weg, sie bestätigte bei jedem Öffnen
  dasselbe. Gemeldet wird nur noch, was NICHT nach onOffice schreibt. Der
  Hinweis zum Write-back steht jetzt unten statt über den Einstellungen, und
  die Bauanleitung für die onOffice-Felder liegt hinter dem Knopf „Setup
  abschließen".
- **Der Abgleich läuft deutlich schneller.** Bisher hat er jeden gelesenen
  Maklerbuch-Eintrag neu geschrieben, auch wenn sich nichts geändert hatte:
  im Referenzbüro 706.447 Schreibvorgänge für 11.998 wirklich neue Einträge,
  Laufzeit über vier Stunden. Ab jetzt wird nur geschrieben, was sich wirklich
  geändert hat. Nach dem ersten vollständigen Durchlauf holt der Abgleich
  ohnehin nur noch das, was seitdem dazugekommen ist.
- **Der Abgleich sagt jetzt auch, was bereits aktuell war.** Ein kurzer Lauf,
  der nichts zu tun hatte, meldete vorher "0 Einträge übernommen" und sah aus
  wie ein Fehlschlag.

### Fixed

- **Kontakte werden wieder zuverlässig aus onOffice zurückgelesen.** In
  manchen Konten schlug das Rücklesen eines einzelnen Datensatzes still fehl.
  Folge: Nach dem Schreiben wurde nicht mehr geprüft, ob die Werte auch
  wirklich angekommen sind.
- **Das Briefing steht nicht mehr doppelt da.** In onOffice und im Werkzeug
  stand der komplette Text zuerst als ein unformatierter Absatz und darunter
  noch einmal sauber gegliedert. Ab jetzt steht jede Angabe genau einmal:
  Einordnung, Plan, Opener, Ort, Erst- und letzter Kontakt, Persona, Signale
  und Verkaufsbereitschaft, jedes an seiner Stelle.
- **Keine Fragezeichen mehr im onOffice-Feld.** An zwei Stellen stand `????`
  statt eines Symbols. onOffice kann diese Zeichen nicht speichern; sie gehen
  jetzt gar nicht erst raus.
- **Ort der Immobilie und letzter Kontakt stehen jetzt als eigene Zeile im
  onOffice-Feld.** Bisher waren sie nur im doppelten Text versteckt.
- **Das in der Verwaltung eingestellte KI-Modell wird jetzt wirklich
  benutzt.** Bei Massen-Läufen lief die Analyse auf dem voreingestellten
  Modell, egal was eingestellt war. Das kostet bei mehreren tausend Kontakten
  spürbar mehr, als es müsste.

### Changed

- **Der Abgleich meldet sich am Knopf statt in einem Popup.** Wenn du in der
  Kontakt-Ansicht "Synchronisieren" drückst, zeigt der große Knopf unten
  "Synchronisieren …" und danach kurz "Aktualisiert". Kein Fenster mehr, das
  unten rechts aufpoppt. Fehler melden sich weiterhin deutlich, die muss man
  sehen.

## 0.29.0 (2026-08-27)

### Added

- **Durchgang: einen Stapel Kontakte der Reihe nach abarbeiten.** In der
  Werkzeugleiste steht ein Knopf „Durchgang". Er nimmt die Kontakte, die
  gerade zu sehen sind, in genau dieser Reihenfolge und öffnet den ersten.
  Statt des Briefing-Knopfes stehen unten fünf Ausgänge: nicht erreicht,
  erreicht, Termin, kein Interesse, später. Ein Druck hält das Ergebnis fest
  und öffnet den nächsten Kontakt. Kein Zurückklicken, kein Suchen, wo du
  warst.
- **Der Stapel bleibt, wie er war.** Wenn du einen Kontakt als „kein
  Interesse" wegsortierst, verschwindet er aus den Funden, aber nicht aus
  deinem Stapel. Die Reihenfolge verschiebt sich nicht unter dir weg, und du
  überspringst niemanden.
- **Am Ende steht, was du geschafft hast:** wie viele Kontakte bearbeitet
  sind und wie oft welcher Ausgang vorkam.
- **Briefings für die nächsten Kontakte vorbereiten.** Ein Knopf in der
  Durchgang-Leiste erstellt die Briefings der nächsten bis zu 25 Kontakte im
  Voraus, während du telefonierst. Wenn du dort ankommst, ist das Briefing
  schon da. Kontakte, die schon eines haben, werden übersprungen, und du
  kannst die Vorbereitung jederzeit anhalten. Sie läuft nie von selbst los:
  Briefings kosten Credits, und das entscheidest du.

### Fixed

- **Wenn onOffice die Stammdaten nicht liefert, steht jetzt ein
  verständlicher Satz im Verlauf.** Vorher stand dort die englische
  Fehlermeldung der Schnittstelle, mit einem Feldnamen, den man in der
  eigenen Feldzuordnung gar nicht findet.

## 0.28.0 (2026-08-27)

### Fixed

- **Auf dem Telefon steht wieder alles im Bild.** Die Reiter Funde, Board,
  Liste und Wiedervorlagen passten nebeneinander nicht auf einen Handy-
  Bildschirm, "Wiedervorlagen" ragte rechts heraus. Dadurch liess sich die
  ganze Seite seitlich verschieben, und das nahm die Kontakt-Ansicht und das
  Notiz-Fenster mit: Beide standen einen Tick zu weit rechts und verloren
  ihren rechten Rand. Die Reiter stehen auf dem Telefon jetzt in zwei Reihen,
  ab Tablet wieder nebeneinander.
- **Rückmeldungen sind wieder zu sehen.** Meldungen wie "Abgleich fertig"
  oder "Aktion fehlgeschlagen" wurden hinter der geöffneten Kontakt-Ansicht
  gerendert. Sie waren da, liefen ab und waren nie zu sehen. Am deutlichsten
  beim Punkt "Synchronisieren": Man drückte, wartete und wusste nicht, ob
  etwas passiert.
- **Der Knopf "KI-Briefing erstellen" füllt die Leiste unten.** Er begann auf
  dem Telefon auf halber Strecke und liess links eine leere Fläche stehen.

### Added

- **Blättern per Pfeiltaste.** In der geöffneten Kontakt-Ansicht führen die
  Pfeiltasten links und rechts zum vorigen und nächsten Kontakt. Wer eine
  Liste durcharbeitet, braucht dafür nicht mehr jedes Mal den kleinen Pfeil
  oben zu treffen. Während du in einem Feld schreibst, bleiben die Pfeile
  natürlich beim Cursor.
- **Ein Fortschrittsbalken neben "7 von 20".** Die Zahl sagt, wo du bist, der
  Balken sagt, wie viel noch kommt.

### Changed

- **"Synchronisieren" sagt jetzt, dass es läuft.** Bis das Ergebnis da ist,
  steht ein Hinweis, dass mit onOffice abgeglichen wird.
- **Anzahlen stehen in einem eigenen Feld.** Statt "Verlauf · 4" steht die
  Zahl in einem kleinen abgerundeten Kästchen hinter dem Wort. Das bleibt
  auch bei dreistelligen Zahlen ruhig.

## 0.27.0 (2026-08-26)

### Fixed

- **E-Mails aus dem Maklerbuch kommen jetzt als lesbarer Text an, nicht als
  Quelltext.** Bisher wurde alles übernommen, was in einer E-Mail steht, auch
  die unsichtbare technische Verpackung. Bei Nachrichten aus Outlook waren das
  oft mehrere Seiten davon, und weil eine Notiz nur eine begrenzte Länge hat,
  blieb im schlimmsten Fall genau diese Verpackung stehen, während der
  eigentliche Satz abgeschnitten wurde. Die KI hat dann einen Verlauf
  "gelesen", in dem nichts stand. Ab jetzt bleibt nur der Text: Anrede,
  Anliegen, Unterschrift. Zitierte Vorgänger-Nachrichten und Signaturen bleiben
  ausdrücklich erhalten, weil dort oft das Wesentliche steht.
- **Bestehende Einträge werden nach und nach mitgeräumt.** Was schon im
  Werkzeug liegt, wird im Hintergrund auf den lesbaren Text gebracht. Das
  läuft von selbst und ist nach kurzer Zeit durch; du musst nichts tun.

## 0.26.0 (2026-08-26)

### Added

- **Neue Stufe für große Bestände: DB-Leads Individuell.** Ab etwa 20.000
  Adressen passt keine der festen Stufen mehr. Für diesen Fall lässt sich die
  Stufe jetzt anfragen: Du nennst deine Bestandsgröße, wir melden uns mit
  Grenze und Preis für dein Büro. Die Anfrage kostet nichts und bucht nichts.
- **Läuft für dein Büro eine vereinbarte Stufe, steht das im Werkzeug und in
  der Abrechnung:** die zugesagte Adress-Grenze, der laufende Zeitraum und der
  Hinweis, dass diese Stufe separat in Rechnung gestellt wird. Die
  qualifizierte Menge richtet sich dann nach der Zusage und nicht mehr nach
  der Preisliste.

### Changed

- **Statt einer Absage steht jetzt ein Weg da.** Wenn eine Stufe nicht direkt
  buchbar ist, führte das bisher in eine Sackgasse mit dem Hinweis, in der
  eigenen Abrechnung nachzusehen, wo es nichts zu sehen gab. Jetzt steht dort
  ein Knopf, mit dem du die Freischaltung anfragen kannst.

### Fixed

- **Die Meldung beim Nachladen der E-Mail-Texte sagt jetzt, welches Recht
  fehlt.** Sie bat bisher darum, in onOffice zu prüfen, ob der API-Benutzer
  E-Mail-Inhalte lesen darf. Wer das tat, sah das Maklerbuch auf "lesen"
  stehen und hielt die Sache für erledigt. Tatsächlich braucht es zusätzlich
  das Leserecht für die E-Mails innerhalb der Aktivitäten. Die Meldung nennt
  es jetzt beim Namen und sagt, wo es steht.

## 0.25.0 (2026-08-26)

### Fixed

- **Regeln greifen jetzt unabhängig davon, wie onOffice einen Wert schreibt.**
  Je nach Abgleich-Weg speichert onOffice für Auswahlfelder mal den
  technischen Wert, mal die lesbare Beschriftung. Regeln behandeln beide
  Formen jetzt als denselben Wert. Eine Regel, die vorher nur in einem der
  beiden Fälle feuerte, feuert jetzt in beiden.
- **Mehrfachwerte werden einzeln verglichen.** Trägt ein Kontakt in einem
  Feld mehrere Werte (etwa zwei Kontaktarten), trifft eine Regel jetzt auch
  dann, wenn sie nur einen davon nennt.
- **Das Kontextmenü zeigt nachgeladene Sperr-Hinweise auch auf kleinen
  Bildschirmen.** Klappte man das Untermenü auf, bevor die Information über
  gesperrte Kanäle da war, fehlte der Zusatz "bereits gesperrt". Jetzt
  erscheint er, sobald die Antwort eintrifft.
- **Lesen der Verknüpfungen robuster:** Lehnt onOffice eine der beiden
  Verknüpfungsarten ab (etwa Käufer wegen fehlender Rechte), kommen
  Eigentümer trotzdem an. Der Bestand der abgelehnten Art bleibt unverändert
  und das Lauf-Protokoll benennt den Grund.
- **E-Mail-Texte nachladen bricht nicht mehr mit einem Feld-Fehler ab.**
  Manche onOffice-Konten geben das direkte Textfeld für E-Mails nicht frei;
  das Nachladen endete dort sofort mit einer Fehlermeldung. Das Werkzeug
  erkennt solche Konten jetzt selbst, holt die Texte über das Vollformat
  und merkt sich die Entscheidung für alle künftigen Läufe. Auch der
  Assistent liest E-Mail-Verläufe über diesen Weg.

### Changed

- **Regeln entstehen jetzt auf einer eigenen Seite statt in einem Popup.**
  Anlegen und Bearbeiten führen über eine Strecke aus drei Stationen (Wenn,
  Solange, Dann) mit Karten-Auswahl für den Auslöser und einer
  Zusammenfassung, die die Regel beim Bauen als ganzen Satz mitliest, mit
  Namen statt Kennungen. Vorlagen und Regel-Namen sind echte Links und
  lassen sich auch in einem neuen Tab öffnen.
- **Alle Knöpfe im Werkzeug tragen den neuen Look des Design-Systems:**
  einheitliche Gewichte, ein einheitliches Ladezeichen (der Knopf behält
  dabei seine Beschriftung und Breite) und klar erkennbar, welcher Knopf
  die Hauptaktion ist.
- **Wert-Vorschläge im Regel-Editor:** Bei Auswahlfeldern schlägt der Editor
  jetzt die möglichen Werte vor, mit lesbarer Beschriftung und dem
  technischen Wert als Zusatz. In der Regel-Liste steht beim Auslöser jetzt
  der Feldname samt Zielwerten in lesbarer Form.
- **Menü öffnet schneller:** Das Kontakt-Menü lädt beim Öffnen nur noch die
  Sperr-Information statt der ganzen Kontakt-Akte. Bei Kontakten mit langem
  Verlauf macht sich das deutlich bemerkbar.
- **Wiedervorlage per Tastatur:** Das Datumsfeld im Kontakt-Menü ist jetzt
  mit der Tastatur erreichbar und bedienbar (Pfeiltasten, Enter zum
  Bestätigen, Escape zurück ins Menü).

## 0.24.0 (2026-08-26)

### Changed

- **Das Add-on gibt es jetzt in fünf Stufen nach Datenbankgröße:** S bis
  2.000 Adressen (49 EUR), M bis 5.000 (99 EUR), L bis 10.000 (199 EUR),
  XL bis 15.000 (299 EUR) und XXL bis 20.000 Adressen (399 EUR) im Monat.
  Die Stufen unterscheiden sich in genau einem Punkt: wie viele Adressen die
  KI-Qualifizierung umfasst. Bestehende Buchungen laufen als Stufe S weiter,
  zum bisherigen Preis.
- **Die Synchronisierung ist nie begrenzt.** Alle Adressen werden weiter
  vollständig aus onOffice übernommen und bleiben im Werkzeug sichtbar,
  unabhängig von der Stufe. Liegt der Bestand über der gebuchten Stufe,
  qualifiziert die KI die ersten Adressen in Import-Reihenfolge (älteste
  zuerst), bis die Stufe gewechselt wird. Einzelne KI-Briefings von Hand
  bleiben unbegrenzt möglich.
- **Das Werkzeug sagt eine Überschreitung an, statt still weniger zu
  scannen:** als Hinweis im Scan-Bereich, als Nachfrage vor dem Start eines
  Voll-Scans und als Ausweis im Protokoll jedes Laufs. In den Einstellungen
  unter "Datenbank-Scan" zeigt eine neue Karte die gebuchte Stufe, den
  Bestand und den Weg zum Stufen-Wechsel.

### Added

- **Stufen-Wechsel in beide Richtungen** unter Abrechnung, mit Vorschau:
  Beim Hochstufen wird die Differenz heute anteilig berechnet, beim
  Herabstufen erscheint die Gutschrift auf der nächsten Rechnung. Vor einem
  Herabstufen unter die eigene Bestandsgröße warnt das Werkzeug mit den
  echten Zahlen.
- **Der Marktplatz schlägt die passende Stufe vor**, gemessen an der
  tatsächlichen Größe deines Bestands. Die Wahl bleibt frei.

## 0.23.0 (2026-08-26)

### Added

- **Wenn-Dann-Regeln.** Neuer Bereich "Regeln" in den Einstellungen: Wenn im
  Kontakt etwas passiert, tut das Werkzeug von selbst etwas. Beispiel: Setzt
  jemand im Team in onOffice den Akquise-Status auf "Lead disqualifiziert",
  nimmt die Regel den Kontakt aus dem Scan. Auslöser sind ein geänderter
  onOffice-Feldwert, ein neuer Maklerbuch-Eintrag, ein neuer Fund, ein
  Phasenwechsel oder eine fällige Wiedervorlage. Bedingungen lassen sich mit
  Und/Oder verknüpfen. Als Aktionen stehen bereit: Phase setzen, Betreuung
  zuweisen, Wiedervorlage oder Aufgabe anlegen, KI-Briefing erzeugen, vom
  Scan ausschließen, die Einschätzung nach onOffice schreiben und eine
  Datenanfrage stellen.
- **Jede Regel startet pausiert, und du siehst vorher, was sie täte.** Der
  Trockenlauf zeigt mit einer Liste, welche Kontakte betroffen wären, bevor
  irgendetwas passiert. Scharfschalten gilt nur für neue Ereignisse. Den
  bestehenden Bestand erreicht eine Regel ausschließlich über "Auf Bestand
  anwenden", und auch das erst nach einer frischen Vorschau.
- **Jede Regel führt Protokoll.** Je Regel steht, wann sie für wen was getan
  hat, und im Kontakt zeigt der neue Block "Automatik", was Regeln dort
  bewirkt haben. Deine Handlungsfreigabe-Einstellungen gelten unverändert:
  Was dort auf Freigabe steht, landet in der Freigaben-Liste, statt
  hinauszugehen. KI-Briefings über Regeln kosten Credits wie von Hand
  erzeugte; im Add-on enthalten sind nur die Datenbank-Scans.
- **Rechtsklick auf eine Zeile der Liste oder eine Karte des Boards öffnet
  jetzt die Kontakt-Aktionen, inklusive KI-Briefing.** Ohne Maus erreichst du
  dasselbe Menü über die Kontextmenü-Taste der Tastatur.
- **E-Mail-Texte sind jetzt Teil der Analyse.** Der Inhalt ein- und
  ausgehender E-Mails kommt aus onOffice mit, ist im Verlauf zum Aufklappen
  und fließt in die KI-Qualifizierung ein. Vorher wusste die Analyse fast
  immer nur, dass eine E-Mail geschrieben wurde, nicht was darin stand. Für
  den Bestand werden die E-Mails der letzten drei Jahre nachgeladen; das
  läuft im Hintergrund, der Fortschritt steht im Lauf-Protokoll.
- **Der Bereich "Eigentum" zeigt auch Gekauftes.** Neben Immobilien, die
  einem Kontakt gehören, stehen jetzt die, die er gekauft hat, entsprechend
  gekennzeichnet.

### Changed

- **Die Suche versteht, was du eingibst.** Eine Ziffernfolge sucht als
  Kundennummer und Datensatznummer und trifft nicht mehr Telefonnummern, die
  die Ziffern zufällig irgendwo enthalten. Eine Telefonnummer findet ihren
  Kontakt unabhängig von der Schreibweise, eine Eingabe mit @ sucht in
  E-Mail-Adressen, alles andere sucht im Namen und verzeiht kleine
  Tippfehler. Auch bei zehntausenden Kontakten kommt die Antwort in
  Sekundenbruchteilen.
- **Suchen fühlt sich nicht mehr wie Warten an.** Die Liste sucht beim
  Tippen. Alte Treffer bleiben sichtbar, bis die neuen da sind, statt einer
  leeren Fläche. An Kennungs-Treffern steht, warum die Zeile oben ist, zum
  Beispiel "Kundennummer". Suche und Filter stehen in der Adresse: Nach
  einem Neuladen und hinter dem X der Kontakt-Schublade wartet dieselbe
  gefilterte Liste.
- **Die Werkzeug-Einstellungen haben eine eigene Seitenleiste.** Die
  Bereiche stehen links untereinander, jeder hat eine eigene Adresse, und
  gespeicherte Links funktionieren weiter. Die drei Striche oben holen die
  Haupt-Navigation zurück. Auf dem Handy fährt die Leiste weich vom linken
  Rand herein. Das gilt für die Einstellungen aller Werkzeuge, nicht nur
  hier.
- **"Felder synchronisieren" holt die Feldliste jetzt wirklich frisch** und
  meldet danach, was sich getan hat. Neu in onOffice angelegte Felder
  erscheinen damit sofort statt erst Stunden später.
- **Der Akquise-Status-Block ist aus dem Bereich "Qualifizierung"
  entfallen.** Der Wert wird in onOffice gepflegt und von der KI gelesen;
  ein Einstellungs-Ziel war er nie.

## 0.22.0 (2026-08-25)

### Added

- **Die Kundennummer steht jetzt in der Liste**, ganz links und schmal, und
  du kannst nach ihr suchen. Gemeint ist die Nummer, die du in onOffice
  siehst, nicht die interne Datensatznummer.
- **Die Suche findet jetzt auch ganze Namen.** "Ingrida Liachavice" führte
  vorher zu keinem Treffer, weil Vor- und Nachname in verschiedenen Feldern
  stehen. Jetzt muss jedes eingegebene Wort irgendwo im Kontakt vorkommen,
  egal in welchem Feld. Auf dem Board sucht dieselbe Suche.
- **Neuer Bereich "Eigentum" im Kontakt.** Unter der KI-Zusammenfassung
  stehen die Immobilien, die zu diesem Kontakt gehören, als Karten mit
  Titelbild. Ein Klick öffnet die Immobilie. Objekte, die über die
  Eigentümer-Angabe in onOffice zugeordnet sind, stehen oben. Objekte, bei
  denen nur die Anschrift übereinstimmt, sind als solche gekennzeichnet: Wer
  an einer Adresse wohnt, muss dort nicht Eigentümer sein.
- **Notizen sind jetzt ein eigener Ablauf.** Im Drei-Punkte-Menü steht
  "Notiz schreiben" und öffnet ein Fenster, das auf dem Handy von unten
  hereinfährt. Dort wählst du auch, ob es eine Notiz, ein Telefonat, eine
  E-Mail oder ein Termin war, denn davon hängt ab, ob der Eintrag später
  unter "Aktivitäten" auftaucht.
- **Eine Notiz kann direkt in onOffice landen.** In den Einstellungen unter
  "Allgemeines" gibt es den neuen Bereich "Notizen": Dort legst du fest, als
  welche Aktionsart und welcher Aktionstyp der Eintrag im Maklerbuch
  erscheint, ausgewählt aus den Arten, die dein Konto wirklich führt. Beim
  Schreiben entscheidest du je Notiz neu. Den Zeitstempel setzt onOffice.
- **Neuer Bereich "Zurücksetzen" in den Einstellungen.** Du kannst die
  Auswertungen des Werkzeugs verwerfen, einzeln oder alles, und den Stand
  herstellen, den du direkt nach dem Verbinden deiner Datenbank hattest. Vor
  jeder dieser Aktionen steht ein Bestätigungs-Fenster, das aufzählt, was
  verschwindet und was bleibt. Deine aus onOffice übernommenen Daten sind
  davon nie betroffen: Kontakte, Aktivitäten und Immobilien lassen sich hier
  grundsätzlich nicht löschen.

### Changed

- **Die Liste lädt beim Scrollen nach**, statt auf einen "Weiter"-Knopf zu
  warten.
- **Sortieren gilt jetzt für alle Kontakte**, nicht mehr nur für die gerade
  geladenen. Der Sortier-Pfeil ist an jeder Spalte sichtbar, auch bevor du
  ihn benutzt. Kontakte ohne Wert stehen am Ende statt am Anfang.
- **Die Einrichtung ist eine normale Ansicht** und kein Fenster mehr, das
  sich über den Bildschirm legt. Sie hat eine eigene Adresse, ist über die
  Werkzeugleiste erreichbar, und der Zurück-Knopf funktioniert darin.
- **Dossier und Verlauf stehen in der Adresse**, ebenso Aktivitäten und
  System innerhalb des Verlaufs. Ein Link führt damit genau dorthin, wo du
  warst, und der Wechsel lädt die Seite nicht neu.
- **Das Notizfeld ist vom Verlauf ins Dossier umgezogen**, direkt unter die
  KI-Zusammenfassung. Nach einem Telefonat schreibt man die Notiz dort, wo
  man gerade gelesen hat, und nicht nach einem Reiterwechsel.
- **Der Block "Kontakt" ist entfallen.** E-Mail und Telefonnummern standen
  dort ein zweites Mal, obwohl die Knöpfe zum Anrufen und Schreiben weiter
  oben stehen, und die Herkunft lautete bei jedem Kontakt "onoffice".
- **Die KI-Zusammenfassung ist ausführlicher geworden.** Das Wichtigste steht
  zuerst, und der Plan wertet das Muster der bisherigen Ansprache aus, statt
  den nächsten Versuch derselben Art vorzuschlagen.
- **Die Zusammenfassung in onOffice bildet jetzt das ganze Briefing ab**:
  Gesprächseinstieg, Erstkontakt, Persona, Signale und Verkaufsbereitschaft,
  jeweils mit Begründung und durch Leerzeilen getrennt.
- **"Opener kopieren" ist entfallen.** Der Gesprächseinstieg steht vollständig
  in onOffice, also dort, wo er gebraucht wird.

### Fixed

- **Die KI erfindet keine Akquise-Signale mehr.** Sie durfte bisher eigene
  Bezeichnungen vergeben, die dein onOffice nicht kennt, und das Schreiben ins
  CRM scheiterte dann still. Jetzt wählt sie ausschließlich aus den Optionen,
  die du im Bereich "Qualifizierung" eingestellt und mit onOffice verbunden
  hast.
- **Die Kundennummer landet nicht mehr im falschen Feld.** Sie wurde bisher
  als Datensatznummer übernommen, wodurch Kontakte unter einer fremden
  Kennung angelegt werden konnten.

## 0.21.1 (2026-08-05)

### Changed

- Die Einstellungen sehen jetzt aus wie überall sonst in der Plattform und
  werden auch so gespeichert. Statt eines Speichern-Knopfs, der je nach
  Bereich woanders stand, erscheint unten eine Leiste, sobald du etwas
  geändert hast. Dort steht immer, ob noch etwas offen ist. Auf dem Handy
  schwebt sie über der unteren Leiste, verdeckt also nichts.
- Wechselst du den Bereich, während noch etwas ungespeichert ist, wirst du
  gefragt, statt die Eingabe stillschweigend zu verlieren.
- Was du in einer Liste tust, gilt sofort: eine Pipeline-Phase anlegen, einen
  Disqualifizierungs-Grund löschen, die Reihenfolge ändern. Darauf wartet kein
  Speichern-Knopf mehr.

### Fixed

- Schlug das Speichern der Einstellungen fehl, passierte sichtbar nichts. Jetzt
  sagt die Leiste, was schiefging, und bietet einen zweiten Versuch an.

## 0.21.0 (2026-08-03)

### Added

- **Du entscheidest jetzt, was DB-Leads ohne dich tut.** In den Einstellungen
  des Werkzeugs stehen drei Zeilen: Auswerten im Arbeitsbereich, Schreiben ins
  CRM, Nachricht an einen Kontakt. Für jede wählst du zwischen Automatik,
  Freigabe und Aus. Unter jeder Zeile steht im Klartext, was darunter fällt.
- **Ein Knopf schaltet alles ab.** Wenn dir etwas nicht passt, brauchst du
  nicht drei Einstellungen nacheinander umzustellen.
- **Neue Seite "Freigaben".** Alles, was das Werkzeug vorbereitet hat und was
  auf dich wartet, mit dem fertigen Text der Nachricht. Du siehst vorher, was
  hinausginge, und entscheidest dann. In der Kopfzeile steht ein Zähler, sobald
  etwas wartet.
- **Neue Übersicht unter Einstellungen · Automatik.** Alle Werkzeuge, alle drei
  Bereiche, eine Seite. Sie beantwortet die Frage, die man an eine Software
  stellt, die von selbst etwas tut.

### Changed

- **DB-Leads kostet ab jetzt 49 Euro im Monat.** Der Preis trägt die
  Datenbank-Scans: vier vollständige Durchläufe über deinen gesamten Bestand
  pro Monat, jeder mit einer Bewertung jedes einzelnen Kontakts. Bisher stand
  im Marktplatz "Preis folgt".
- **Nachrichten an Kontakte warten im Auslieferungszustand auf deine
  Freigabe.** Das gilt auch für das Zurückschreiben ins CRM, wenn ein
  automatischer Lauf es auslöst. Was du selbst anstößt, läuft unverändert
  sofort: Du hast mit dem Klick bereits entschieden.

## 0.20.0 (2026-08-02)

### Added

- **Die Wiedervorlage ist jetzt eine richtige Aufgabe.** Wenn du einen Kontakt
  zurückstellst, entsteht daraus eine Aufgabe mit dem Namen des Kontakts. Sie
  steht unter Aufgaben, sie steht in onOffice, und wer sie dort abhakt, hat sie
  auch hier erledigt. Bisher war die Wiedervorlage nur ein Datum in DB-Leads,
  das außerhalb des Werkzeugs niemand sehen konnte.
- **Neuer Reiter "Wiedervorlagen".** Er zeigt alle zurückgestellten Kontakte,
  gruppiert nach überfällig, heute, diese Woche und später, mit einem Klick in
  den Kontakt. Abgehakt wird nicht hier, sondern unter Aufgaben oder in
  onOffice: An zwei Stellen abhaken zu können heißt an zwei Stellen
  unterschiedlich abhaken zu können.
- **Aufgaben zeigen, zu wem sie gehören.** Auf der Aufgaben-Seite steht bei
  einer Wiedervorlage der Weg zurück zum Kontakt. Vorher trug die Aufgabe zwar
  den Namen, aber du musstest den Kontakt von Hand suchen.

- **Die Einschätzung kann als Zeile ins onOffice-Maklerbuch gehen.** Neuer
  Schalter in den Qualifizierungs-Einstellungen, standardmäßig aus. Der Vorteil:
  Es braucht kein eigens angelegtes Feld, und die Historie bleibt erhalten,
  statt bei jeder neuen Einschätzung überschrieben zu werden. Der Nachteil, und
  deshalb die Vorgabe: Der Verlauf des Kontakts füllt sich, und manche Büros
  lesen dort täglich mit. Die Aktionsart ist einstellbar, Vorgabe "Notiz".

### Changed

- **Setzt du eine Wiedervorlage neu, wird die bestehende verschoben.** Es
  entsteht keine zweite Aufgabe zum selben Kontakt mehr. Eine verschobene Frist
  erinnert auch neu, selbst wenn die alte Erinnerung schon draußen war.
- **Verschiebst du die Aufgabe woanders, zieht DB-Leads nach.** Änderst du die
  Frist unter Aufgaben oder in onOffice, steht in DB-Leads kurz darauf dasselbe
  Datum. Hakst du sie ab, verschwindet die Wiedervorlage auch hier.

## 0.19.0 (2026-08-02)

### Added

- **Du kannst einen Werbewiderspruch selbst eintragen.** Wenn dir jemand am
  Telefon sagt, dass er nichts mehr hören will, hältst du das direkt am Kontakt
  fest, getrennt nach E-Mail, Telefon, WhatsApp und Post. Der Eintrag gilt
  sofort für alle Werkzeuge, nicht nur für DB-Leads.
- **Am Kontakt steht, welcher Weg gesperrt ist.** Der Hinweis sitzt direkt bei
  den Knöpfen zum Anrufen und Schreiben, weil dort geklickt wird. Die Knöpfe
  bleiben nutzbar: Werbung ist untersagt, ein Rückruf auf eine Anfrage nicht,
  und diese Unterscheidung kannst nur du treffen.
- **Ein versehentlich gesetzter Widerspruch lässt sich korrigieren.** Mit
  Begründung, und die bleibt in der Historie sichtbar. Das ist kein
  Zurücknehmen: Wer wieder Werbung möchte, muss das selbst erklären.
- **Der Scan schlägt niemanden mehr vor, der Werbung widersprochen hat.** Wer
  sich abgemeldet hat, taucht gar nicht erst als Fund auf. Das spart nicht nur
  die Arbeit an einem Kontakt, den du ohnehin nicht anschreiben darfst, es
  verhindert auch den Fehler, der teuer wird.
- **Der Scan-Bericht nennt die Zahl.** Es steht ausdrücklich da, wie viele
  Kontakte deshalb übersprungen wurden. Ohne diesen Hinweis sieht das Ergebnis
  einfach nach weniger Funden aus, und du suchst einen Fehler, der keiner ist.

### Changed

- **Ein Widerspruch für nur einen Weg schliesst nicht mehr aus.** Wer keine
  E-Mails mehr will, aber nichts gegen einen Anruf hat, erscheint weiterhin als
  Fund. Am Fund steht dann, welcher Weg gesperrt ist.

## 0.18.0 (2026-08-02)

### Added

- **Ein Regler für die Empfindlichkeit des Scans, mit Vorschau.** Bisher war
  fest eingestellt, ab wann ein Kontakt als Fund erscheint, und das passte für
  einen gepflegten Bestand genauso wenig wie für einen gewachsenen. Jetzt
  stellst du es selbst ein, und daneben steht sofort, was die Einstellung am
  letzten Lauf bewirkt hätte ("bei dieser Einstellung wären es 47 Funde gewesen
  statt 12"). Die Vorschau kostet keinen Lauf und keine KI, sie rechnet auf dem,
  was bereits bewertet wurde.
- **Eine Auswertung, was aus deinen Funden geworden ist.** Wie viele du
  angenommen hast, wie viele davon zu einem Erfolg wurden, und vor allem:
  welche Signale bei dir wirklich tragen. Wenn "Lebensereignis" bei dir in drei
  von vier Fällen zum Termin führt und "Reaktion" in keinem, weißt du, worauf du
  schauen musst. Quoten erscheinen erst ab acht entschiedenen Fällen, weil eine
  Quote aus drei Fällen nichts über die Wirklichkeit sagt.
- **Phasen können als Erfolg gekennzeichnet werden.** Damit die Auswertung
  weiß, was bei dir ein Erfolg ist: Beim einen Büro ist es "Termin vereinbart",
  beim nächsten erst "Auftrag erteilt". Erreicht ein Kontakt eine solche Phase,
  wird das beim zugehörigen Fund vermerkt, ganz ohne dass du etwas nachträgst.
  Zum Start ist deine erste qualifizierende Phase markiert, änderbar unter
  Pipeline.
- **Die Verwerfungs-Gründe werden ausgewertet.** Bisher hast du sie eingegeben
  und niemand hat sie gelesen. Jetzt steht da, welcher Grund sich häuft, und
  wenn ein Grund fast jeden vierten verworfenen Fund erklärt, schlägt das Tool
  eine strengere Einstellung vor. Vorgeschlagen, nie automatisch geändert.

## 0.17.0 (2026-08-02)

### Added

- **Ein Einrichtungs-Lotse für die onOffice-Felder, der nachsieht, ob es
  geklappt hat.** onOffice lässt Felder nur in der Administration anlegen, nicht
  von außen. Der Lotse nennt deshalb für jedes der sieben Ergebnis-Felder den
  Namen zum Kopieren, die richtige Feldart und alle Auswahlwerte als Liste zum
  Übernehmen. Ein Klick auf "Jetzt prüfen" holt deine Feldliste frisch aus
  onOffice und sagt pro Feld, ob es steht, ob die Feldart nicht passt oder
  welche Auswahlwerte noch fehlen. Zwei Felder reichen für den vollen Nutzen,
  das ist eigens gekennzeichnet; alles Weitere dient dem Filtern in onOffice.
  Der Lotse steht im Einrichtungs-Assistenten und dauerhaft in den
  Qualifizierungs-Einstellungen.

### Fixed

- **Die drei Schaltflächen an einem Fund gaben keine Rückmeldung.** "Annehmen",
  "Verwerfen" und "Später" haben zwar gearbeitet, aber nichts davon gezeigt:
  kein Hinweis bei Erfolg, keine Meldung bei einem Fehler, und wer weiter
  gescrollt hatte, sprang beim Bestätigen zurück an den Listenanfang. Jetzt
  verschwindet der Fund sofort aus der Liste, ein kurzer Hinweis nennt das
  Ergebnis, die Schaltflächen sind während des Speicherns gesperrt, und wenn
  etwas schiefgeht, kommt der Fund zurück und der Grund steht dabei.

## 0.16.0 (2026-08-01)

### Fixed

- **Die onOffice-Felder in der Qualifizierung waren beim ersten Öffnen schon
  ausgefüllt, obwohl nichts verbunden war.** In allen sieben Bereichen standen
  Feldnamen und Auswahlwerte, die aus einem fremden Konto stammten. Man konnte
  nicht erkennen, ob dahinter ein echtes Feld deines onOffice steckt oder nur
  Text, und der Akquise-Agent hat dadurch still ins Leere geschrieben. Jetzt
  ist die Verbindung zu Beginn leer, und jedes Feld sowie jeder einzelne Wert
  zeigt an, ob er wirklich mit deinem onOffice verbunden ist, ob dein onOffice
  ihn nicht kennt oder ob noch nichts gewählt ist.
- **Das Datum in "Zuletzt aktualisiert" kam in onOffice nicht an.** onOffice
  bestätigt einen Schreibvorgang auch dann, wenn es einen Wert am Ende
  verwirft, zum Beispiel weil die Schreibweise nicht zur Feldart passt. Das
  Datum wird jetzt passend zum Feld geschrieben, und nach jedem Schreibvorgang
  wird geprüft, ob die Werte auch wirklich im Datensatz stehen. Was nicht
  angekommen ist, steht im Verlauf des Kontakts statt nirgends.
- **Untermenüs im Drei-Punkte-Menü waren auf dem Handy nicht bedienbar.**
  "Disqualifizieren als" und "Wiedervorlage" blitzten nur kurz auf, solange
  der Finger auf dem Eintrag lag, und verschwanden beim Loslassen wieder. Auf
  Telefonen und Tablets öffnen sie sich jetzt direkt im Menü, mit einem
  Zurück-Schritt nach oben.
- **Beispieldaten mischten sich unter echte Kontakte.** Wer das Tool ohne
  onOffice-Verbindung ausprobiert und danach sein Konto verbunden hat, fand
  erfundene Personen zwischen seinen Kunden, ohne sie noch auseinanderhalten
  zu können. Beispiel-Kontakte sind jetzt als solche gekennzeichnet, überall
  sichtbar benannt, jederzeit mit einem Klick entfernbar, und sie verschwinden
  automatisch, sobald du dein echtes onOffice anbindest.

### Added

- **Ein Einrichtungs-Assistent in vier Schritten** ersetzt den alten Einstieg:
  Datenquelle wählen, Bestand übernehmen, Ergebnisse mit onOffice verbinden,
  ersten Scan starten. Der Assistent zeigt, was schon erledigt ist, lässt sich
  jederzeit unterbrechen und über die Werkzeugleiste wieder öffnen. Die
  Beispiel-Datenbank wird darin ausdrücklich gewählt und nicht mehr
  stillschweigend geladen.
- **"Felder automatisch zuordnen"** in den Qualifizierungs-Einstellungen. Sucht
  zu jedem Bereich und jedem Wert das passende Feld in deinem onOffice und
  trägt es ein. Was sich nicht sicher zuordnen lässt, bleibt leer und wird
  benannt, statt geraten zu werden. Bereits gesetzte Zuordnungen bleiben
  unangetastet.
- **Wiedervorlage mit eigenem Datum.** Neben den Fristen (ab jetzt auch eine
  Woche) lässt sich ein konkreter Tag wählen, wenn der Anlass an einem Datum
  hängt.
- **Die Wiedervorlage erinnert dich jetzt auch.** Bisher wurde der Termin nur
  gespeichert und in der Liste angezeigt. Am Tag der Wiedervorlage bekommt die
  eingetragene Betreuung eine Benachrichtigung, sonst die Inhaberin des
  Arbeitsbereichs.

### Changed

- **"Synchronisieren" gleicht jetzt in beide Richtungen ab.** Der eigene
  Eintrag "Nach onOffice schreiben" entfällt: Ein Abgleich holt Adresse und
  Aktivitäten und schreibt anschließend die Qualifizierungs-Felder zurück. Die
  Rückmeldung nennt beides, auch wenn es nichts zu tun gab.
- **Bei "Zuletzt aktualisiert" stehen nur noch Datumsfelder zur Auswahl.** In
  einem gewachsenen onOffice sind das statt über hundert Feldern eine
  Handvoll, und ein Datum in einem Textfeld kommt dort ohnehin nicht als
  Datum an.

## 0.15.1 (2026-07-31)

### Fixed

- **Auf dem Tab "Qualifizierung" ließ sich nichts mehr speichern.** Betroffen
  war nicht nur das Feld "Zuletzt aktualisiert", sondern jede Änderung auf
  dieser Seite, auch die Zuordnung der onOffice-Werte. Ursache war eine zu
  enge Prüfung beim Speichern, die die beiden neuen Parameter "Akquise-Status"
  und "Zuletzt aktualisiert" nicht kannte und deshalb das ganze Formular
  abgelehnt hat.

### Changed

- **Wenn ein Auswahlwert nicht nach onOffice geschrieben werden kann, steht
  jetzt im Verlauf, welche Werte das Feld stattdessen kennt.** Vorher hieß es
  nur, dass der Wert unbekannt ist. Oft liegt es an einer kleinen Abweichung
  im Namen, und mit der Liste daneben ist die Zuordnung in den Einstellungen
  eine Sache von Sekunden.

## 0.15.0 (2026-07-31)

### Fixed

- **"Synchronisieren" holte nichts und meldete einen Fehler über ein
  Telefonfeld.** Wenn in der Feldzuordnung ein Feld steht, das dein
  onOffice gar nicht hat, lehnt onOffice die ganze Anfrage ab. Der Abgleich
  holt die Stammdaten vor dem Verlauf, also kam der Verlauf nie an: Eine
  gerade erst in onOffice angelegte Aktivität tauchte nicht auf, und die
  Meldung sprach von einem Feld, mit dem das nichts zu tun hatte. Jetzt
  werden unbekannte Felder übersprungen statt alles abzubrechen, und der
  Verlauf wird auch dann geholt, wenn es mit den Stammdaten ein Problem
  gab. Welche Felder übersprungen wurden, steht im Verlauf des Kontakts.
- **"Nach onOffice schreiben" schrieb gar nichts.** onOffice lehnte den
  Vorgang mit "Invalid multiselect key" ab. Ursache: Bei Auswahlfeldern
  wurde der Anzeigename gesendet, wenn in den Qualifizierungs-Einstellungen
  kein onOffice-Wert hinterlegt war. Auswahlfelder speichern aber Schlüssel,
  keine Anzeigetexte. Weil alle Felder in einem Vorgang geschrieben werden,
  kostete ein einziger nicht zugeordneter Wert auch Zusammenfassung,
  Akquise-Status und Zeitstempel. Jetzt wird jeder Auswahlwert vorher gegen
  dein onOffice geprüft. Was sich nicht zuordnen lässt, bleibt weg und wird
  im Verlauf benannt, der Rest wird geschrieben.

### Changed

- **Das Drei-Punkte-Menü ist wieder handlich.** Es war auf 16 Einträge
  gewachsen und lief über die ganze Bildschirmhöhe, außerdem stand bei
  jedem Eintrag das Symbol über statt neben dem Text. Die Fristen der
  Wiedervorlage und die Gründe fürs Disqualifizieren öffnen sich jetzt beim
  Draufzeigen in einem eigenen Auswahlmenü.

## 0.14.0 (2026-07-31)

### Added

- **"Vom Scan ausschließen"** im Drei-Punkte-Menü. Bisher ging Ausschliessen
  nur über die Kontaktart, also für alle Kontakte dieser Art gleichzeitig.
  Jetzt kannst du eine einzelne Person ausnehmen, wenn sie mehrfach gesagt
  hat, dass sie nicht verkauft. Der Kontakt bleibt in Liste und Board
  sichtbar, er wird nur nicht mehr analysiert und nicht mehr vorgeschlagen.
- **Wiedervorlage** im Drei-Punkte-Menü, wahlweise in 1, 3, 6 Monaten oder
  einem Jahr. Für den Fall "interessant, aber jetzt nicht". Eine gesetzte
  Wiedervorlage lässt sich dort auch wieder entfernen.

## 0.13.0 (2026-07-31)

### Fixed

- **"Letzter Kontakt" zeigte bei fast allen Kontakten den heutigen Tag.**
  Gemessen: 11.031 von 15.642 Kontakten. Grund war, dass die interne
  Protokoll-Zeile eines Scans (Abgleich, KI-Qualifizierung) wie ein echter
  Kontakt gezählt wurde. Da diese Zeilen kein eigenes Datum haben, galt der
  Tag des Scans. Das hatte eine Nebenwirkung, die schwerer wog als die
  Anzeige: Das Zeitfenster des Scans vergleicht gegen genau diesen Wert und
  war damit wirkungslos. Bestehende Kontakte werden beim Update einmalig
  korrigiert.

### Changed

- **Der Verlauf ist jetzt zweigeteilt.** "Aktivitäten" zeigt den echten
  Austausch mit der Person (E-Mails, Telefonate, Termine, Notizen,
  Bemerkungen), "System" alles, was das Tool selbst protokolliert
  (Abgleiche, KI-Läufe, Phasenwechsel, Fehler). Vorher stand beides in einer
  Liste, und bei einem gewachsenen Bestand war der eigentliche Verlauf unter
  Protokoll-Zeilen begraben.
- **Ein laufender KI-Lauf sagt jetzt, woran er ist.** Statt eines
  unveränderten "Analysiere …" nennt der Knopf den aktuellen Schritt
  (abgleichen, Verlauf lesen, Briefing schreiben, speichern) und zeigt eine
  Bewegung. Beim Start über "Neu qualifizieren" wird derselbe Knopf zur
  Fortschrittsanzeige.
- **Ein fertiges Briefing blendet sich ein, statt aufzuspringen.** Während
  der Analyse steht an seiner Stelle ein Gerüst in der Form des Ergebnisses.

### Added

- **"In onOffice öffnen"** im Drei-Punkte-Menü springt direkt zum
  Adressdatensatz.

## 0.12.0 (2026-07-31)

### Added

- **Neue Aktionen im Drei-Punkte-Menü eines Kontakts.** Dort stand bisher nur
  das Disqualifizieren. Jetzt gibt es darüber einen eigenen Bereich:
  - **Synchronisieren** holt genau diesen Kontakt frisch aus onOffice, mit dem
    kompletten Verlauf und den E-Mail-Volltexten. Alle 30 Sekunden je Kontakt
    möglich, kein Tageslimit.
  - **Neu qualifizieren** macht den ganzen Durchlauf in einem Schritt: erst
    abgleichen, dann analysieren, Phase setzen und nach onOffice schreiben.
  - **Nach onOffice schreiben** überträgt die vorhandene Einschätzung, ohne
    die KI erneut laufen zu lassen. Sagt dir im Klartext, wenn es nicht
    geklappt hat, und warum.
  - **Opener kopieren** legt die fertige Einstiegsnachricht in die
    Zwischenablage, ohne dass du das Dossier aufklappen musst.
- **Neues Write-back-Feld "Zuletzt aktualisiert".** Schreibt das Datum des
  letzten KI-Laufs nach onOffice. Damit siehst du dort auf einen Blick, ob die
  Einschätzung noch zu den jüngsten Aktivitäten passt. Ein- und ausschaltbar
  wie die anderen Felder, zu finden unter dem Akquise-Status.

### Changed

- **Der Akquise-Status sieht aus wie die anderen Felder.** Er hatte eine
  Sonderrolle mit eigener Karte und ohne Schalter; abgeschaltet wurde er,
  indem man ein Textfeld leert. Jetzt steht er in derselben Liste, mit
  Schalter und Kennzeichen. Deine bisherige Einstellung wird übernommen.

### Fixed

- **Ein fehlgeschlagener Write-back steht jetzt im Verlauf des Kontakts.**
  Bisher war nur der Erfolg sichtbar, ein Fehlschlag verschwand spurlos. Dass
  von 2.340 Einschätzungen nur 10 in onOffice ankamen, war deshalb von aussen
  nicht zu erkennen.

## 0.11.0 (2026-07-31)

### Changed

- **Der Scan gewichtet jetzt, woher ein Hinweis stammt.** Bisher zählte ein
  Satz aus einer E-Mail genauso viel wie ein Wert, den Sie selbst in ein
  CRM-Feld eingetragen haben. Dadurch kamen Funde in den Eingang, die Ihnen
  nur das zurückgemeldet haben, was Sie ohnehin wussten. Ihre CRM-Felder
  bleiben voll im Einsatz und sind weiterhin ein zulässiger Beleg: Sie geben
  der Einschätzung den Rahmen, zeigen Widersprüche und machen den
  Vorschlag für den nächsten Schritt realistisch. Ein Fund entsteht aber aus
  dem, was in Ihrer Korrespondenz steht. Genau dort liegen die Hinweise, die
  noch niemand gelesen hat.
- **E-Mails und Gesprächsnotizen aus Telefonaten sind jetzt die Hauptquelle.**
  Die Analyse arbeitet die Volltexte gezielt durch, weil dort die beiläufigen
  Sätze stehen, aus denen sich ein Verkauf ankündigt.
- **Das Alter eines Hinweises zählt mit.** Bemerkungen sind inhaltlich das
  Wertvollste in Ihrer Datenbank und oft mehrere Jahre alt. Ein Hinweis aus
  dem letzten Jahr wiegt deshalb schwerer als derselbe Satz von 2019. Alte
  Hinweise verschwinden nicht, sie landen im untersten Band.
- **Jeder Fund zeigt, worauf er beruht.** Unter jedem Beleg steht jetzt, ob er
  aus dem Verlauf kommt (mit Datum), aus einem CRM-Feld oder aus den
  Stammdaten. Damit sehen Sie in einer Sekunde, ob sich ein Anruf lohnt.

### Added

- **Während ein Scan läuft, siehst du, wie viele Kontakte gerade geprüft
  werden.** Bei der Stapelverarbeitung liegen die Kontakte beim KI-Anbieter,
  und die Kachel zeigte so lange eine Null. Das sah aus, als würde nichts
  passieren, obwohl tausende Kontakte in Arbeit waren. Jetzt steht dort die
  Anzahl mit dem Hinweis "bei der KI, Ergebnis folgt".
- **Jeder Scan läuft jetzt über die Stapelverarbeitung.** Bisher galt das nur
  für Voll-Scans. Ein Scan nach einem größeren Abgleich ist aber genauso groß
  und lief zum doppelten Preis auf dem langsamen Weg. Das Ergebnis kommt jetzt
  gesammelt, und du bekommst eine Nachricht, sobald es da ist.
- **Die Funde-Ansicht lädt beim Scrollen nach.** Bisher endete die Liste bei 25
  Einträgen, und die restlichen Funde waren mit keiner Bedienung erreichbar.
  Jetzt kommen weitere automatisch nach, sobald du nach unten scrollst. Ein
  Knopf "Mehr laden" steht zusätzlich da.

### Fixed

- **Eine Verkaufsbereitschaft allein erzeugt keinen Fund mehr.** Bisher reichte
  die Einstufung "Aktiv" aus, auch wenn es dazu keinen einzigen belegten
  Hinweis gab.
- **Abgeschriebene Feldwerte gelten nicht mehr als Gesprächszitat.** Belege wie
  "Art der Anfrage: 'Wohnung verkaufen'" wurden bisher wie ein Satz aus einer
  E-Mail gewertet und ergaben Funde mit 95 und 100 Punkten, obwohl nichts
  dahinter stand. Ein Beleg ohne Datum, der aussieht wie eine Feldzeile, wird
  jetzt als das erkannt, was er ist. Eine Bemerkung **mit** Datum bleibt ein
  vollwertiger Hinweis aus dem Verlauf.
- **Der Opener behandelt einen alten Kontakt nicht mehr wie eine frische
  Anfrage.** Bei einem Kontakt von 2023 stand dort "wir haben Ihre Nachricht
  erhalten", was klang, als hätte das Büro drei Jahre für eine Antwort
  gebraucht. Die Analyse kannte schlicht das heutige Datum nicht und konnte den
  Abstand nicht ausrechnen. Jetzt spricht der Opener eine lange Pause offen an.
- **Ein bereits erteilter Verkaufsauftrag gilt nicht mehr als Neufund.** Steht
  im CRM, dass der Auftrag läuft, ist das laufendes Geschäft und kein
  Akquise-Anlass.
- **Ein Auswahlfeld gilt nicht mehr als Verkaufsabsicht.** "Art der Anfrage:
  Wohnung verkaufen" ist die Ablage-Kategorie deines Büros, keine Aussage der
  Person. Das war der Grund, warum fast jeder Fund als "explizite
  Verkaufsabsicht" mit voller Punktzahl auftauchte. Gewertet wird jetzt nur,
  was jemand im Verlauf tatsächlich gesagt oder geschrieben hat.
- **Wichtige alte E-Mails werden nicht mehr von Rundmails verdrängt.** Bei
  einem Kontakt, der seit Jahren im Verteiler steht, waren die letzten
  Einträge Newsletter, und die eine Mail mit dem Verkaufsgedanken lag zu weit
  hinten, um gelesen zu werden. Ausführliche Mails und Gesprächsnotizen
  bekommen jetzt feste Plätze in der Analyse.
- **Ein Kontakt wird im selben Lauf nicht mehr doppelt an die KI geschickt.**
  Bei wiederholten Zwischenschritten kam das vor und wurde doppelt berechnet.
- **Verworfene KI-Antworten stehen jetzt mit Grund in der Fehlerliste des
  Laufs.** Vorher verschwanden sie kommentarlos.
- **Die Lauf-Statistik zählt Stapel-Analysen mit.** Ein per Stapel
  analysierter Kontakt tauchte weder bei den KI-Prüfungen noch in den Kosten
  auf, und die angezeigten Kosten waren eine Schätzung statt des Ist-Werts.
- **Das Öffnen einer Kontakt-Vollansicht legt keinen leeren Chat mehr an.** Wer
  zwanzig Kontakte durchgesehen hat, fand vorher zwanzig Einträge im
  Assistenten, ohne ein Wort geschrieben zu haben. Ein Gespräch erscheint jetzt
  erst dort, wenn die erste Nachricht raus ist.

## 0.10.1 (2026-07-28)

### Fixed

- **In der Detail-Ansicht lässt sich wieder scrollen.** Die Fläche hat sich
  bisher nach ihrem Inhalt gerichtet statt nach dem Bildschirm: Bei einem
  kurzen Dossier hörte sie auf halber Höhe auf, bei einem langen Verlauf lief
  sie unten aus dem Bild, ohne dass man scrollen konnte. Der Knopf "KI-Briefing
  erstellen" am unteren Rand war dann gar nicht mehr erreichbar. Die Fläche
  füllt jetzt immer den Bildschirm, Kopf und Fuß stehen, und nur der Inhalt
  dazwischen scrollt.
- **Lange Einträge im Verlauf verdrängen nicht mehr alle anderen.** Aus
  onOffice kommen Protokolle, die einen ganzen Gesprächsleitfaden enthalten.
  Ein solcher Eintrag hat mehr als einen Bildschirm gefüllt, sodass die
  Einträge davor und danach praktisch unerreichbar waren. Lange Einträge
  stehen jetzt gekürzt da und gehen per "Mehr anzeigen" auf.

## 0.10.0 (2026-07-28)

### Fixed

- **Die Detail-Ansicht eines Leads geht wieder auf.** Beim Klick auf einen
  Kontakt legte sich bisher nur eine graue Fläche über die Seite: Name,
  Telefonnummer und Briefing standen weit ausserhalb des Bildschirms. Im Board
  war es am schlimmsten, weil dort die längste Spalte die Höhe vorgab. Die
  Fläche ist neu gebaut und öffnet jetzt verlässlich als Panel am rechten Rand,
  auf dem Telefon als Blatt von unten.
- **Der Assistent auf der vollen Lead-Seite lässt sich wieder bedienen.** Der
  Chat wuchs mit jeder Antwort weiter nach unten, statt zu scrollen, und das
  Eingabefeld wanderte dabei aus dem Bild. Jetzt steht das Eingabefeld fest
  unten und die Unterhaltung scrollt darüber. Die doppelte Kopfzeile über dem
  Chat ist weg.
- **Das Board macht die Seite nicht mehr endlos lang.** Jede Phasen-Spalte
  scrollt für sich, die Spaltenköpfe mit den Zählern bleiben stehen. Vorher
  zog eine Spalte mit ein paar tausend Kontakten die ganze Seite in die Länge,
  und die Köpfe der anderen Spalten waren nicht mehr zu sehen.
- **Die Liste ist auf dem Telefon lesbar.** Statt einer siebenspaltigen
  Tabelle, von der nur die Namensspalte ins Bild passte, zeigt sie dort Karten
  mit denselben Angaben untereinander. Auf dem Rechner bleibt die Tabelle, ihr
  Kopf bleibt beim Scrollen stehen.

### Added

- **Blättern von Lead zu Lead.** Die Detail-Ansicht hat Pfeile für vor und
  zurück und zeigt, der wievielte von wie vielen gerade offen ist. Geblättert
  wird in genau der Reihenfolge der Ansicht dahinter, also der Funde, des
  Boards oder der gefilterten Liste. Eine Durchsicht von zwanzig Funden ist
  damit zwanzigmal Weiter statt zwanzigmal Schliessen und neu Suchen.
- **Anrufen und schreiben direkt aus der Detail-Ansicht.** Telefon, Mobil und
  E-Mail stehen als Knöpfe ganz oben, gleich unter dem Namen. Jede Angabe
  lässt sich mit einem Klick kopieren.
- **Dossier und Verlauf sind getrennt.** Oben schaltest du zwischen beiden um,
  am Verlauf steht die Anzahl der Einträge. Das Notizfeld sitzt jetzt über dem
  Verlauf statt darunter, damit du nach einem Telefonat nicht erst an der
  ganzen Historie vorbeiscrollen musst.

### Changed

- **Das Scan-Cockpit sagt klarer, was gerade läuft.** Fortschritt in Prozent
  mit Balken, darunter vier Kacheln für geprüfte Kontakte, KI-Analysen, Funde
  und Kontakte ausserhalb des Zeitfensters. Hinweise wie "als Stapel
  eingereicht", "kein Fortschritt seit ein paar Minuten" oder "KI-Budget
  erreicht" stehen jeweils in einer eigenen Zeile statt in einem langen Satz.
- **Funde zeigen ihren Score als gefüllten Ring.** Wie hoch die Bewertung ist,
  ist damit sichtbar, bevor man die Zahl liest. Die Belege aus dem CRM stehen
  eingerückt als Zitat unter der Einschätzung, sodass man auseinanderhält, was
  die KI sagt und worauf sie sich stützt.
- **Der gerade geöffnete Lead ist überall markiert**, in den Funden, im Board
  und in der Liste.

## 0.9.3 (2026-07-28)

### Changed

- **Die Feld-Auswahl im KI-Kontext ist sortiert, statt eine lange Liste zu
  sein.** onOffice liefert eine Kategorie nur für Felder, die dort für die
  Adressvervollständigung markiert sind. In einem gewachsenen Konto sind das
  wenige: Im Referenz-Konto hatten 103 von 123 Adressfeldern keine, darunter
  30 der 34 selbst angelegten. Alle landeten in einer einzigen Gruppe
  "Weitere Felder", was keine Sortierung ist, sondern eine Liste mit
  Überschrift.

  Felder ohne Kategorie werden jetzt automatisch geordnet: **Eigene Felder**
  zuerst, danach **Auswahlfelder**, **Ja/Nein-Felder**, **Datumsfelder**,
  **Zahlenfelder** und **Textfelder**. Deine selbst angelegten Felder stehen
  damit ganz oben, weil sie meistens genau die Information tragen, die eine
  Analyse lesen soll. Echte onOffice-Kategorien haben weiterhin Vorrang und
  stehen alphabetisch davor.

## 0.9.2 (2026-07-28)

### Fixed

- **Der Reiter "Qualifizierung" stürzte ab.** Nach der Erweiterung um die
  onOffice-Aktionsarten lagen in den Konten noch zwischengespeicherte
  Feldlisten ohne diese Angabe. Sie galten als aktuell und wurden ausgeliefert,
  worauf die Seite beim Öffnen abbrach. Der Zwischenspeicher erkennt seine
  eigene Form jetzt und holt veraltete Stände neu, statt sie auszuliefern.
- **Ein abgebrochener Abgleich beginnt nicht mehr bei Adresse 1.** Lief der
  Hintergrund-Dienst in eine Zeitüberschreitung, hat der nächste Lauf die
  15.000 Adressen komplett neu durchgearbeitet. Er setzt jetzt dort an, wo der
  abgebrochene stehen geblieben ist. War die Adress-Phase bereits fertig,
  wird sie weiterhin vollständig gelesen, damit neue Kontakte aus onOffice
  nicht dauerhaft übersehen werden.

## 0.9.1 (2026-07-28)

### Fixed

- **Der Agent bekommt seinen Verlauf zurück.** Jedes Briefing begann mit "es
  liegen keine Aktivitäten vor", obwohl 85.250 Aktivitäten an den Kontakten
  hängen. Ursache war der neue Kontext-Filter: Er hat die vorher eingestellten
  Standardregeln streng ausgelegt und dabei alle Aktivitäten ausgeschlossen,
  deren onOffice-Bezeichnung noch nicht gespeichert war. Aktivitäten aus der
  Zeit vor dem letzten Abgleich zählen jetzt immer mit, weil sie sich gegen
  eine Regel gar nicht beurteilen lassen. Ein Filter grenzt ein, was die
  Analyse sieht, er löscht nicht ihre Grundlage.
- **Der Aktivitäten-Import kommt voran.** Bisher begann er bei jedem Lauf
  wieder von vorne. Wer während des Imports erneut auf Synchronisieren
  gedrückt hat, hat damit die Arbeit der vorigen Stunden verworfen. Ein neuer
  Lauf setzt jetzt dort an, wo der weiteste vorherige stehen geblieben ist.
- **Der Verlauf steht in der richtigen Reihenfolge.** Sortiert wurde nach dem
  Zeitpunkt des Imports. Da Zehntausende Einträge in derselben Minute
  importiert werden, hatte die Reihenfolge mit der Wirklichkeit nichts zu tun.
  Jetzt zählt der Zeitpunkt aus onOffice.

### Changed

- **Der vollständige Abgleich läuft höchstens einmal alle 20 Stunden.** Er ist
  der teuerste Vorgang des Tools, und ein Neustart wirft laufende Arbeit weg.
  Wird zu früh gestartet, steht die verbleibende Wartezeit in der Meldung.
- **Der Verlauf zeigt, was wirklich passiert ist.** Statt nur "E-Mail" steht
  dort jetzt die Bezeichnung aus deinem onOffice, dazu Aktionstyp und Merkmal
  als kleine Marken und der Name der Person, die den Eintrag angelegt hat.
- **Die Analyse liest dieselben Bezeichnungen.** Bisher bekam sie nur eine
  grobe Einordnung, in der aus "Newsletter" eine "Notiz" wurde. Jetzt sieht
  sie die Bezeichnung aus deinem Konto.

## 0.9.0 (2026-07-28)

### Added

- **Das Betreuer-Rückschreibfeld tut jetzt etwas.** Die Einstellung gab es
  schon lange, sie hat aber nie gewirkt. Ab sofort trägt jede Zuweisung die
  betreuende Person in das eingestellte onOffice-Feld ein, einzeln wie bei
  einer Mehrfachauswahl. Nimmst du die Zuweisung wieder weg, wird das Feld in
  onOffice geleert. Bei sehr großen Mehrfachauswahlen schreiben wir die ersten
  25 Kontakte zurück; bei allen weiteren steht ein Hinweis im Verlauf des
  Kontakts, damit du nicht rätst.

### Changed

- **Der Kontext-Filter arbeitet jetzt mit deinen echten onOffice-Werten.**
  Die Aktionsart wählst du aus den Aktionsarten deines Kontos aus, statt sie
  einzutippen. Daneben kannst du mehrere Aktionstypen und mehrere
  Aktionsmerkmale auswählen. Nichts ausgewählt heißt "alle", das steht auch so
  im Feld. Mehrere Regeln wirken nebeneinander, innerhalb einer Regel müssen
  Art, Typ und Merkmal zusammenpassen.
- **Die Aktionstypen richten sich nach der gewählten Aktionsart.** In onOffice
  hat jede Art ihre eigenen Typen: eine E-Mail kennt Eingang und Ausgang, ein
  Newsletter dagegen bestellt und nicht bestellt. Wählst du keine Art, stehen
  alle Typen deines Kontos zur Auswahl.
- **Das frei eingetippte Label ist entfallen.** Unter jeder Regel steht jetzt
  ein Satz, der beschreibt, was sie tut. Ein selbst geschriebener Name neben
  den echten Werten hat nur dazu verleitet, zwei Namen für dieselbe Sache zu
  haben.
- **Kontaktarten ausschließen ist eine Auswahl statt eines Textfelds.** Zur
  Wahl stehen die Kontaktarten aus onOffice und die, die in deinem Bestand
  vorkommen. Wer eine Kontaktart abtippt, schreibt sie früher oder später
  anders als das CRM, und dann schließt der Filter nichts mehr aus.
- **Kein Kontext-Filter ist die neue Voreinstellung.** Bisher waren vier
  Regeln vorbelegt (Portalanfrage, E-Mail, Telefonat, Termin). Das waren
  geratene Bezeichnungen. Da eine Regelliste alles ausschließt, was nicht auf
  sie passt, hat diese Vorbelegung in jedem Konto mit anderen Bezeichnungen
  still den kompletten Verlauf aus der Analyse genommen.

### Fixed

- **Der Kontext-Filter hat vorher fast nichts gefiltert.** Von den drei
  Spalten wurde nur die Aktionsart ausgewertet, und die ungenau: verglichen
  wurde gegen eine grobe interne Einordnung statt gegen die Bezeichnung aus
  deinem Konto. "Portalanfrage" hat zufällig getroffen, "Newsletter" nie.
  Richtung und Merkmal wurden gespeichert und angezeigt, aber nie gelesen.

### Hinweise zur Umstellung

- **Deine bestehende Konfiguration bleibt erhalten** und wird wörtlich
  übernommen. Werte, die in deinem onOffice nicht (mehr) vorkommen, bleiben
  sichtbar und sind farblich als unbekannt markiert, damit du sie prüfen
  kannst.
- **Die alte Spalte "Richtung" wird bewusst nicht übernommen.** Sie trug immer
  Eingang oder Ausgang, auch wenn das niemand so gewollt hat, denn ein "egal"
  gab es nicht. Als echter Filter übernommen würde sie ab sofort Aktivitäten
  ausschließen, die vorher mitgezählt haben. Die Regeln starten deshalb mit
  "alle Typen".
- **Regeln mit einer Aktionsart greifen erst nach dem nächsten
  Aktivitäten-Abgleich.** Die Aktionsart deiner bereits importierten
  Aktivitäten war bisher nicht gespeichert. Bis der Abgleich gelaufen ist,
  zählt eine Regel mit gewählter Aktionsart keine alten Aktivitäten mit. Das
  ist Absicht: ein unbekannter Wert ist kein Treffer.

## 0.8.2 (2026-07-28)

### Fixed

- **Auswahl-Listen ließen sich auf dem Telefon nicht scrollen.** Sobald man
  eine Liste mit dem Finger bewegt hat, wurde der Eintrag ausgewählt, den man
  zuerst berührt hat. Betroffen waren die Auswahl mit Texteingabe, die normale
  Auswahl und die Länderliste der Telefonnummer. Jetzt scrollt die Liste beim
  Wischen und wählt erst beim Tippen aus. Am Listenende scrollt außerdem nicht
  mehr die Seite darunter weiter.

## 0.8.1 (2026-07-28)

### Fixed

- **Der Abgleich vergaß sich beim Neuladen.** Wer die Seite neu geladen hat,
  konnte den Abgleich einfach noch einmal starten, obwohl im Hintergrund noch
  einer lief. Bei 15.000 Adressen und Hunderttausenden Aktivitäten dauert der
  erste Durchlauf Stunden, also genau die Zeit, in der man eine Seite neu
  lädt. Der Knopf zeigt jetzt den echten Zustand, egal wann und wo du
  hinschaust, und der Fortschritt läuft weiter, ohne dass du etwas tun musst.
- **Die Fortschrittsanzeige zeigte eine Zahl, die nichts bedeutete.** Sie
  sprang auf 60 Prozent, sobald der erste Datensatz durch war, und blieb dort.
  Jetzt steht dort, wie viele von wie vielen Datensätzen durch sind, welcher
  der beiden Schritte gerade läuft (erst Adressen, dann Aktivitäten), wie
  lange es schon läuft und wie lange es noch dauert. Meldet onOffice keine
  Gesamtzahl, steht das da, statt dass eine Prozentzahl erfunden wird.
- **Ein hängender Abgleich sah aus wie ein laufender.** Bleibt der
  Hintergrund-Dienst länger als fünf Minuten stumm, sagt die Seite das jetzt
  und nennt den Stand, bei dem es stehen geblieben ist.
- **Die Anzeige gab nach einer Viertelstunde auf.** Danach behauptete sie, es
  sei nichts mehr los, während der Abgleich weiterlief. Sie bleibt jetzt
  dabei, bis er wirklich fertig ist.
- **Auch der Adress-Abgleich unter Integrationen zeigt jetzt Fortschritt.**
  Dort standen bisher nur Startzeit und zwei Zähler, die sich erst beim
  manuellen Neuladen bewegt haben.

## 0.8.0 (2026-07-28)

### Added

- **Eigene onOffice-Felder für die Analyse freigeben.** Unter Einstellungen,
  Integrationen, onOffice gibt es jetzt den Bereich "KI-Kontext". Dort stehen
  ALLE Felder deines onOffice-Kontos, auch die selbst angelegten, nach
  Kategorien sortiert und durchsuchbar. Was du anhakst, liest die Analyse mit
  und zitiert es im Briefing unter seinem onOffice-Namen, zum Beispiel
  "Status Vorqualifizierung: Angeschrieben". Du musst dafür kein
  Plattform-Feld auswählen: Der Name aus onOffice ist die Bedeutung.
- **Optionaler Hinweis je Feld.** Wenn ein Feldname für sich nicht selbst
  erklärend ist, kannst du in einem Satz dazuschreiben, was darin steht.
- **Voll-Scan als Stapel.** Ein Voll-Scan reicht alle Kontakte auf einmal beim
  KI-Anbieter ein, statt sie einzeln abzuarbeiten. Das Ergebnis kommt in bis
  zu 24 Stunden, kostet dort etwa die Hälfte, und du bekommst eine
  Benachrichtigung, sobald die Funde da sind. Der normale Scan (nur Neues)
  läuft weiter sofort.
- **Direktlinks in die Einstellungen.** Verweise auf die onOffice-Seite
  springen jetzt an die richtige Stelle: Verbindung, Adressen, KI-Kontext,
  Objekte oder Mitarbeiter-Zuordnung.

### Fixed

- **Nicht zugeordnete Felder wurden gar nicht erst geholt.** Der Abgleich
  fragte onOffice nur nach den Feldern aus der Zuordnungs-Tabelle. Alles
  andere, insbesondere selbst angelegte Felder, kam nie in der Plattform an,
  obwohl an mehreren Stellen etwas anderes stand. Der Abgleich holt jetzt
  alles, was zugeordnet ODER für die Analyse freigegeben ist.
- **Die Feld-Auswahl kannte nur zwanzig Standardnamen.** Sie zeigt jetzt die
  echten Felder deines Kontos, mit Anzeigename, Typ und Auswahlwerten. Ein
  Knopf lädt die Liste neu, wenn du gerade in onOffice ein Feld angelegt hast.
- **Der Scan fand nichts.** Ein einzelnes belegtes Signal reichte bisher nicht
  aus, um als Fund zu gelten. Ein erwähnter Folgeauftrag ist genau der Fall,
  für den es dieses Tool gibt, und wurde trotzdem aussortiert. Die Bewertung
  ist neu eingestellt.
- **Folgeauftrag fehlte in der Signal-Liste.** In den Akquise-Signalen gab es
  keinen Wert dafür, dass jemand eine weitere Immobilie erwähnt. Er ist jetzt
  da, zusammen mit "Marktwert-Interesse" und "Früheres Mandat".
- **Abgebrochene KI-Antworten kosteten den ganzen Kontakt.** War eine Antwort
  am Ende abgeschnitten, wurde der Kontakt komplett verworfen. Jetzt wird
  gerettet, was verwertbar ist, und im Zweifel einmal nachgefragt.
- **Kontaktarten standen als Zahlencodes im Briefing.** Auswahlwerte werden
  jetzt überall in ihren lesbaren Namen übersetzt.
- **Hängende Scans blockierten neue Scans.** Ein Lauf, dessen
  Hintergrund-Prozess nicht mehr reagierte, blieb auf "läuft" stehen und
  verhinderte damit jeden neuen Start. Solche Läufe werden jetzt automatisch
  geschlossen, und die Scan-Karte sagt Bescheid, wenn es seit Minuten nicht
  weitergeht. Bereits gefundene Ergebnisse bleiben erhalten.

### Changed

- **Felder mit geschützten Merkmalen sind für die Analyse gesperrt.**
  Geburtsdatum, Alter, Geschlecht, Herkunft, Religion, Familienstand und
  Gesundheit lassen sich nicht als KI-Kontext freigeben. Sie werden in der
  Liste mit Schloss und Begründung angezeigt, statt einfach zu fehlen. Als
  normales Plattform-Feld sind sie weiterhin zuordenbar.

## 0.7.0 (2026-07-21)

### Added

- **Kontakt in onOffice öffnen**: Bei einem aus onOffice stammenden Lead öffnet
  ein Klick auf seinen Namen (im Detail-Fenster und in der vollen
  Kundenansicht) direkt seine onOffice-Adressseite in einem neuen Tab.

## 0.6.0 (2026-07-13)

### Added

- **Geführter Start**: Wer das Tool ohne importierte Kontakte öffnet, sieht
  jetzt eine Schritt-für-Schritt-Anleitung (Datenquelle wählen, Datenbank
  synchronisieren, Scan starten) und kann den ersten Import direkt dort
  starten. Keine leeren Ansichten mehr beim ersten Öffnen.
- **Auto-Scan funktioniert jetzt**: Wer in den Einstellungen "wöchentlich"
  oder "monatlich" wählt, bekommt den Datenbank-Scan ab sofort automatisch
  im Hintergrund. Neue Kontakte und Aktivitäten werden ohne Zutun analysiert.
- **Klare Meldungen beim Scan-Start**: Läuft bereits ein Scan oder ist das
  monatliche Kontingent an Voll-Scans aufgebraucht, sagt das Tool das jetzt
  direkt, statt still nichts zu tun.
- **Kurzbeschreibungen beim Drüberfahren**: Die wichtigsten Buttons im Tool
  (Scan, Sync, Funde-Aktionen, Einstellungen) erklären beim Drüberfahren
  kurz, was sie tun. Im Design der Plattform statt der grauen Browser-Blase.

### Changed

- **DB-Leads ist jetzt ein Add-on-Tool.** Die KI-Analysen des Datenbank-Scans
  sind im Add-on enthalten: Ein gestarteter Scan läuft immer vollständig
  durch und stoppt nie mittendrin. Im Add-on steckt ein festes Kontingent an
  Voll-Scans pro Monat; der normale Scan (nur Neues) ist jederzeit möglich.
- **Einfacher zu Briefings kommen**: Ein KI-Briefing startet jetzt mit einem
  Klick, ohne Bestätigungs-Dialog und ohne Preis auf dem Button. Die Kosten
  werden wie gewohnt vom Credit-Guthaben abgebucht.
- **Eigene KI-Schlüssel (BYOK) sind jetzt ein Max-Plan-Feature.** BYOK
  richtet sich an Profis; in den Plänen darunter läuft die KI automatisch
  und ohne Einrichtung über REOS AI. Eine bereits gespeicherte
  BYOK-Einstellung bleibt erhalten und gilt wieder nach einem Upgrade.
- **Aufgeräumte KI-Einstellungen**: Statt drei Abrechnungsarten gibt es nur
  noch die Wahl zwischen REOS AI und eigenem Schlüssel (BYOK, ab Max-Plan).
- **Das Tool öffnet jetzt in der Funde-Ansicht** mit dem Datenbank-Scan,
  statt auf einem leeren Board. Board und Liste sind wie gewohnt einen
  Klick entfernt.
- **"Alle qualifizieren" wurde entfernt**: Für die Masse ist der
  Datenbank-Scan da, der zuverlässig im Hintergrund läuft und fortsetzbar
  ist. Einzelne Leads lassen sich weiterhin direkt briefen.
- **Auto-Qualifizierung nach dem Sync** greift jetzt in jedem Modus, weil
  die Scan-Analysen im Add-on enthalten sind.
- **Phasen-Automatik startet auf "Aus"**: Der Akquise-Agent verschiebt Leads
  erst dann automatisch in Phasen, wenn du das in den Einstellungen bewusst
  einschaltest.

### Fixed

- Die Kundenansicht lässt sich jetzt auch dann schließen, wenn sie direkt
  über einen Link geöffnet wurde.
- Der Reiter Synchronisierung zeigt bei den Adress-Feldern jetzt dieselbe
  Zahl aktiver Zuordnungen wie die zentrale onOffice-Integration.
- Der magische Stift für AI-Beschreibungen funktioniert jetzt auch, wenn nur
  ein Google-Schlüssel hinterlegt ist. Vorher meldete er fälschlich, es sei
  kein KI-Anbieter konfiguriert. Das galt genauso für KI-Briefings und die
  Scan-Analyse, die still auf das eingebaute Ersatz-Briefing auswichen.

## 0.5.0 (2026-07-10)

### Added

- **Referenz-Zusammenfassungs-Prompt**: Der Zusammenfassungs-Parameter nutzt
  das Akquise-Referenz-Prompt (Information-Diet, feste Emoji-Rubriken, FALL A
  Eigentümer mit 8 Rubriken inkl. Briefing/Ort/Opener, FALL B mit 3 Rubriken,
  Beispiel-Outputs). Der v3-Prompt gibt dem briefing-Feld dafür Vorrang.
- **Magischer Stift** in der AI-BESCHREIBUNG-Spalte: füllt leere Beschreibungen
  per **REOS AI Lite** passend zum Label. Bekannte Referenz-Labels erben ihre
  Beschreibung kostenlos; nur unbekannte gehen an die KI. Abrechnung nach dem
  Reserve→Compute→Commit-Muster: geschätzter Verbrauch wird vorab reserviert,
  nach allen Beschreibungen die tatsächliche Token-Summe abgerechnet (mit einer
  Nachkommastelle), der Rest freigegeben.
- **Ansprechpartner/Betreuer** aus onOffice fließt in den KI-Input (Briefing
  „mit wem"); dazu Straße/PLZ im Kontakt-Block und der onOffice-Nutzer je
  Aktivität. Siehe onOffice-Anbindung 1.3.0.
- **Board-Suche**: Suchleiste im Board-View wie in der Liste (serverseitig,
  filtert Karten und Spaltenzähler, debounced).

### Changed

- **9 Personas final**: exakt die Referenz-Labels, Label == onOffice-Wert,
  wortgleiche vorbefüllte AI-Beschreibungen (u. a. „Best Ager/Senioren",
  „Unternehmer/Selbständige"). Gespeicherte Optionen ohne Beschreibung/Wert
  erben beides vom Default mit gleichem Label.
- **Feldzuordnungs-Tab entfernt**: Adress- und Objekt-Felder verwaltet
  ausschließlich die zentrale onOffice-Integration; der Sync-Tab verlinkt
  dorthin.
- Neu importierte CRM-Leads landen ohne Pipeline-Phase (Board-Spalte „Ohne
  Phase") statt alle in „Neu".
- „Neuer Lead"-Button vorerst deaktiviert (manuelles Anlegen gehört in ein
  künftiges Leads-Tool); der Dialog bleibt im Code.

### Fixed

- **Sync-Ketten hängen nie mehr**: Fortsetzungs-Chunks stoßen den Worker
  sofort an (statt auf den täglichen Cron zu warten), der Worker kettet sich
  selbst weiter, Zombie-Jobs werden aufgeräumt. Behebt „Sync bleibt bei 500"
  und „Adress-Abgleich hängt bei 2800 neu". Siehe onOffice-Anbindung 1.3.0.

## 0.4.0 (2026-07-10)

### Added

- **Qualifizierung als onOffice-Feld-Mapping** (Referenz-Zuschnitt): Jeder
  Parameter mappt auf ein onOffice-Feld (Combobox aus dem echten
  Feld-Katalog, `get:fields`). Werte-Tabelle mit Label, AI-Beschreibung
  (Erkennungskriterium), onOffice-Wert, Aktiv-Switch, eigene Werte,
  Sentinel "Kein Signal". Defaults: 9 Personas, 15 Akquise-Signale,
  5 Verkaufsbereitschafts-Stufen mit vorbefüllten Beschreibungen.
  Text-Parameter "Zusammenfassung" mit AI-Anweisung + Standard-Reset.
- **Auto-Write-back nach onOffice**: Nach jeder Qualifizierung schreibt der
  Agent Persona, Akquise-Signale, Verkaufsbereitschaft, KI-Zusammenfassung
  und den Akquise-Status (Pipeline-Phase) in die gemappten onOffice-Felder.
  Respektiert den Datenfluss-Hauptschalter der Integration (pushEnabled),
  fail-soft, Unknown-Field-Probe, auditiert + im Lead-Verlauf protokolliert.
- **E-Mail-Volltexte im Aktivitäten-Sync**: Maklerbuch-Import über den
  echten Resource-Type `agentslog` (alle Nutzer) mit `fullmail`/`mailbody`,
  Objekt-Bezug (`Objekt_nr`) und Nutzer in den Activity-Details.
- **Immobilien im Sync-Tab**: dritte Entität mit Status des zentralen
  Objekt-Sync (nur lesend verlinkt, kein Doppel-Import).
- Neue UI-Basis: `Combobox` in `@reosa/ui` (filterbares, scrollbares
  Auswahl-Dropdown mit Freitext-Option).
- **Zentrales Adressbuch als Lead-Quelle:** Sobald der plattformweite
  Adress-Sync (`contacts`, /settings/integrations/onoffice) Daten hat,
  liest der Lead-Import daraus (Modus `contacts`, ein API-Pull für die
  ganze Plattform) statt direkt aus der onOffice-API; die bestehende
  Lead-Feldzuordnung greift über `details.onoffice.raw` unverändert.
  Aktivitäten kommen weiterhin live aus dem Maklerbuch.

### Changed

- Feldzuordnung nach Entität strukturiert (Adressen im Tool, Immobilien
  zentral) mit echten onOffice-Feldnamen und Duplikat-Warnungen.
- Briefing-Prompt (v3) erhält die Taxonomie mit Erkennungskriterien und
  die Zusammenfassungs-Anweisung des Workspaces; nur aktive Werte erlaubt.
- Datenmodell: `LeadQualificationParameter` mit `onofficeField`, `options`
  (Label/Beschreibung/onOffice-Wert/aktiv/sentinel) und `aiInstruction`;
  Altformat (`values`) wird beim Lesen migriert.

## 0.3.0 (2026-07-09)

### Fixed (Review-Härtung vor Merge)

- Scan-Cursor auf Id-Keyset umgestellt. Der Tupel-Cursor verlor
  Mikrosekunden-Präzision und hätte den Grenz-Lead jedes Chunks doppelt
  analysiert (doppelte KI-Kosten + Metering-Events).
- Wiedervorlage funktioniert: Funde mit abgelaufenem `snoozed_until`
  erscheinen wieder als „neu" in der Inbox.
- Signal-Klassifikation: „Bereits verkauft"/„Früherer Verkauf" zählen als
  Alt-Mandat (Gewicht 20), nicht mehr als Verkaufsabsicht (40).
- Abbruch-Races geschlossen: `finishScanRun` ist status-geguardet (ein
  Cancel kann nicht mehr von „success" überschrieben werden), Chunks
  prüfen den Status erneut, bevor sie KI-Geld ausgeben.
- Retry-Idempotenz: ein wiederholter Job-Chunk überspringt Leads, deren
  Briefing jünger als der Run-Start ist. So entsteht kein Doppel-Spend bei Retries.
- Doppelstart-Race: partieller Unique-Index (ein laufender Scan pro
  Tenant) + Konflikt-Fallback im Finding-Upsert.
- Inline-First-Chunk begrenzt (2 Analysen im UI-Pfad, 0 im
  Auto-Scan-nach-Sync; der Worker-Zeitrahmen bleibt unangetastet).
- Zeitfenster-Prädikat sargable (Index-nutzbar) + `last_contact_at` wird
  nach jeder Analyse auf die neueste Aktivität angehoben. Ein
  geschriebener Fund ist garantiert im Inbox-Fenster sichtbar.
- Zombie-Reaper erfasst auch Runs ohne Heartbeat; toter „queued"-Status
  entfernt.
- Rename-Migration ergänzt: `webhook_endpoints.event_types`,
  `notifications.tool_id`, `credit_ledger.module_id`, `jobs.dedupe_key`.
- Funde-Polling pausiert bei verstecktem Tab und lädt die Liste nur bei
  neuen Funden nach; UI-Duplikate bereinigt (leadName, Toggle, Ton-Werte).

### Changed

- **Umbenennung `leads` → `db-leads`** (Slug, Route, Permissions, Tabellen
  `db_lead*`, Daten-Migration `0045_db_leads_rename`). Das Tool ist und war
  Bestands-Mining. Manifest, Copy und Doku sagen das jetzt auch. Der Slug
  `leads` ist im Katalog für den künftigen Inbound-Lead-Hub (C3) reserviert.
- Prompt v3: Eigentümer-Mining-Prompt (Folgeauftrag, Verkaufsabsicht,
  Lebensereignisse; nur belegte Signale, AGG-Hard-Block bleibt).

### Added

- **Datenbank-Scan** (Kernfeature): resumierbarer Background-Run über die
  gesamte Datenbank: kostenloser Prefilter (X-Jahre-Zeitfenster,
  Kontaktart-Ausschlüsse, Frische-Check, Keyword-Boost) + KI-Tiefenanalyse
  (usage/BYOK; Credits = Prefilter-only) + deterministischer Verkäufer-Score.
  Neue Tabellen `db_lead_scan_runs` + `db_lead_findings` (Migration
  `0046_db_lead_scan_engine`), Job-Kind `db-leads.scan`, Permission
  `db-leads.scan`.
- **Funde-Inbox** („Funde"-Tab): Score-sortierte Review-Liste mit
  Annehmen / Verwerfen (mit Grund) / Später; max. ein offener Fund pro Lead;
  Zeitfenster filtert zur Laufzeit.
- **Settings-Tab „Datenbank-Scan":** Zeitfenster (1 bis 15 Jahre, Default 5),
  Signal-Keywords (Default inkl. „Folgeauftrag"), Auto-Scan-Kadenz
  (vorbereitet), KI-Budget pro Lauf, Archiv-Einbezug.
- **Listen-Filter „Letzter Kontakt"** (Zeitfenster / 1 / 2 / 5 / 10 Jahre),
  index-gestützt.
- `ai.autoQualify` hat jetzt einen Consumer: Nach jedem onOffice-Sync läuft
  ein inkrementeller Scan (usage/BYOK). Sync, Scan und Funde bilden einen Closed Loop.
- `qualification.excludedContactTypes` greift jetzt wirklich (Scan-Prefilter
  + Massen-Qualifizierung).

## 0.2.0 (2026-07-08)

### Added

- Einstellungen unter **/settings/tools/leads**: Das Leads-Panel mountet jetzt im
  Plattform-Settings-System (`ui.settingsPanel` + Registry-`loadSettingsPanel`).
- **REOS-AI-Anbindung:** Briefings laufen über die gebündelte REOS-AI-Schicht
  (`@reosa/sdk` `reosAi`, Bulk-Tier); Modell-Name ist versteckt.
- **„Teure AI-Aktion"-Warndialog** vor jedem Credits-Briefing inkl. Credit-Schätzung.
- **Massen-Qualifizierung** („Alle qualifizieren") mit aktiver BYOK-/Nutzungs-Empfehlung
  bei Credits.

### Changed

- KI-Einstellungen auf REOS-AI-Framing umgestellt: Modell/Provider nicht mehr
  tenant-sichtbar; nur Abrechnungsmodus (REOS AI Credits/Nutzung, BYOK) + BYOK-Provider.
- Der modul-eigene OpenAI-kompatible AI-Client wurde nach `@reosa/sdk` `reosAi`
  gehoben; Leads behält nur Prompt, Parsing und den Heuristik-Fallback.

## 0.1.0 (2026-07-07)

### Added

- Erste Version des **Leads**-Tools (Interessenten-Management, planned tool C3).
- Modul-eigene Datenschicht (`db/`): Tabellen `leads`, `lead_phases`,
  `lead_disqualification_reasons`, `lead_activities`, `lead_settings` mit
  tenant-isolierter RLS (Migration `0026_leads`), Repository via `withTenant`.
- Pipeline-Board (Kanban mit Drag & Drop) und sortier-/durchsuchbare Listen-Ansicht.
- Pro-Lead-Detailseite (deep-linkbar über `?lead=`) mit **strukturiertem
  KI-Briefing**: Headline, Lage, Plan, Opener, Persona, Signale (mit Stärke),
  Verkaufsbereitschaft, Erst- und Letztkontakt. Jede Aussage mit Beleg.
- KI-Layer: versionierte Prompts, deterministischer Mock-Provider und
  OpenAI-kompatibler Provider (OpenRouter/nvidia/OpenAI/Gemini), AGG-Guardrails.
- **Drei KI-Abrechnungsmodi** (`lead_settings.ai`): `credits` (über Runs-Harness),
  `usage` (nutzungsbasiert), `byok` (eigener Provider-Key).
- Server-Actions (`api/`): Lead-CRUD, Board-Move, Zuweisung, Qualifizieren/
  Disqualifizieren, Notizen, Pipeline-/Qualifizierungs-/KI-/Sync-Einstellungen.
- Simulierter onOffice-Sync mit Dedup über `(source, external_id)`.
- Lifecycle-Seed: Standard-Pipeline, Gründe und Qualifizierungs-Parameter bei Install.
- Tenant-Doku (de/en) inkl. Abrechnungs- und Datenschutz-Hinweisen.
- Plattform-Bridge `bun sync:module-migrations` für modul-eigene Migrationen.
