Documentos de Decision Gate

Evaluación de puertas determinista, reproducible con decisiones auditables.

Documentación de Asset Core

Referencia de Arquitectura de Validación de Comparadores

Resumen

Decision Gate impone la corrección del comparador en tres capas:

  1. Typed import-time synthesis for OpenAPI typed providers derives allowed_comparators from normalized result schemas using the strict type-class matrix and canonical comparator ordering. F:crates/decision-gate-typed/src/openapi/check_synthesis.rs L34-L109 F:crates/decision-gate-typed/src/openapi/comparator_derivation.rs L52-L134
  2. Authoring-time strict validation (default-on) in the MCP layer rejects invalid comparator/type combinations before a scenario or precheck runs. F:crates/decision-gate-mcp/src/validation.rs L36-L673 F:crates/decision-gate-mcp/src/tools/router.rs L3173-L3241 F:crates/decision-gate-mcp/src/tools/router.rs L3808-L3887
  3. Runtime comparator evaluation in the core returns tri-state results and yields Unknown when evidence types do not match expectations. 2) La evaluación del comparador en tiempo de ejecución en el núcleo devuelve resultados de tres estados y produce Desconocido cuando los tipos de evidencia no coinciden con las expectativas. F:crates/decision-gate-core/src/runtime/comparator.rs L39-L259

El validador estricto es el guardián; la lógica de tiempo de ejecución es la última línea de comportamiento de fallo cerrado. F:crates/decision-gate-mcp/src/validation.rs L36-L170 F:crates/decision-gate-core/src/runtime/comparator.rs L39-L197

Mapa de Fuente de Verdad

ÁreaArchivoNotas
Comparator enum + EvidenceQueryF:crates/decision-gate-core/src/core/evidence.rs L32-L90Lista canónica de comparadores y forma de consulta.
Sintetización de comparadores OpenAPI tipadosF:crates/decision-gate-typed/src/openapi/check_synthesis.rs L34-L109 F:crates/decision-gate-typed/src/openapi/comparator_derivation.rs L52-L134Deriva listas permitidas de comparadores de verificación a partir de esquemas de resultados normalizados.
Semántica de comparadores en tiempo de ejecuciónF:crates/decision-gate-core/src/runtime/comparator.rs L39-L308Ordenamiento consciente de decimales, comportamiento léxico/profundo, desconocido en caso de discrepancia.
Motor de validación estrictoF:crates/decision-gate-mcp/src/validation.rs L36-L673Matriz de clases de tipo, análisis de esquemas, sobrescrituras de dominio.
Integración de herramientas MCPF:crates/decision-gate-mcp/src/tools/router.rs L3173-L3241 F:crates/decision-gate-mcp/src/tools/router.rs L3808-L3887scenario_define + precheck invocan validación estricta.
Superficie de configuración de validaciónF:crates/decision-gate-config/src/config.rs L1469-L1521Interruptores de ValidationConfig e identificadores de perfil.
Esquemas de contratoF:crates/decision-gate-contract/src/schemas.rs L1105-L1129Esquema de comparador y anotaciones.
Tooltips/docsF:crates/decision-gate-contract/src/tooltips.rs L260-L296Comportamiento de comparador y validación orientado al público.
Documentos generadosF:Docs/generated/decision-gate/tooling.md L1-L42 F:Docs/generated/decision-gate/tooltips.json L1-L80Regenerados después de actualizaciones de esquema/tooltips.
Pruebas de validación MCPF:crates/decision-gate-mcp/tests/validation.rs L1-L220Cobertura de unidad para modo estricto.
Pruebas del sistemaF:system-tests/tests/suites/validation.rs L1-L220Comportamiento de validación de extremo a extremo.

Validación de la tubería (MCP)

Definición de escenario (scenario_define)

Precheck (precheck tool)

Reglas de Validación Estrictas (Resumen de Implementación)

Compatibilidad de clases de tipo

Familias de comparadores opcionales

Sobrescrituras de dominio

  • x-decision-gate.allowed_comparators restricts allowed comparators to a subset of the type-class matrix. x-decision-gate.allowed_comparators restringe los comparadores permitidos a un subconjunto de la matriz de tipo-clase. F:crates/decision-gate-mcp/src/validation.rs L537-L585
  • x-decision-gate.dynamic_type = true treats the schema as dynamic (no declared type) and allows comparator validation to proceed without a type restriction, subject to config toggles. x-decision-gate.dynamic_type = true trata el esquema como dinámico (sin tipo declarado) y permite que la validación del comparador continúe sin una restricción de tipo, sujeto a los interruptores de configuración. F:crates/decision-gate-mcp/src/validation.rs L400-L414

Manejo de uniones

Semántica del Comparador en Tiempo de Ejecución (Núcleo)

Superficie de Configuración

Alineación de Contratos + Documentos

Lista de Verificación de Cambios

  1. Update comparator semantics in crates/decision-gate-core/src/runtime/comparator.rs.
    1. Actualizar la semántica del comparador en crates/decision-gate-core/src/runtime/comparator.rs. F:crates/decision-gate-core/src/runtime/comparator.rs L39-L308
  2. Update strict validation logic in crates/decision-gate-mcp/src/validation.rs. 2) Actualizar la lógica de validación estricta en crates/decision-gate-mcp/src/validation.rs. F:crates/decision-gate-mcp/src/validation.rs L36-L673
  3. Update config toggles in crates/decision-gate-config/src/config.rs if needed. 3) Actualizar los toggles de configuración en crates/decision-gate-config/src/config.rs si es necesario. F:crates/decision-gate-config/src/config.rs L1469-L1521
  4. Align schemas/tooltips in crates/decision-gate-contract/src/schemas.rs and crates/decision-gate-contract/src/tooltips.rs. F:crates/decision-gate-contract/src/schemas.rs L1105-L1129 F:crates/decision-gate-contract/src/tooltips.rs L260-L296
  5. Regenerate Docs/generated/decision-gate/ artifacts. 5) Regenerar los artefactos en Docs/generated/decision-gate/. F:Docs/generated/decision-gate/tooling.md L1-L42
  6. Update unit + system tests. F:crates/decision-gate-mcp/tests/validation.rs L1-L220 F:system-tests/tests/suites/validation.rs L1-L220