Zum Inhalt springen

Live-Ingest — der In-Process-Observe-Produzent

Live-Ingest (modules/liveingest) ist eines der 30 verdrahteten Module — ein In-Process-Produzent statt eines Capability-Slots. Es gehört nicht zur historischen nummerierten Karte I–XXIII. Es existiert aus einem einzigen architektonischen Grund: ein Out-of-Process-SourceConnector kann über seinen gRPC-Vertrag nur die versiegelte Beobachtungssumme (edge / cost / finding) streamen, der weder eine Event-RPC noch ein Textfeld hat — er kann also kein Detektiv-Event publizieren. Nur ein In-Process-Modul hält die Bus-Publish-Fähigkeit, daher ist Live-Ingest die „Live-Tap“-Hälfte, die jene Events für die Module emittiert, die sie bereits konsumieren.

Der Claude-Telemetrie-Connector der Control Plane läuft out-of-process als eingebettetes Plugin; sein Gather-Stream trägt nur das eingefrorene Observation-oneof. Dieser Wire-Vertrag ist bewusst eingefroren (breaking-change-geprüft; siehe die API-Stabilitätsrichtlinie) und trägt keinen Auszug und keine Textoberfläche. Live-Ingest ist der In-Process-Produzent, der die zwei Events liefert, die der Connector strukturell nicht kann: guardrail.observed für Modul IX und voice.telemetry.observed für Modul XVI. Es besitzt keine Entitäten und keine REST-Oberfläche; es ist ein Publisher auf den Event-Bus.

Dies ist der fehlende Produzent für die Security-Detektorkette, die guardrail.observed bereits konsumiert. Es ist deny-closed und opt-in:

  • Default (Inspektion aus). Das Modul abonniert nichts, publiziert nichts und protokolliert seine leere Hälfte sichtbar — niemals ein stiller No-Op.
  • Mit aktiviertem Betreiber-Opt-in. Es abonniert edge.observed und leitet für eine Kante, deren Ressource eine aufgelöste Tool-Referenz ist, einen begrenzten, bereits geschwärzten tool_args-Auszug ab und publiziert ihn als ObservedText, der nur nicht-sensible Referenzfelder trägt. Der Auszug ist der Ressourcen-Identifier, den der Connector bereits an der Quelle bereinigt hat (ein bereinigter Pfad, ein Host+Pfad ohne Query oder Credentials, ein Bash-Programmname mit verworfenen Argumenten, eine MCP-Tool-Referenz). Live-Ingest begrenzt ihn und die Security-Kette klammert ihn erneut ein — dreifache Verteidigung. Der Inhalt des Arguments wird am Connector verworfen und erreicht niemals den Bus.

Die Detektorkette emittiert dann automatisch je Detektion ein Finding, über realen Verkehr.

Ein verdrahteter In-Process-Produzent ausschließlich für allow-gelistete Voice-/Realtime-Turn-Metadaten — niemals Audio und niemals Transkripttext. Die Payload ist ein typisierter Wert, der by construction kein Audio, kein Transkript und keine PII tragen kann, und der Konsument weist jedes Sample mit einem Schlüssel außerhalb der Allowlist oder einer fehlenden Session-/Agent-Referenz zurück. Da es in diesem Build kein Voice-Realtime-Backend gibt, ruft es nichts auf: die Observe-Hälfte ist ehrlich ruhend und fabriziert keine Telemetrie, bis ein Backend sie speist.