Ir al contenido

El AssuranceProgram vivo

El AssuranceProgram no es un documento que se redacta al inicio y se archiva. Es un registro vivo que crece durante el desarrollo, siguiendo el mandato de identificación continua de riesgos de la ISO 23894 §6.4.2.


git blame como registro de auditoría de identificación

Sección titulada «git blame como registro de auditoría de identificación»

En Venturalítica, el AssuranceProgram no es un fichero aparte: vive inline en sei.yaml, en la sección risk: (junto a context: y system.potential_misuses). Cada riesgo que se añade al registro es un cambio versionado a ese fichero: tiene un autor, una fecha y un mensaje de commit que explica por qué se identificó.

Auditar la historia de identificación de riesgos
git log --follow -p sei.yaml # historia completa del manifiesto, incluida la sección risk:
git blame sei.yaml # quién añadió cada riesgo y cuándo
git log -S "unfair-credit-exclusion" # primer commit que introdujo ese riesgo

Esta trazabilidad satisface el requisito de identificación continua de la ISO 23894 §6.4.2 sin ninguna infraestructura adicional. La pregunta “¿quién identificó este riesgo y cuándo?” tiene respuesta exacta en el historial git.


Cada riesgo en el AssuranceProgram lleva un campo provenance que clasifica su origen:

ValorSignificado
declaredEl operador lo identificó directamente y lo añadió al registro
proposed_by_kagEl KAG lo propuso en una ejecución de sei assess; el operador lo aceptó y commitió
derived_from_gapEl KAG detectó un gap de datos (EU AI Act Art. 10(5)) y lo propagó como riesgo de sesgo

La procedencia no afecta al tratamiento del riesgo: un riesgo proposed_by_kag sigue el mismo ciclo ISO 23894 que uno declared. Su función es de auditoría: permite identificar qué parte del registro proviene de análisis automatizado y qué parte de juicio humano directo.


El KAG (Knowledge Assessment Graph) actúa como proponedor recurrente de riesgos no declarados. Se invoca mediante sei assess:

Invocar el KAG para identificación de riesgos
sei assess # el KAG analiza el bundle y propone riesgos candidatos

Los triggers que activan una invocación del KAG son:

  • Deriva detectadasei status reporta un artefacto STALE
  • Data gap — el KAG detectó insuficiencia estadística (SUBPODERADO) y la propaga como riesgo
  • Ciclo de reporting — revisión periódica de conformidad (EU AI Act Art. 72 para incidentes graves)
  • Invocación directa — el operador ejecuta sei assess en cualquier momento del desarrollo

El KAG es advisory: sus propuestas no se añaden automáticamente al AssuranceProgram. El operador las revisa, las acepta o rechaza, y commitea los cambios. El humano cura; el KAG propone.


El escenario loan_growth: un riesgo emergente

Sección titulada «El escenario loan_growth: un riesgo emergente»

El escenario loan_growth —una variante del escenario loan, no un demostrador independiente— ilustra cómo el AssuranceProgram crece durante el desarrollo. A mitad del ciclo de desarrollo del modelo de crédito, emerge un riesgo de discriminación por edad que no estaba declarado en el registro inicial.

El flujo es:

  1. El KAG, invocado por sei assess, detecta que el grupo de edad >60 tiene una tasa de aprobación significativamente diferente al resto.
  2. El KAG propone el riesgo age_discrimination con procedencia proposed_by_kag.
  3. El operador revisa la propuesta, la acepta, y ejecuta:
Aceptar un riesgo propuesto por el KAG
# Añadir el riesgo a la sección risk: de sei.yaml
git add sei.yaml
git commit -m "risk(loan): añadir riesgo age_discrimination (propuesto por KAG)"
  1. El nuevo riesgo activa una nueva iteración del ciclo ISO 23894: identificación → análisis → evaluación → tratamiento → residual.
  2. sei reconstruct puede reconstruir ese arco desde el commit en que el riesgo apareció (git log -S "age_discrimination" sei.yaml).

Este patrón demuestra que el AssuranceProgram no es un artefacto estático de cumplimiento inicial; es el registro operativo del ciclo de vida de riesgos durante el desarrollo.


El AssuranceProgram completo (riesgos + análisis + evidencia) se compila en el bundle firmado mediante:

Compilar el AssuranceProgram en el bundle
sei compile # lee la sección risk: de sei.yaml y genera el OSCAL assessment_plan
sei run # re-mide y escribe el bundle firmado (.sei/bundle.json)

Consulta la Referencia del CLI sei para el detalle de sei assess y sei compile.