Volver a la wiki

Guardrails del reindex-ws: deps + alertas inmediatas (fix s210)

Descripción

Fix de infraestructura para el cron cron-bib-reindex-ws.sh que resuelve dos deudas críticas del footgun s210 (typescript devDep desapareciendo silenciosamente en reindex):

1. Garantizar devDeps en el workspace (ensure_ws_deps)

Problema: pull_repo hacía git pull pero NO pnpm install. Si el node_modules/ del workspace se reinstalaba sin devDependencies (por cambio de versión de pnpm, limpieza manual, etc.), el módulo typescript (que bib_ast_ts.mjs importa) desaparecía. El modo ts peteaba en ~1 segundo silenciosamente, sin alertas, dejando la Biblioteca en rojo por drift real durante 4 días.

Solución: Nueva función ensure_ws_deps() que:

2. Alertas inmediatas en ERROR (alert_fail)

Problema: El heartbeat de la Biblioteca solo vigilaba la última línea [OK] del log COMPARTIDO. Como wiki/chunks alimenta diariamente el log con [OK], un fallo del modo ts (que corre L+J) quedaba enmascarado tras logs de éxito posteriores.

Solución: Nueva función alert_fail() que:

Refactor: Todas las salidas de error (log ERROR + exit 1) se centralizan ahora en función fail(), que:

Cambios técnicos

Archivo: scripts/cron-bib-reindex-ws.sh

Dependencias asumidas:

Impacto esperado

✅ Antes: Modo ts fallaba silenciosamente 4 días sin alertas visibles ✅ Ahora:

Testing recomendado

  1. Simular pérdida de typescript: rm -rf $WS/node_modules && ./scripts/cron-bib-reindex-ws.sh chunks → debe reinstalar e indicar WARN en el log
  2. Simular fallo del modo (ej. typescript ausente a propósito): verificar que email se dispara en 60s (timeout de curl)
  3. Simular jq ausente: verificar que la función alert_fail es no-op y el reindex continúa

Véase también

Subir