Livia arbeitet nicht mehr neben dem Leadbestand, sondern in ihn hinein.
- Systemzugänge tragen Titel, Beschreibung und Adresse; die Liste zeigt je
Eintrag nur noch Aktiv/Inaktiv und Lesen/Schreiben — kein Berechtigungsbalken,
kein Auge-Icon, keine Lese-/Schreibgruppen
- Die Quellenregistry ist dynamisch: Der Lauf liest genau die aktiven
Lesezugänge mit Adresse aus Livias Personalblatt. Für die drei gepflegten
Quellen greift weiterhin ihr eigener Leser, für alles andere ein allgemeiner —
eine Übersichtsseite, bis zu zehn Unterseiten, kein Spider. Freie Adressen
werden auf http/https geprüft und gegen interne Netze gesperrt
- Manuell abgelegte PDF- und Word-Dokumente fliessen in denselben Lauf. Text
wird beim Ablegen nativ extrahiert (ZIP + Flate über DecompressionStream,
ohne neue Abhängigkeit), Datei und Text liegen in IndexedDB
- Neuer harter Filter «Zeitliche Relevanz»: das Modell beurteilt die
Ereigniszeit der Veränderung, nicht das Publikationsdatum. «unknown» fällt
bewusst nicht durch — ein erfundenes Datum wäre die schlechtere Antwort
- Quellentypen und Beobachtungsraum sind Chips mit Freitext; jeder Wert lässt
sich einzeln entfernen, auch die vorgegebenen
- Info-Knopf bei «Zeitliche Relevanz» und «Mindestrelevanz» erklärt, wie der
Wert entsteht — ohne erfundene Prozentgewichte
- Gefundene Leads gehen in den zentralen Signalbestand statt in eine zweite
Ergebnisliste; die Herkunft steht am Signal (origin: RESEARCH_RUN)
- Der Lauf erzeugt einen echten Protokolleintrag mit den Zahlen des Laufs
- Lead-Detail: zeitliche Einordnung mit Fundstelle, semantisches Suchprofil bei
Chancen mit «Matching starten», und bei Risiko ausdrücklich «Kein internes
Objekt eindeutig zugeordnet» statt einer beliebigen Mock-Immobilie
- Aufgabenliste nach §11 bereinigt, «Unsichere Signale in Review Queue legen»
von Nora übernommen
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Aufgaben, Systeme und Kanäle werden alle drei als Liste geführt und ab jetzt
auch gleich bearbeitet: anlegen, ändern, entfernen, zu- und abschalten — dort,
wo man sie sieht. Die Maske und die drei Listengriffe stehen einmal zentral
statt dreimal je Reiter; sonst unterscheiden sie sich nach der ersten Korrektur.
- AgentEntityDialog: eine Maske für alle drei Entitäten, über den React-
Schlüssel je Eintrag neu aufgebaut statt über einen Effekt zurückgesetzt
- agentEntityEditing: upsertById, removeById, newEntityId als reine Funktionen
- Systeme sind über Provider, Service und Hook schreibbar (saveSystems) und
tragen neu einen Aktiv-Schalter
- Systemreiter: eine einzige Liste statt «Lesende»/«Schreibende Systemzugänge»,
kein Einleitungsbalken mehr; Aktiv, Zugriff und Verbindung stehen je Eintrag
- Thomas steht als «Agentenverwalter» in der Navigation, zählt aber nicht als
sechster Agent in Sitzungszimmer, Auslastung und Begrüssung
- Chatverlauf scrollt in sich, ohne die Seite springen zu lassen
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Setzt das Umsetzungsbriefing Runde 4 im bestehenden Frontend um.
Informationsarchitektur
- «Teamübersicht» heisst «Meine Agenten»; ihr bisheriger Inhalt (Kreisgrafik,
Auswertung, Verbindungszusammenfassung) ist entfallen.
- Personalverwaltung, Bearbeitungsverlauf und Kanäle & Systeme sind jetzt
Reiter derselben Seite (?section=), gestaltet wie die Auswahl im
Bearbeitungsverlauf. Es wird nur der gewählte Bereich gerendert.
- Die alten Unterseitenpfade leiten um, damit Lesezeichen nicht brechen.
Agentenbestand
- Reto und Lea vollständig entfernt — aus Navigation, Dossiers, Protokoll,
Verbindungen, Vorgängen und Porträtbestand.
- Retos Aufgaben liegen bei Bruno: Nachbereitung, WhatsApp-Anruf,
Protokoll und Kundennotiz, Ablage im CRM.
- Livia ist «Exposé Master»: Lageberichte, Inserate, Angebotsbroschüren.
- Sidebar führt Ferdi, Bruno, Livia, Nora, Sina mit Porträt und Funktion.
Agentenseiten
- Ein gemeinsamer AgentWorkspaceHero auf allen fünf Seiten.
- Ferdi: Auswertungskarten, Priorität und Typfarben entfallen; Fälligkeit nur
bei fünf Tagen oder weniger rot; Objektlinks nach «Meine Objekte»; neu die
Terminplanung im verbundenen Kalender mit typgerechtem PDF-Ausschnitt.
- Sina: reduzierte, filter- und sortierbare Objektübersicht; Detailansicht
direkt editierbar, leere Pflichtfelder rot umrandet.
- Nora: Signale ohne Prozentsätze und Konfidenzstufen, nur belegbare Angaben;
Mehrfachauswahl leitet Objekte an Livia weiter.
- Livia: aktive und archivierte Leads, Arbeitsbereich gleitet an den oberen
Rand; dreistufiger Exposé-Prozess Hochladen → Exposé → Export.
- Bruno: neue Seite mit Auftragsliste und Vor-/Nachbereitungs-Drawer;
Glocke warnt bei Besichtigung unter 24 Stunden ohne Bericht.
Datenschicht
- Neu: Kalender, Exposé-Leads, Exposé-Entwürfe, Besichtigungsaufträge —
je Domain, Provider, Service und Hook.
- IAIService um generateExposeText erweitert; der Entwurf nutzt ausschliesslich
erfasste Objektdaten und meldet Lücken, statt sie zu füllen.
- Alle Objektverweise zeigen auf reale Einträge aus «Meine Objekte»; neue
Detailroute /supply/properties/:propertyId.
Offen: Chat, Kalender, CRM und DMS sind Frontend-Simulation ohne Anbindung.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Property On wird als Funktionsbereich "Teamübersicht" in Property Match
eingebettet — sieben digitale Mitarbeiter, die ausführen, während der Mensch
freigibt, anpasst oder zurückweist.
Durchgehend Provider → Service → Hook, kein übersprungener Layer:
- domain/: teamAgent, agentWorkItem, agentProtocol, agentConnection, agentFilters
- mock-data/: 7 Personalblätter aus dem Agenten-Katalog (Aufgabenzahlen exakt:
Ferdi 9, Sina 7, Lea 11, Bruno 9, Reto 10, Livia 11, Nora 8), 14 Vorgänge,
38 Protokolleinträge, 9 Verbindungen
- provider/: vier Mockup-Provider mit versionierter localStorage-Persistenz
- services/: Fachlogik inkl. Freigabe, Zurückweisung, Kennzahlen, Demo-Reset
- hooks/: React Query, Mutationen entwerten Vorgänge, Kennzahlen und Protokoll
gemeinsam — sonst zeigt die Oberfläche widersprüchliche Zahlen
Namensgebung: Der Entitätstyp heisst TeamAgent, nicht Agent. Im Repo existiert
bereits PowerOn als KI-Backend-Proxy, und Claude Code legt Arbeitskopien unter
agent-* ab; ein nackter Typ Agent wäre in Suchen nicht auffindbar. Alle
Satellitentypen sind Agent*-präfixiert, weil domain/index.ts per export *
bündelt und generische Namen dort kollidieren.
Eigener Protokolltyp statt ActivityEvent: den Namen gibt es im Repo dreifach
und gegenseitig inkompatibel (domain/activityEvent.ts, governanceService.ts,
PropertyActivityLogPanel.tsx). Ein Anschluss hätte den Konflikt zementiert.
Demo-Uhr in lib/teamClock.ts: die Mockdaten sind auf den 20.05.2026 verankert.
Gegen die Systemzeit gerechnet wären die Filter "heute / diese Woche / dieser
Monat" an jedem anderen Kalendertag leer und die Auswertung sähe kaputt aus,
obwohl sie korrekt rechnet.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>