Ir al contenido

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).


  • sei compilado (Instalación).
  • uv (Python ≥ 3.11) y dvc ≥ 3 instalados 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:

Terminal
cargo test -p seigarrena-cli --test scenarios loan -- --nocapture

El 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.


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.

  1. Compile el programa de riesgos a OSCAL

    Terminal
    sei compile

    Convierte el programa de riesgos — la sección risk: de sei.yaml (5 riesgos, 16 medidas, Art. 9) — en el plan de evaluación OSCAL (10 controles ex-ante). Escribe el fichero declarado en oscal.assessment_plan del sei.yaml.

  2. Ejecute V1 — gate rojo

    Terminal
    sei run

    sei run invoca dvc repro (pipeline featurize → evaluate), mide los 10 controles ex-ante con venturalitica-sdk y aplica el gate de riesgo. Produce .sei/bundle.json (firmado) y sei.lock.

    El control bloqueante unfair-credit-exclusion falla: el disparate impact de género mide por encima del umbral 0.03 (EU AI Act Art. 10; DORA Art. 6). sei run devuelve exit ≠ 0. El bundle queda igualmente firmado y anclado.

  3. Explore el candidato de tratamiento (sin commitear)

    Terminal
    cp train_mitigated.py train.py
    dvc exp run
    dvc exp show

    dvc exp run ejecuta V2 (mitigación ExponentiatedGradient + DemographicParity) como un experimento DVC sin commitear. dvc exp show compara la métrica del candidato con el baseline V1 y confirma que el disparate impact cerraría el gate.

  4. Commitee el tratamiento (V2)

    Terminal
    git add train.py
    git 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 reconstruct puede atribuir el arco FALLA→PASA. Solo train.py cambia; featurize.py, los datos y la clasificación se reusan (deriva clase B, Art. 15).

  5. Ejecute V2 — gate verde

    Terminal
    sei run

    dvc repro detecta que train.py (dep de la fase evaluate) cambió, recomputa solo esa fase y produce el nuevo metrics.json y dvc.lock. El control unfair-credit-exclusion pasa (disparate impact ≈ 0.015 < 0.03). sei run devuelve exit 0.

  6. Proyecte la conformidad sobre los estándares aplicables

    Terminal
    sei conformance

    El 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).

  7. 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 reconstruct lo recoge como aprobación ISO 42001 §6.1.3.

  8. Reconstruya el ciclo de tratamiento

    Terminal
    sei reconstruct --out

    Replay 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).

  9. 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.json firmado.


ArtefactoProducido porContenido
.sei/bundle.json + .sigsei runEvidencia firmada (controles, tratamientos, risk analysis, dvc.lock)
sei.locksei runAncla de frescura (hashes de fases del pipeline)
.sei/conformance/*.json + .sigsei conformance --outInformes de conformidad por estándar (prEN 18228, ISO 23894)
.sei/reconstruct.json + .sigsei reconstruct --outCiclo 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.