source_sha256 en data/generated/site_state.json incluye la ruta absoluta del checkout (sourceDigest hashea path+contenido), así que difiere entre el checkout donde se commiteó y el checkout de un job de CI en otra ruta, aunque el contenido sea idéntico. El job validate-and-build ya corría sync antes de validate en el mismo checkout; el job runme no, y por eso runme-check fallaba con generated_state_stale. Reproducido localmente clonando a otra ruta antes de aplicar el fix, y confirmado limpio después. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>