MACGUARD · DOCUMENTACIÓN
English

Cuarentena

Qué ocurre con las reglas que no pasan, y cómo se decide su destino.

Idea

Lo que pasa las pruebas se publica automáticamente. Lo que no pasa va a cuarentena y una persona decide: aprobar su despliegue, eliminarla o mantenerla. En la siguiente ejecución diaria el pipeline lee esa decisión y actúa: publica la regla, la elimina o la deja en cuarentena. Aprobar nunca salta los controles técnicos: la regla se vuelve a validar.

Diagrama: Estados de la cuarentena

Dibujando el diagrama…

Descripción del diagrama

Estados guardados por el servicio privado. Un candidato en cuarentena entra como PENDING. Una persona puede ponerlo en UNDER_REVIEW, aprobarlo (APPROVED_PENDING_VALIDATION) o rechazarlo. Solo publish.yml pasa una regla aprobada a RELEASED, cuando los controles técnicos se han superado de nuevo; si la revalidación falla vuelve a PENDING. REJECTED es definitivo para ese contenido.

Código Mermaid
stateDiagram-v2
  [*] --> PENDING: pipeline submits a quarantined file
  PENDING --> UNDER_REVIEW: reviewer holds it
  PENDING --> APPROVED_PENDING_VALIDATION: approve
  UNDER_REVIEW --> APPROVED_PENDING_VALIDATION: approve
  PENDING --> REJECTED: delete
  UNDER_REVIEW --> REJECTED: delete
  APPROVED_PENDING_VALIDATION --> REJECTED: delete
  APPROVED_PENDING_VALIDATION --> UNDER_REVIEW: hold, takes the approval back
  APPROVED_PENDING_VALIDATION --> RELEASED: publish.yml after the checks pass again
  APPROVED_PENDING_VALIDATION --> PENDING: revalidation failed
  RELEASED --> PENDING: revalidation failed later
  REJECTED --> [*]
EstadoSignificado
PENDINGEntró en cuarentena; espera revisión.
UNDER_REVIEWUna persona lo ha marcado como en revisión.
APPROVED_PENDING_VALIDATIONAprobada; falta que publish.yml la valide de nuevo.
REJECTEDEliminada; ese contenido no vuelve. Una versión editada es un candidato nuevo enlazado.
RELEASEDPublicada en una release.

Qué sale al público

Los detalles de reglas en cuarentena o rechazadas (nombres, hallazgos, contenido) viajan solo al servicio privado. Los artefactos, el registro y el sitio públicos llevan únicamente recuentos. Un fichero que no está en el manifiesto no aparece en ninguna parte pública.

ACTUAL Persistencia y panel: implementados y probados en local; el servicio no está desplegado en producción (ver Panel privado). Mientras no lo esté, la cuarentena se calcula en cada ejecución y no hay decisión humana que leer.