Live-ingest — el productor de observación en proceso
Live-ingest (modules/liveingest) es uno de los 30 módulos conectados — un productor en
proceso más que una ranura de capacidad. No forma parte del mapa histórico
numerado I–XXIII. Existe por una razón arquitectónica:
un SourceConnector fuera de proceso solo puede transmitir la suma de
observación sellada (edge / cost / finding) sobre su contrato gRPC, que no tiene
RPC de eventos ni campo de texto — así que no puede publicar un evento
detective. Solo un módulo en proceso posee la capacidad de publicar en el bus,
así que live-ingest es la mitad “live-tap” que emite esos eventos para los
módulos que ya los consumen.
El connector de telemetría de Claude del control plane se ejecuta fuera de
proceso como un plugin embebido; su stream Gather porta únicamente el oneof
congelado de Observation. Ese contrato de cable está congelado deliberadamente
(con comprobación de cambios rompedores; véase la
política de estabilidad de la API) y no porta
ningún extracto ni superficie de texto. Live-ingest es el productor en proceso
que suministra los dos eventos que el connector estructuralmente no puede:
guardrail.observed para el módulo IX y
voice.telemetry.observed para el módulo XVI. No posee entidades ni superficie
REST; es un publicador hacia el bus de eventos.
Qué produce — guardrail.observed
Sección titulada «Qué produce — guardrail.observed»Este es el productor que faltaba para la cadena de detectores de seguridad que ya
consume guardrail.observed. Es deny-closed y de
adhesión explícita:
- Por defecto (inspección apagada). El módulo no se suscribe a nada, no publica nada y registra su mitad vacía de forma visible — nunca un no-op silencioso.
- Con la adhesión explícita del operador activada. Se suscribe a
edge.observedy, para una arista cuyo recurso es una referencia de herramienta resuelta, deriva un extractotool_argsacotado y ya expurgado y lo publica como unObservedTextque porta únicamente campos de referencia no sensibles. El extracto es el identificador de recurso que el connector ya expurgó en origen (una ruta saneada, un host+ruta sin query ni credenciales, un nombre de programa Bash con sus argumentos descartados, una referencia de herramienta MCP). Live-ingest lo acota y la cadena de seguridad lo recorta de nuevo — triple defensa. El contenido del argumento se descarta en el connector y nunca llega al bus.
La cadena de detectores emite entonces un finding por detección de forma automática, sobre tráfico real.
Qué produce — voice.telemetry.observed
Sección titulada «Qué produce — voice.telemetry.observed»Un productor en proceso cableado únicamente para metadatos de turno de voz/tiempo real incluidos en allow-list — nunca audio y nunca texto de transcripción. El payload es un valor tipado que por diseño no puede portar audio, transcripción ni PII, y el consumidor rechaza cualquier muestra con una clave fuera de la allow-list o con una referencia de sesión/agente ausente. Sin ningún backend de voz en tiempo real en este build, nada lo llama: la mitad de observación está honestamente dormida y no fabrica telemetría hasta que un backend la alimenta.
Relacionado
Sección titulada «Relacionado»- Referencia del bus de eventos — el payload
guardrail.observed/ObservedText(un extracto expurgado sobre un fallback JSON, no la suma sellada) yedge.observed. - Módulo IX — seguridad, guardrails y auditoría — la
cadena de detectores que consume el feed
guardrail.observedque este módulo publica. - Módulo XVI — agentes de voz y tiempo real — el consumidor
de la mitad (dormida)
voice.telemetry.observed. - Módulo II — operación en vivo y sesiones — deriva su
propio
goal/agent_ref/summarydirectamente de señales que ya consume, en lugar de hacerlo vía un evento de live-ingest. - Catálogo de módulos — los 30 módulos y la honesta división Gobierno/Observación-frente-a-Actuación que respalda este productor en proceso.
- Visión general de la arquitectura — dónde se sitúan los módulos en proceso y los connectors fuera de proceso.
- Honestidad y límites — por qué las mitades vacías se declaran, no se falsean.