Saltar a contenido

Kit de evidencias (kit-evidencias/v1.1)

La evidencia del checklist se toma durante la revisión, no al final. El cierre produce un paquete verificable que revisa el Peer Review y que respalda el VoBo. El mismo formato lo usan las otras skills de evidencias del laboratorio (Azure DevOps, GCP/GKE, integridad).

Cómo se registra

  1. Cada confirmación que el SCM marca o desmarca se envía al servidor.
  2. El servidor vuelve a evaluar las reglas del ítem con los datos guardados: el navegador no puede declarar un ítem como válido por su cuenta.
  3. Cada cambio agrega una fila a una pestaña append-only de la hoja con quién, cuándo, el valor revisado y un hash encadenado sha256(hashAnterior + contenido).
  4. Al completar el checklist, el servidor revalida todo y, si algo falla, rechaza el cierre y deja evidencia del rechazo. Si todo está bien, genera el paquete en Drive.

Estructura del paquete

<tipo>/<objeto>/<runId>/
├── manifest.json        # datos crudos + sha256 de cada archivo (fuente de verdad)
├── reporte.html         # reporte legible generado desde el manifest
├── reporte.pdf          # el mismo reporte en PDF
├── capturas/
│   ├── validacion-md5.png   # validación de artefactos (obligatoria si hay artefactos)
│   ├── 01-reporte.png       # captura del reporte (opcional)
│   └── NN-<descripcion>.png # capturas adicionales, desde 02
└── adjuntos/            # snapshot de la nota, logs, artefactos
  • tipo: checklist, azure-devops, gcp-gke o integridad.
  • runId: UUID v4 de la ejecución.
  • El manifest incluye la cadena de eventos y un integridadManifest calculado sobre su JSON canónico.

MD5 solo donde corresponde

El MD5 se usa únicamente para los artefactos que valida el SCM (por ejemplo .yaml o .tar del despliegue) contra el MD5 esperado de la nota, y queda con una captura PNG de esa validación. La integridad del paquete (PDF, capturas, notas) es solo SHA-256.

Verificación

  • En Google: verificación del último paquete de una solicitud y de la cadena completa de la hoja.
  • Fuera de Google: verificar.mjs recalcula hashes y tamaños, marca archivos que estén en la carpeta pero no en el manifest y comprueba la cadena y el integridadManifest. Código de salida 0 = íntegro.
  • Probado: detecta un byte cambiado en un archivo, el manifest alterado y un evento de la cadena alterado.

Un solo documento de cierre

El Checklist/VoBo es el único documento de cierre. Los paquetes de otras skills (por ejemplo, la evidencia de un pipeline de Azure DevOps) quedan como evidencia independiente y se referencian desde los ítems del checklist con su integridadManifest. Si alguien altera después uno de esos paquetes, la verificación del checklist lo detecta.