Arquitectura de Integración de Puerta de Decisión del Grabador
Audience: Engineers implementing or validating Decision Gate to Recorder acoplamiento.
Tabla de Contenidos
- Resumen Ejecutivo
- Contrato de Mapeo
- Política de Integridad de Runpack
- Política de Redacción y Transcripción Limitada
- Modos de Firma y Verificación
- Fixture y Cobertura de Pruebas
- 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>fortools/callMapeo de tipo de evento:decision_gate.mcp.<tool_name>para entradas detools/call; las entradas RPC que no son herramientas se mapean comodecision_gate.rpc.<method>. - Mapping version marker: envelope payload includes
mapping.mapping_version = "decision_gate_recorder_v1"andmapping.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_idde la Puerta de Decisión se mapea altrace_iddel 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: whenrunpack_exportroot-hash data diverges from fixture manifest expectations, recordrecord_anomaly: cuando los datos de hash raíz derunpack_exportdivergen de las expectativas del manifiesto de fixture, registrardecision_gate.integration.runpack_integrity_mismatchy 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_exportparidad del hash raíz contra el manifiesto de fixture,runpack_verifyestado 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_charswith deterministic Las cadenas largas se truncarán en la políticamax_string_charscon un resumen de digestión + metadatos de vista previa deterministas. - Oversized JSON fragments are bounded at policy
max_event_data_byteswith Los fragmentos de JSON de gran tamaño están limitados por la políticamax_event_data_bytescon 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:
- Agregar corpus de fixture para variantes de arnés agentivo y carriles de política de anclaje.
- Add strict contract fixtures for
scenario_nextandscenario_submitAgregar elementos de contrato estrictos para las divulgaciones descenario_nextyscenario_submit. - 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.