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ó.
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ándogit log -S "unfair-credit-exclusion" # primer commit que introdujo ese riesgoEsta 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.
Procedencia por riesgo
Sección titulada «Procedencia por riesgo»Cada riesgo en el AssuranceProgram lleva un campo provenance que clasifica su origen:
| Valor | Significado |
|---|---|
declared | El operador lo identificó directamente y lo añadió al registro |
proposed_by_kag | El KAG lo propuso en una ejecución de sei assess; el operador lo aceptó y commitió |
derived_from_gap | El 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 como proponedor recurrente
Sección titulada «El KAG como proponedor recurrente»El KAG (Knowledge Assessment Graph) actúa como proponedor recurrente de riesgos no declarados. Se invoca mediante sei assess:
sei assess # el KAG analiza el bundle y propone riesgos candidatosLos triggers que activan una invocación del KAG son:
- Deriva detectada —
sei statusreporta un artefactoSTALE - 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 assessen 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:
- El KAG, invocado por
sei assess, detecta que el grupo de edad>60tiene una tasa de aprobación significativamente diferente al resto. - El KAG propone el riesgo
age_discriminationcon procedenciaproposed_by_kag. - El operador revisa la propuesta, la acepta, y ejecuta:
# Añadir el riesgo a la sección risk: de sei.yamlgit add sei.yamlgit commit -m "risk(loan): añadir riesgo age_discrimination (propuesto por KAG)"- El nuevo riesgo activa una nueva iteración del ciclo ISO 23894: identificación → análisis → evaluación → tratamiento → residual.
sei reconstructpuede 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.
Compilación del AssuranceProgram
Sección titulada «Compilación del AssuranceProgram»El AssuranceProgram completo (riesgos + análisis + evidencia) se compila en el bundle firmado mediante:
sei compile # lee la sección risk: de sei.yaml y genera el OSCAL assessment_plansei 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.