Arquitectura de Integración de OpenClaw para Grabadores
Audiencia: Ingenieros que implementan o validan el acoplamiento de OpenClaw a Recorder.
Tabla de Contenidos
- Resumen Ejecutivo
- Contrato de Mapeo
- Política de Redacción y Carga Útil Limitada
- Política de Secuencia-Gap
- Modos de Firma y Verificación
- Fixture y Cobertura de Pruebas
- Límites Actuales y Próximos Pasos
Resumen Ejecutivo
Recorder integra flujos de OpenClaw a través de un adaptador de ingestión impulsado por un dispositivo determinista en system-tests. La integración registra eventos del agente de OpenClaw como sobres de Recorder utilizando una política de mapeo versionada, manejo explícito de brechas de secuencia y validación de fallo cerrado a través de LocalRecorderAdapter.
F:system-tests/tests/suites/integration_openclaw.rs L1-L220
Contrato de Mapeo
Los payloads de eventos de OpenClaw se mapean a los sobres de Recorder con este contrato:
- Mapeo de tipo de evento:
openclaw.<stream>.<phase_or_default>. - Mapping version marker: envelope payload includes
mapping.mapping_version = "openclaw_recorder_v1". - Deterministic IDs: envelope IDs are derived from
IDs deterministas: los IDs de los sobres se derivan de
(run_id, seq, stream, session_key)utilizando un mapeo de forma SHA-256-a-UUIDv7. - Correlación de trazas: OpenClaw
runIdse mapea a Recordertrace_id.
F:system-tests/tests/suites/integration_openclaw.rs L224-L387
Política de Redacción y Carga Limitada
Para reducir el riesgo de divulgación y agotamiento de recursos en evidencia inmutable:
- Sensitive keys are redacted using hash-only summaries under
Las claves sensibles están redactadas utilizando resúmenes solo con hash bajo
openclaw_redaction_v1. - Long strings are truncated at
MAX_STRING_CHARSwith deterministic Las cadenas largas se truncarán enMAX_STRING_CHARScon un resumen de digestión + metadatos de vista previa deterministas. - Oversized JSON payload fragments are bounded at
Los fragmentos de carga útil JSON de gran tamaño están limitados a
MAX_EVENT_DATA_BYTEScon metadatos de resumen deterministas. - Session keys are stored as SHA-256 digests (
session_key_sha256) in Las claves de sesión se almacenan como resúmenes SHA-256 (session_key_sha256) en los metadatos de la carga útil. - Sanitization counters (
redacted_fields,truncated_fields) are stored Los contadores de sanitización (redacted_fields, truncated_fields) se almacenan para la auditabilidad.
F:system-tests/tests/suites/integration_openclaw.rs L62-L100 F:system-tests/tests/suites/integration_openclaw.rs L245-L387 F:system-tests/tests/suites/integration_openclaw.rs L656-L809
Política de Secuencia-Gap
Se implementan y validan dos modos:
record_anomaly: recordopenclaw.integration.sequence_gapenvelope andrecord_anomaly: registrar el sobreopenclaw.integration.sequence_gapy continuar con la ingestión.strict_fail: fallar cerrado inmediatamente en caso de brecha y detener la ingestión.
F:system-tests/tests/suites/integration_openclaw.rs L390-L446 F:system-tests/tests/suites/integration_openclaw.rs L573-L658
Modos de Firma y Verificación
Las pruebas de integración se ejecutan tanto:
- Carril no firmado: válido-con-advertencias (SignatureVerificationSkipped).
- Carril firmado: verificación estricta de la raíz de confianza utilizando TrustPolicy::AllMustSign.
F:system-tests/tests/suites/integration_openclaw.rs L498-L572
Fixture y Cobertura de Pruebas
La cobertura de integración de OpenClaw actualmente incluye:
- Ingesta y verificación del flujo simulado de Gateway.
- Ingesta y verificación del flujo de respaldo estilo CLI.
- Anomalía de brecha de secuencia y comportamientos de fallo estricto.
- Comprobaciones de redacción de campos de herramientas sensibles.
- Comprobaciones de límites del campo del asistente sobredimensionado.
- Comprobaciones de estabilidad de hash de reproducción determinista.
Fixtures:
system-tests/tests/fixtures/openclaw_gateway_mock_events.jsonsystem-tests/tests/fixtures/openclaw_cli_mock_events.json
Entradas del registro: F:system-tests/test_registry.toml L1-L260
Límites Actuales y Próximos Pasos
Límites actuales:
- Mapping is implemented in system-tests harness code, not yet extracted as a El mapeo se implementa en el código del arnés de pruebas del sistema, aún no se ha extraído como un crate de integración de producción.
- Redaction uses key-name policy and deterministic summaries; context-aware La redacción utiliza políticas de nombre clave y resúmenes deterministas; la clasificación de campos consciente del contexto es una extensión futura.
Pasos naturales a seguir:
- Extraer el mapeador en el módulo/crate de tiempo de ejecución
recorder-openclaw-adapter. - Agregar corpus de fixture para flujos de caos de tiempo de espera/reemplazo de OpenClaw.
- Agregar elementos de política para perfiles de redacción de lista de permitidos/prohibidos explícitos.