Documentos del Grabador

Documentación de grabación de pruebas y evidencia a prueba de manipulaciones.

Otros documentos del producto

Arquitectura de Integración de Puerta de Decisión del Grabador

Audience: Engineers implementing or validating Decision Gate to Recorder acoplamiento.


Tabla de Contenidos

  1. Resumen Ejecutivo
  2. Contrato de Mapeo
  3. Política de Integridad de Runpack
  4. Política de Redacción y Transcripción Limitada
  5. Modos de Firma y Verificación
  6. Fixture y Cobertura de Pruebas
  7. Límites Actuales y Próximos Pasos

Resumen Ejecutivo

Recorder integra flujos de trabajo de Decision Gate a través de un crate de adaptador de producción: recorder-decision-gate-adapter. El adaptador ingiere fixtures de flujo de ejecución MCP de Decision Gate canónicos y registra sobres deterministas de Recorder a través del límite RecorderAdapter.

La suite de pruebas del sistema ahora es un validador de función de forzado para este crate de producción, no la ubicación de la lógica del mapeador.

Contrato de artefacto de mapeo generado normativamente:

F:crates/recorder-decision-gate-adapter/src/adapter.rs L1-L260 F:system-tests/tests/suites/integration_decision_gate.rs L1-L180


Contrato de Mapeo

Las entradas de transcripción de Decision Gate se asignan a los sobres de Recorder con este contrato:

  • Event type mapping: decision_gate.mcp.<tool_name> for tools/call Mapeo de tipo de evento: decision_gate.mcp.<tool_name> para entradas de tools/call; las entradas RPC que no son herramientas se mapean como decision_gate.rpc.<method>.
  • Mapping version marker: envelope payload includes mapping.mapping_version = "decision_gate_recorder_v1" and mapping.redaction_policy_version = "decision_gate_redaction_v1".
  • Deterministic IDs: envelope IDs are derived from (fixture_id, sequence, method, tool_name) using SHA-256-to-UUIDv7-shape IDs deterministas: los IDs de los sobres se derivan de (fixture_id, sequence, method, tool_name) utilizando un mapeo de forma SHA-256 a UUIDv7.
  • Correlación de trazas: El run_id de la Puerta de Decisión se mapea al trace_id del Grabador.

F:crates/recorder-decision-gate-adapter/src/adapter.rs L226-L585 F:crates/recorder-decision-gate-adapter/src/policy.rs L1-L86


Política de Integridad de Runpack

Se implementan y validan dos modos de integridad de runpack:

  • record_anomaly: when runpack_export root-hash data diverges from fixture manifest expectations, record record_anomaly: cuando los datos de hash raíz de runpack_export divergen de las expectativas del manifiesto de fixture, registrar decision_gate.integration.runpack_integrity_mismatch y continuar con la ingestión.
  • strict_fail: fallar cerrado en caso de desajuste y detener la ingestión inmediatamente.

La política actualmente valida:

  • fixture runpack manifest self-integrity by recomputing root hash from el manifiesto de ejecución de fixture verifica su integridad al recomputar el hash raíz desde integrity.file_hashes,
  • runpack_export paridad del hash raíz contra el manifiesto de fixture,
  • runpack_verify estado y paridad del conteo de archivos verificados.

F:crates/recorder-decision-gate-adapter/src/adapter.rs L105-L724 F:system-tests/tests/suites/integration_decision_gate.rs L380-L672


Política de Redacción y Transcripción Limitada

Para reducir el riesgo de divulgación y agotamiento de recursos en evidencia inmutable:

  • Sensitive keys are redacted using deterministic hash-only summaries under Las claves sensibles están redactadas utilizando resúmenes de hash determinista únicamente bajo decision_gate_redaction_v1.
  • Long strings are truncated at policy max_string_chars with deterministic Las cadenas largas se truncarán en la política max_string_chars con un resumen de digestión + metadatos de vista previa deterministas.
  • Oversized JSON fragments are bounded at policy max_event_data_bytes with Los fragmentos de JSON de gran tamaño están limitados por la política max_event_data_bytes con metadatos de resumen determinísticos.
  • Sanitization counters (redacted_fields, truncated_fields) are stored Los contadores de sanitización (redacted_fields, truncated_fields) se almacenan para la auditabilidad.

F:crates/recorder-decision-gate-adapter/src/policy.rs L24-L73 F:crates/recorder-decision-gate-adapter/src/adapter.rs L382-L523 F:system-tests/tests/suites/integration_decision_gate.rs L658-L786


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_decision_gate.rs L576-L671


Fixture y Cobertura de Pruebas

La cobertura de integración de Decision Gate actualmente incluye:

  • Ingesta y verificación del flujo de runpack MCP canónico.
  • Carriles de verificación firmados y no firmados.
  • Anomalía de desajuste de hash raíz de Runpack y comportamiento de fallo estricto.
  • Ejecutar la verificación de auto-integridad del manifiesto de Runpack y el comportamiento de fallo estricto.
  • Comprobaciones de redacción de campos de transcripción sensibles.
  • Comprobaciones de límites de campo de transcripción sobredimensionados.
  • Comprobaciones de estabilidad de hash de reproducción determinista.

Fixture:

  • system-tests/tests/fixtures/decision_gate_runpack_mock_flow.json

Entradas del registro: F:system-tests/test_registry.toml L1-L320


Límites Actuales y Próximos Pasos

Límites actuales:

  • Adapter currently ingests deterministic fixture-shaped Decision Gate flow El adaptador actualmente ingiere datos de flujo del Decision Gate con forma de fixture determinista y aún no ingiere flujos de transporte MCP en vivo directamente.
  • Runpack mismatch policy currently checks exported root hash + verify report parity from transcript fixtures; it does not yet import full runpack artifact directorios para la validación cruzada en Recorder.

Pasos naturales a seguir:

  1. Agregar corpus de fixture para variantes de arnés agentivo y carriles de política de anclaje.
  2. Add strict contract fixtures for scenario_next and scenario_submit Agregar elementos de contrato estrictos para las divulgaciones de scenario_next y scenario_submit.
  3. Define Decision Gate-owned versioned schema for transcript/runpack fixture Definir el esquema versionado de propiedad de Decision Gate para el fixture de transcripción/runpack para reducir el riesgo de desviación del contrato.