Integració de l’Arquitectura de la Porta de Decisió
Audience: Engineers implementing or validating Decision Gate to Recorder acoblament.
Taula de continguts
- Visió Executiva
- Mapping Contract
- Política d’Integritat de Runpack
- Política de Redacció i Transcripció Limitada
- Modes de signatura i verificació
- Fixture i Cobertura de Proves
- Limits actuals i pròxims passos
Executive Overview
Recorder integra fluxos de treball de Decision Gate a través d’un adaptador de producció crate: recorder-decision-gate-adapter. L’adaptador ingereix fixtures de flux de runpack MCP de Decision Gate canònics i registra sobres deterministes de Recorder a través de la frontera RecorderAdapter.
La suite de proves del sistema és ara un validador de funció de força per a aquest contenidor de producció, no la ubicació de la lògica del mapeig.
Artifact de contracte de mapeig generat per normativa:
F:crates/recorder-decision-gate-adapter/src/adapter.rs L1-L260 F:system-tests/tests/suites/integration_decision_gate.rs L1-L180
Mapping Contract
Les entrades de transcripció de Decision Gate es mapegen a sobres de Recorder amb aquest contracte:
- Event type mapping:
decision_gate.mcp.<tool_name>fortools/callMappatge del tipus d’esdeveniment:decision_gate.mcp.<tool_name>per a les entradestools/call; les entrades RPC que no són d’eina es mapejen comdecision_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 deterministes: els IDs d’envelopa es deriven de(fixture_id, sequence, method, tool_name)utilitzant el mapeig SHA-256-to-UUIDv7-shape. - Traçabilitat de correlació: La
run_idde la Decision Gate es mapeja altrace_iddel Recorder.
F:crates/recorder-decision-gate-adapter/src/adapter.rs L226-L585 F:crates/recorder-decision-gate-adapter/src/policy.rs L1-L86
Política d’Integritat de Runpack
Dos modes d’integritat de runpack estan implementats i validades:
record_anomaly: whenrunpack_exportroot-hash data diverges from fixture manifest expectations, recordrecord_anomaly: quan les dades del hash arrel derunpack_exportdivergeixen de les expectatives del manifest de fixture, registrardecision_gate.integration.runpack_integrity_mismatchi continuar amb la ingestió.strict_fail: fallar tancat en cas de discrepància i aturar la ingestió immediatament.
La política actual valida:
- fixture runpack manifest self-integrity by recomputing root hash from
el manifest de descompactació de fixture valida la integritat pròpia recomputant el hash arrel de
integrity.file_hashes, runpack_exportparitat del hash arrel contra el manifest de fixture,runpack_verifyestat i paritat del recompte de fitxers verificats.
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ó i Transcripció Limitada
Per reduir el risc de divulgació i d’esgotament de recursos en proves immutables:
- Sensitive keys are redacted using deterministic hash-only summaries under
Les claus sensibles són redactades utilitzant resums només de hash determinístic sota
decision_gate_redaction_v1. - Long strings are truncated at policy
max_string_charswith deterministic Les cadenes llargues es truncaran a la políticamax_string_charsamb un resum determinista i metadades de vista prèvia. - Oversized JSON fragments are bounded at policy
max_event_data_byteswith Els fragments JSON de mida excessiva estan limitats per la políticamax_event_data_bytesamb metadades de resum deterministes. - Sanitization counters (
redacted_fields,truncated_fields) are stored Els comptadors de sanitització (redacted_fields, truncated_fields) es guarden per a l’auditoria.
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
Modes de Signatura i Verificació
Les proves d’integració s’executen tant:
- Unsigned lane: vàlid-amb-advertències (SignatureVerificationSkipped).
- Signed lane: verificació estricta de la confiança arrel mitjançant TrustPolicy::AllMustSign.
F:system-tests/tests/suites/integration_decision_gate.rs L576-L671
Fixture i Cobertura de Proves
La cobertura d’integració de Decision Gate actualment inclou:
- Ingesta i verificació del flux de runpack MCP canònic.
- Vials de verificació signades i no signades.
- Anomalia de desajustament de hash de root de Runpack i comportament de fallada estricta.
- Anomalia d’auto-integritat del manifest de Runpack i comportament de fallada estricta.
- Comprovacions de redacció de camps de transcripció sensibles.
- Comprovacions de delimitació de camps de transcripció de mida excessiva.
- Comprovacions de stabilitat del hash de reproducció determinista.
Fixture:
system-tests/tests/fixtures/decision_gate_runpack_mock_flow.json
Entrades del registre: F:system-tests/test_registry.toml L1-L320
Límits Actuals i Properes Passes
Límits actuals:
- Adapter currently ingests deterministic fixture-shaped Decision Gate flow L’adaptador actualment ingereix dades de flux de Decision Gate en forma de fixture determinista i encara no ingereix directament fluxos de transport MCP en viu.
- Runpack mismatch policy currently checks exported root hash + verify report parity from transcript fixtures; it does not yet import full runpack artifact directoris per a la validació creuada a Recorder.
Passos següents naturals:
- Afegir corpus de fixtures per a variants de harness agentic i carrils de política d’ancoratge.
- Add strict contract fixtures for
scenario_nextandscenario_submitAfegir fixtures de contracte estrictes per a les divulgacionsscenario_nextiscenario_submit. - Define Decision Gate-owned versioned schema for transcript/runpack fixture Definir un esquema versionat propietat de Decision Gate per al fixture de transcripció/runpack per reduir el risc de desviació del contracte.