DossierChat · Aufbau-Protokoll dieser Session

Von der Hülle zum Gehirn.

Eine Demo, die nur „das Grundeigene" zeigte, wurde zur datentiefen, engine-vollständigen, aktionsfähigen Anwendung. Hier ist jeder Schritt — mit einem echten Beispiel.

20
Branchen
100
Module mit CR-Tiefe
6
Grundintelligenz-Engines
154
Aktionen klassifiziert
1
echter Bug gefunden + gefixt
Teil A · Daten-Tiefe — erst Tiefe, dann Breite

Die Grundintelligenz ins Produkt holen

Der Code trug bisher nur sichtbare Felder. Das eigentliche Wissen — €-Hebel, Korridore, Beobachtungsregeln, Datenherkunft — lag ungenutzt im Vault. Maßstab: das produktive hama/CR-Dossier.

1

Datenmodell um „Grundintelligenz" erweitert

Jedes Modul bekam eine zweite, tiefe Schicht: €-Hebel (low/mid/high + Charakter + Herleitung + Quelle), KPI-Logik, deterministische Observer-Regeln, Datenquellen-Tiefe je Feld, Stories, Cross-Modul-Verknüpfung, aktiver Befund.

lib/modules.ts — type Grundintelligenz, Hebel, KPI, ObserverRegel, DatenquelleFeld

Beispiel — der Typ

type Grundintelligenz = {
  hebel: { low; mid; high; charakter; herleitung; quelle };
  regeln: { wenn; dann: "INFO"|"WARN"|"ALARM"; empfehlung; korridorBasis }[];
  datenquellen: { feld; bedeutung; quelle }[];
  stories: string[]; crossModul; aktiverBefund;
};
2

KFZ-Werkstatt auf volle CR-Tiefe — und sichtbar gemacht

Die Vorzeige-Branche zuerst: 5 Module 1:1 aus dem Vault befüllt. Befund, €-Hebel, Erwartungs-Korridore und Datenherkunft erscheinen jetzt im Modul — nicht nur eine Zahlenliste.

lib/modules.ts · components/lab/ModuleRich.tsx

Beispiel — Modul „Werkstattauslastung", gerendert

Achtung · Stille Beobachtung
Stundensatz 95 €/AW liegt unter dem DEKRA-Median (105–110 €). Eine Anhebung um 10 € auf ~6.000 verrechnete Stunden entspricht rund 60.000 €/Jahr — der Median ist Ihr Verhandlungsargument.
Wirtschaftliche Wirkung · pro JahrErlös
niedrig18.000 €
erwartet42.000 €
hoch95.000 €
Quelle: DEKRA-Stundenverrechnungssätze 2025/2026; verkehrslexikon.de.
Korridor · Auslastung 80–90 % (historie_90d + soll_plan)
Datenquelle · DMS: gebuchte/verfügbare AW, stündlich, Fallback CSV
3

Den Prompt aus der Grundintelligenz speisen

Das LLM argumentiert jetzt mit Hebel, Korridor und Quelle — statt die Felder nachzuerzählen. Befunde sind deterministisch ermittelt, das LLM formuliert nur aus.

lib/intelligence.ts · lib/prompt.ts · app/api/recommend/route.ts

Beispiel — die erzeugte Empfehlung

„Mir fällt auf, dass Ihr Stundensatz mit 95 € deutlich unter dem DEKRA-Median liegt — bei rund 6.000 verrechneten Stunden bringt eine Anhebung auf 105 € bereits 60.000 € mehr Erlös, und der Median ist Ihr stärkstes Argument …"
4

9 bestehende Branchen nachgezogen — skalierbar

Statt 45 Inline-Blöcke: je Branche eine Datei, zentral gemergt. So konnten 9 Agenten parallel und konfliktfrei arbeiten. Inline (KFZ) gewinnt, sonst Registry.

lib/grundintelligenz/<branche>.ts + index.ts → Merge in getModule()

Beispiel — der Merge

function mitGrundintelligenz(m) {
  if (m.grundintelligenz || !MAP[m.id]) return m;  // inline gewinnt
  return { ...m, grundintelligenz: MAP[m.id] };
}
5

10 neue Branchen integriert — 20/20 komplett

Jede neue Branche als ein vollständiges „Paket" (Stammdaten + 5 Module inkl. Grundintelligenz + Demo-Betrieb + Aktionen) in einer Datei. 10 Agenten parallel, an 4 Stellen gemergt — die Startseite listet sie automatisch.

lib/branchen-data/<branche>.ts (BranchenPaket) — physio, makler, hotel, spedition, …

Beispiel — die 10 neuen Betriebe

Physiotherapie Aktiv Mobil
Lindner Versicherungsmakler
NordSys IT
Rheinpanorama Immobilien
Pflegedienst Lindenhof
Hof Lindgraben
Nordweg Spedition
Salon Lichtblick
Hotel Seeblick
VITALIS Aktiv-Studio
Teil B · Engines — der Burggraben (Phase C)

Aus Daten wird laufende Intelligenz

Die Tiefe allein genügt nicht — sie muss arbeiten: priorisieren, beobachten, handeln dürfen, Wirkung messen.

6

Observer-Engine + 7

deterministisches „Heute"-Briefing

Sammelt alle Befunde, dedupliziert, priorisiert nach Level (Alarm › Achtung › Hinweis) und dann nach €-Hebel — ganz ohne LLM. Speist das Cockpit „Heute sind N Dinge bemerkenswert". Genau die hama-Logik.

lib/observer.ts — sammleBefunde() · components/chronicle/HeuteHandle.tsx

Beispiel — das Heute-Panel (Makler)

Heute sind 5 Dinge bemerkenswert
2 Alarm3 Achtung~130.000 €/Jahr im Blick
Alarm · Objekte & Exposés · 30.000 €
Zwei Exposés live ohne GEG-§87-Pflichtangaben — abmahnbar, Bußgeld bis 10.000 €.
Achtung · Akquise & Pipeline · 40.000 €
41 passive Interessenten mit Profil-Match, bisher nicht angesprochen.
8

Autonomie-Freigabe-Flow

Jedes Modul trägt einen Autonomie-Grad. Der Freigabe-Flow passt sich an: Vorschlag, Sammel-Freigabe, Auto-mit-Veto (8-Sekunden-Countdown) oder Still. Außen-Versand läuft nie automatisch — Wahrheits-Gate. Jede Ausführung wird protokolliert.

components/lab/AktionsModal.tsx — AUTONOMIE_CFG, Veto-Countdown

Beispiel — Footer bei „auto-still"

● Still. Läuft still im Hintergrund (reine Innen-Wirkung). Ausführen
9

Outcome-Tracking

Wird eine Aktion an einem Modul ausgeführt, wird dessen Jahres-Hebel als „adressiert" gezählt (je Modul einmal). Ein erster Mess-Nachweis, was schon angegangen wurde.

lib/outcome.ts — leseOutcome()

Beispiel — im Heute-Panel

Bereits angegangen:2 Aktionen · 1 Modul~42.000 €/Jahr adressiert
10

Observer-Dedupe — „neu seit letztem Besuch"

Befunde, die schon gesehen wurden, werden nicht erneut als neu hervorgehoben. Beim ersten Öffnen tragen alle einen „NEU"-Marker. (Dabei wurde ein React-Strict-Mode-Bug gefunden und gefixt — Side-Effect lag fälschlich im setState-Updater.)

components/chronicle/HeuteHandle.tsx — dedupeKey + localStorage

Beispiel

Achtungneu· Revenue Management
RevPAR 68 € liegt 8 % unter Branchen-Median — No-Show-Quote 11 % verschärft.
11

Markt-Radar / Späher — 20 Außensignal-Drehbücher

Branchenspezifische Signale treffen ungefragt ein und werden gegen den eigenen Stamm gehalten. Stärkstes Beispiel: der KBA-Rückruf. Für alle 20 Betriebe ein Drehbuch, 11 neue Signalquellen.

lib/funde.ts — FUNDE_DREHBUCH · components/chronicle/LiveFunde.tsx

Beispiel — Eingang (KFZ)

Kraftfahrt-Bundesamt · gerade eben
KBA-Rückruf VW Golf VII (Bj. 2016–2019): 14 Halter in Ihrem Stamm betroffen. Ein Termin, zwei Anlässe — Rückruf + fällige Inspektion bündeln.
Teil C · Aktionen mit echter Wirkung (Phase D)

Statt Button-Theater: echte Schritte

Eine Aktion soll etwas auslösen, nicht nur simulieren.

12

mailto — Mailprogramm öffnen

Beim Mail-Format öffnet ein Klick das Mailprogramm, vorausgefüllt mit Empfänger, Betreff und Text.

AktionsModal.tsx

Beispiel — „Überfällige Halter anschreiben"

An
kunde@beispiel-ingolstadt.de
Betreff
Hauptuntersuchung überfällig – Termin vereinbaren
Sehr geehrte Damen und Herren, laut unseren Unterlagen ist die Hauptuntersuchung Ihres Fahrzeugs bereits abgelaufen …
Alle Felder editierbar.Im Mailprogramm öffnen
13

.ics — Kalender-Download

Beim Schritte-Format erzeugt ein Klick eine echte VCALENDAR-Datei (Wiedervorlage in 10 Tagen) für das Kalenderprogramm.

AktionsModal.tsx — icsHerunterladen()

Beispiel

○ Aufwand: halber Tag
Als Wiedervorlage (.ics) speichern — in 10 Tagen
14

PDF — Bericht als Druck-Dokument

Ein viertes Aktionsformat für Berichte: erzeugt ein sauberes Dokument und öffnet den Druck-Dialog („Als PDF sichern").

app/api/action/route.ts (PDF-Prompt) · AktionsModal.tsx — PdfEditor + pdfDrucken()

Beispiel — „Provisionsabrechnung als PDF" (Makler)

Provisionsabrechnung – Status 23. Mai 2026

erstellt am 24.5.2026
Offene Provisionsforderungen

Nach Beurkundung stehen 4 Abschlüsse mit insgesamt ca. 38.000 € aus. Die Provision für die ETW Bayenthal (7.350 €) ist seit 38 Tagen überfällig.

GwG-Pflichten (dringend)

2 Kauf-Vorgänge erfordern noch die GwG-Identifizierung. Die Risikoanalyse ist seit 13 Monaten überfällig.

15

FORMAT_MAP — 154 Aktionen branchenweit klassifiziert

Vorher fielen 113 Aktionen (alle ab KFZ) auf eine bloße Bestätigung zurück. Jede wurde nach klarer Regel eingeordnet: Außenkommunikation → mail, interner Plan → schritte, Bericht → pdf, Status/Export → bestätigung.

app/api/action/route.ts — FORMAT_MAP (44 → 155 Einträge)

Beispiel — die Regel

mail · anschreiben, mahnen, anfordern, anbieten, einberufen
schritte · vorbereiten, kalkulieren, Checkliste, einreichen
pdf · Bericht / Report / „… als PDF"
bestätigung · Export, Status, Erinnerung, Termin
Teil D · Qualität & selbstkritische Abnahme

Nichts gilt als fertig ohne Abnahme

Alle 14 zuvor ungeprüften Branchen einzeln visuell durchgegangen — Kohärenz, Umlaute, Datums-Konsistenz, Stil. 13× sauber, ein echter Bug.

16

Der gefundene Bug — und sein Fix

Landwirtschaft zeigte die GAP-Antragsfrist (15. Mai) als „noch einreichbar", obwohl das Demo-Datum der 23. Mai ist — die Frist war vorbei, und widersprüchlich hieß es „in 21 Tagen". Korrigiert auf die reale Verspätungs-/Nachfrist.

lib/branchen-data/landwirtschaft.ts — Begrüßung, Befund, Felder, Vorgänge

Beispiel — vorher / nachher

„… müssen aber vor dem 15. Mai in den Antrag … in 21 Tagen unumkehrbar."
+„… die reguläre Frist am 15. Mai ist verstrichen, jetzt läuft die Nachfrist mit 1 % Abzug pro Tag … in 17 Tagen unumkehrbar."
17

Wiederkehrendes Muster: Agenten + Anführungszeichen

Dreimal brachen agentengenerierte Dateien, weil gerade ASCII-Anführungszeichen (") in deutschen Strings das Literal beendeten. Deterministisch gefixt mit einer State-Machine (offenes „ tracken, schließendes " ersetzen) — und als projektübergreifendes Memory festgehalten.

Gate nach jeder Agenten-Generierung: npx tsc --noEmit

Beispiel — der Fehler

text: "… meldet: "Termin frei"." → bricht den String
+text: "… meldet: „Termin frei"." → deutsche Quotes
Teil E · Harness & Arbeitsumgebung

Die Session selbst tragfähig gemacht

Neben dem Produkt auch die Werkzeuge konfiguriert, damit lange Läufe nicht abreißen.

18

Auto-Komprimierung aktiviert

Der Kontext wird automatisch bei ~800k Tokens komprimiert — kein manuelles Schneiden mehr.

~/.claude/settings.json
"autoCompactEnabled": true,
"autoCompactWindow": 800000
19

PreCompact-Hook

Sichert vor jeder Komprimierung den Arbeitsstand (Zeit, Pfad, git-Stand) in ein Log — damit nach dem Schnitt nichts verloren geht.

~/.claude/hooks/precompact-save.sh
# vor jedem Compact:
echo "[ts] compact session=… cwd=… git=…" >> compact-log.txt
20

Zeit-Warnung entschärft

Die Context-Rot-Warnung feuerte alle 20 min ab 45 min (Alarm-Müdigkeit). Jetzt erst ab 3 Stunden, dann stündlich — Auto-Compact regelt den Überlauf, die Warnung adressiert nur noch echte Drift.

~/.claude/hooks/context-timer.sh — Schwelle 45→180 min