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 dos capas:

  1. 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.rs L2027-L2050 F:crates/decision-gate-mcp/src/tools.rs L2663-L2707
  2. 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
Enum de comparador + EvidenceQueryF:crates/decision-gate-core/src/core/evidence.rs L32-L90Lista canónica de comparadores y forma de consulta.
Semántica del comparador en tiempo de ejecuciónF:crates/decision-gate-core/src/runtime/comparator.rs L39-L308Ordenación consciente de decimales, comportamiento lex/deep, desconocido en caso de desajuste.
Motor de validación estrictaF:crates/decision-gate-mcp/src/validation.rs L36-L673Matriz de clases de tipo, análisis de esquema, sobrescrituras de dominio.
Integración de herramientas MCPF:crates/decision-gate-mcp/src/tools.rs L2027-L2050 F:crates/decision-gate-mcp/src/tools.rs L2663-L2707scenario_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.
Documentación generadaF:Docs/generated/decision-gate/tooling.md L1-L42 F:Docs/generated/decision-gate/tooltips.json L1-L80Regenerada 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