Especificación de Controles
La Especificación de Controles define el contrato que todo control —integrado o personalizado— debe cumplir. Todos los contratos se expresan como modelos Pydantic, no YAML.
Flujo de datos
NimbusGuardResource → EvaluationInput → ControlOutcome → EvaluationResult
- NimbusGuardResource —
id,provider,resource_type,region,configuration{},tags{}. - ControlOutcome — lo que devuelve un control:
status,message,evidence. - EvaluationResult — lo que emite el Motor por cada par recurso/control.
Puertas del dispatcher
Antes de correr la lógica del control, el dispatcher aplica dos puertas:
- El tipo de recurso no matchea el control → NOT_APPLICABLE.
- Faltan campos requeridos → NOT_EVALUATED.
:::danger Invariante crítico
NOT_EVALUATED y ERROR nunca deben convertirse silenciosamente en PASS.
:::
:::warning Placeholder ⚠️ Agrega la referencia completa campo por campo de cada modelo y la lista de campos requeridos por categoría de control. :::