Modul II — Live-Betrieb & Sessions
Modul II ist die Live-Betriebs-Sicht des Estate: was jede Agent-Session gerade tut, ihre Live-Token- und Kostensummen, ein abgeleiteter Claude-Code-State und eine rekonstruierbare Timeline. Während Modul I (Inventar) das dauerhafte Estate materialisiert, hält Modul II ein Live-Betriebs-Overlay pro Session über demselben Beobachtungsstrom — und zeigt nur, was dieser Strom ehrlich trägt.
Was es ist
Abschnitt betitelt „Was es ist“Modul II ist ein busgetriebenes Modul der Core-Schicht, Geschwister des Inventars. Es pflegt einen Live-Datensatz, der nach der externen Referenz jeder Session gekeyt ist, aufgebaut aus dem kooperativen Beobachtungsstrom — nie gepollt, nie erfunden. Pro Session verfolgt es:
- die aktuelle Aktion (das zuletzt verwendete Tool) und die Ressource/den Modus, die sie berührte;
- die Live-Token- und Kostensummen, gelesen aus Kostenproben (das kanonische Kosten-Ledger und FinOps sind Modul XI, nicht hier — dies ist nur die Live-Zahl);
- einen abgeleiteten Claude-Code-State (
cc_state); und - eine Timeline, an die jedes beobachtete Event in Ingest-Reihenfolge angehängt wird.
Sein Vertrag & seine Entitäten
Abschnitt betitelt „Sein Vertrag & seine Entitäten“Das Modul registriert zwei mandantenbezogene Entitäten. sessions.live hält den
Live-Datensatz pro Session — aktuelle Aktion/Ressource/Modus, Modellreferenz,
Live-Input/-Output-Tokens, Live-Kosten, Event- und Tool-Call-Zähler sowie
First/Last-Event-Zeitstempel. sessions.timeline hält eine abspielbare Zeile pro
Event, geordnet nach Ingest. Es gibt keine gespeicherte
Lebenszyklus-Spalte: Der kooperative Strom trägt kein Ende-oder-Fehler-Signal,
sodass das einzige ehrliche Lebendigkeitssignal der abgeleitete cc_state ist.
cc_state wird zur Lesezeit aus der Aktualität der Events abgeleitet —
active / idle / ended — und wechselt in einen Silent-Evasion-State, wenn
der Connector dieses Finding meldet (es wird nie vom Modul selbst geschrieben).
Reads werden unter Modulrouten bedient (Live-Liste, einzelne Session,
Session-Timeline) plus einem Live-SSE-Stream; jeder Read erfordert die
Session-Leseberechtigung, und das Öffnen des Streams wird automatisch
auditiert. Der SSE-Kanal ist streng mandantenisoliert (ein Client erhält
nur Snapshots für seinen autorisierten Mandanten) und Best-Effort (ein
langsamer Client verwirft den Zwischenframe und erhält den nächsten — die
Ingestion blockiert nie).
Was es konsumiert (und was es ableitet)
Abschnitt betitelt „Was es konsumiert (und was es ableitet)“Modul II konsumiert denselben Minimal-Data-Beobachtungsstrom wie das Inventar —
edge.observed, cost.sampled und finding.reported. Nur
Edges, deren Herkunft eine Session ist, erzeugen Live-Betrieb; an eine
Session gebundene Kostenproben tragen zur Live-Token-/Kostenzahl bei (hier wird
kein CostRecord geschrieben); Findings mit Session-Subjekt werden annotiert,
und ein Anti-Evasion-Finding markiert den Evasion-State. Zwei Felder werden
live abgeleitet aus denselben Signalen: agent_ref aus dem einer Session
zugeordneten Agent und summary aus einem Context-Compaction-Finding
(forensisch), dessen Titel per Vertrag summary-safe ist — niemals eine vom LLM
erfundene Zusammenfassung.
Verwandt
Abschnitt betitelt „Verwandt“- Event-Bus-Referenz — die Events
edge.observed,cost.sampledundfinding.reported, die dieses Modul konsumiert. - Modulkatalog — wo Modul II einzuordnen ist und die ehrliche Actuate-Aufteilung.
- Access- & Ressourcen-Map — das Geschwister-Core-Modul, das den R/RW-Access-Graphen besitzt.
- Architekturüberblick — die Engine und die Schichten.
- Claude Code anbinden — den Live-Stream zu erzeugen beginnen.
- Ehrlichkeit & Grenzen — was das Produkt heute tut und was nicht.