- Modo journal WAL activado (busy_timeout y autocheckpoint configurados) para mejorar concurrencia y rendimiento.
- Modo journal WAL activado (busy_timeout y autocheckpoint configurados) para mejorar concurrencia y rendimiento.
- Migrador up-only con tabla schema_migrations; backup automático con VACUUM INTO; baseline si existe esquema previo.
- Migrador up-only con tabla schema_migrations; FK siempre ON al abrir; backup automático con VACUUM INTO; sin baseline por defecto; validación de checksum; log persistente en data/migrations.log; resumen de estado al arrancar.
- Cola de respuestas
- Cola de respuestas
- Persistente con workers en background, reintentos con backoff exponencial + jitter, recuperación de items processing tras reinicios, y limpieza/retención.
- Persistente con workers en background, reintentos con backoff exponencial + jitter, recuperación de items processing tras reinicios, y limpieza/retención.
- 2xx=sent, 4xx=failed definitivo, 5xx/red=reintento; evita enviar al propio bot.
- 2xx=sent, 4xx=failed definitivo, 5xx/red=reintento; evita enviar al propio bot.
@ -78,6 +78,7 @@ Estado general: listo para piloto con la junta directiva; 170 tests pasando. Rie
## Notas de despliegue/operación
## Notas de despliegue/operación
- SQLite en modo WAL; backups consistentes con VACUUM INTO previo; tener en cuenta archivos -wal y -shm.
- SQLite en modo WAL; backups consistentes con VACUUM INTO previo; tener en cuenta archivos -wal y -shm.
- Log persistente de migraciones en data/migrations.log (una línea por evento, formato JSONL); revisar en despliegues.
- Persistencia en data/; mapear a volumen y monitorizar tamaño; ejecutar VACUUM periódicamente si procede.
- Persistencia en data/; mapear a volumen y monitorizar tamaño; ejecutar VACUUM periódicamente si procede.
- Rotación de logs vía orquestador; considerar niveles/etiquetas para búsquedas.
- Rotación de logs vía orquestador; considerar niveles/etiquetas para búsquedas.