Resultado de la lección: diseñar una salida segura cuando el mundo real no coopera.
Catálogo de fallos
- entrada vacía o inválida;
- timeout;
- proveedor no disponible;
- costo excedido;
- contexto perdido;
- salida insegura;
- revisión rechazada;
- usuario abandona;
- acto ya ejecutado;
- estado externo no verificable.
Estados explícitos
Evita “procesando” eterno. Usa:
pendiente → ejecutando → revisión → aprobado → enviado
y:
bloqueado | falló | requiere_humano | detenido
Cada estado responde:
- qué ocurrió;
- qué se conserva;
- quién actúa;
- cómo reintenta;
- cómo evita duplicar.
Tres recuperaciones
- Retry: repetir de forma segura.
- Rollback: volver a estado anterior.
- Takeover: una persona continúa con contexto y evidencia.
Verificar antes de afirmar
No declares “publicado”, “presentado”, “pagado” o “vigente” por ausencia de error. Comprueba el estado en la fuente autoritativa y guarda fecha/comprobante.
Misión
Provoca dos fallos controlados:
- una dependencia caída;
- un rechazo humano.
Documenta la recuperación y actualiza la receta.
Prompt de pre-mortem
Haz un pre-mortem operativo de este camino.
Supón que falló en producción sin avisar. Propón causas observables,
estados silenciosos, señales tempranas, acciones fail-closed, retry,
rollback, takeover y evidencia de recuperación.
Prioriza daños a personas y actos duplicados.
Evidencia
Plan de recuperación y video/log de un fallo resuelto.
Pase
El fallo no se convierte en una mentira de éxito ni destruye la capacidad de continuar manualmente.