Quickstart
🟡 Parcial — El arco e2e funciona sobre las fixtures del repositorio (Python+DVC); el Anexo IV resultante aún es parcial.
Este quickstart ejecuta el ejemplo loan incluido en el repositorio: un clasificador de crédito de alto riesgo con un control de equidad (disparate impact) cuya primera versión falla el gate y cuyo tratamiento — promovido como commit — lo cierra. El arco materializa el bucle de tratamiento ISO 23894 §6.4–§6.5 con evidencia firmada (ECDSA-P256+DSSE+in-toto).
Requisitos
Sección titulada «Requisitos»seicompilado (Instalación).uv(Python ≥ 3.11) ydvc ≥ 3instalados y en el PATH.- El monorepo clonado localmente.
La vía más rápida: ejecutar el test de integración
Sección titulada «La vía más rápida: ejecutar el test de integración»Los ficheros del proyecto loan viven en crates/seigarrena-cli/tests/resources/loan/. El arnés de integración (crates/seigarrena-cli/tests/scenarios.rs) monta el proyecto en un directorio temporal, inicializa el entorno uv, y ejecuta el arco completo:
cargo test -p seigarrena-cli --test scenarios loan -- --nocaptureEl test verifica todos los pasos del arco (gate rojo → tratamiento → gate verde → conformidad → reconstrucción del ciclo) y falla si cualquier invariante no se cumple. Es la forma canónica de confirmar que la instalación funciona.
El arco manual paso a paso
Sección titulada «El arco manual paso a paso»Los siguientes pasos son exactamente los que ejecuta el test anterior; puede reproducirlos manualmente sobre el directorio crates/seigarrena-cli/tests/resources/loan/ en una copia temporal.
-
Compile el programa de riesgos a OSCAL
Terminal sei compileConvierte el programa de riesgos — la sección
risk:desei.yaml(5 riesgos, 16 medidas, Art. 9) — en el plan de evaluación OSCAL (10 controles ex-ante). Escribe el fichero declarado enoscal.assessment_plandelsei.yaml. -
Ejecute V1 — gate rojo
Terminal sei runsei runinvocadvc repro(pipelinefeaturize → evaluate), mide los 10 controles ex-ante conventuralitica-sdky aplica el gate de riesgo. Produce.sei/bundle.json(firmado) ysei.lock.El control bloqueante
unfair-credit-exclusionfalla: el disparate impact de género mide por encima del umbral 0.03 (EU AI Act Art. 10; DORA Art. 6).sei rundevuelve exit ≠ 0. El bundle queda igualmente firmado y anclado. -
Explore el candidato de tratamiento (sin commitear)
Terminal cp train_mitigated.py train.pydvc exp rundvc exp showdvc exp runejecuta V2 (mitigación ExponentiatedGradient + DemographicParity) como un experimento DVC sin commitear.dvc exp showcompara la métrica del candidato con el baseline V1 y confirma que el disparate impact cerraría el gate. -
Commitee el tratamiento (V2)
Terminal git add train.pygit commit -m "T1: tratamiento — promueve V2 (train.py mitigado, candidato que cierra el gate)"El commit es el tratamiento ISO 23894 §6.5: un cambio versionado al que
sei reconstructpuede atribuir el arco FALLA→PASA. Solotrain.pycambia;featurize.py, los datos y la clasificación se reusan (deriva clase B, Art. 15). -
Ejecute V2 — gate verde
Terminal sei rundvc reprodetecta quetrain.py(dep de la faseevaluate) cambió, recomputa solo esa fase y produce el nuevometrics.jsonydvc.lock. El controlunfair-credit-exclusionpasa (disparate impact ≈ 0.015 < 0.03).sei rundevuelve exit 0. -
Proyecte la conformidad sobre los estándares aplicables
Terminal sei conformanceEl mismo bundle firmado se proyecta sobre los catálogos de cláusulas de prEN 18228 (prioritario) e ISO 23894 y emite un informe por estándar (CUBIERTA / PARCIAL / HUECO por cláusula).
-
Registre la aprobación de dirección
Terminal sei approve --by "Ana García <ana@org>"Crea un commit git vacío con el trailer
Sei-Approved-by:. El acto queda fechado y atribuido;sei reconstructlo recoge como aprobación ISO 42001 §6.1.3. -
Reconstruya el ciclo de tratamiento
Terminal sei reconstruct --outReplay determinista de la historia git del bundle. Produce
.sei/reconstruct.json(firmado): el ciclo completo por riesgo (①identificación → ②análisis → ③evaluación → ④tratamiento → ⑤residual). -
Committee la evidencia firmada
Terminal git add .sei/git commit -m "evidencia: ciclo T1 (bundle firmado + conformidad + reconstrucción)"Depositar la evidencia firmada en el repositorio es el acto que el plano cloud lee para ensamblar y renderizar el Anexo IV (Art. 11). El motor no emite el Anexo IV: lo arma la nube a partir del
bundle.jsonfirmado.
Artefactos producidos
Sección titulada «Artefactos producidos»| Artefacto | Producido por | Contenido |
|---|---|---|
.sei/bundle.json + .sig | sei run | Evidencia firmada (controles, tratamientos, risk analysis, dvc.lock) |
sei.lock | sei run | Ancla de frescura (hashes de fases del pipeline) |
.sei/conformance/*.json + .sig | sei conformance --out | Informes de conformidad por estándar (prEN 18228, ISO 23894) |
.sei/reconstruct.json + .sig | sei reconstruct --out | Ciclo ISO 23894 reconstruido por riesgo |
El Anexo IV (Art. 11) no es un artefacto del motor: lo ensambla y renderiza el plano cloud a partir del bundle.json firmado. Véase Ver el Anexo IV.