Saltar a contenido

ADR-003: Operación offline-first

Fecha: 2026-05-11 Estado: aceptado Decisión: SmallCountry tratará internet como un complemento, no como un requisito. La operación normal del sistema será en modo local. Los servicios nunca dependerán directamente de APIs externas. Toda dependencia externa se gestionará a través de intermediarios que cachean datos localmente.

Contexto: SmallCountry opera en un entorno rural con conectividad intermitente (Garganta la Olla, La Vera). La finca debe seguir funcionando aunque internet desaparezca durante horas o días. Además, la dependencia de servicios externos introduce riesgos: cambios de API (interfaz de programación), revocación de tokens, caídas de proveedores, cambios de términos de servicio. La soberanía real exige que el sistema funcione sin nadie más.

Alternativas consideradas:

Alternativa Ventajas Por qué se descartó
Cloud-first con caché local Más fácil integrar APIs externas Dependencia estructural de conectividad. Un apagón de internet deja el sistema inoperativo
Totalmente aislado (nunca internet) Soberanía absoluta Renuncia a datos útiles: meteorología, precios, biodiversidad, literatura científica. El sistema se empobrece
Híbrido con failover automático Lo mejor de ambos mundos Complejidad adicional. Los modos de failover hay que probarlos. El sistema debe funcionar en modo local por defecto, no como plan B

Consecuencias:

  • ✅ Autonomía real: la finca funciona sin internet. La conectividad es aprovisionamiento voluntario
  • ✅ Resiliencia ante fallos externos: un cambio de API (interfaz de programación) de un tercero no rompe nada interno
  • ✅ Soberanía de datos: los datos externos se cachean, no se dependen en caliente
  • ❌ Mayor complejidad de integración: cada fuente externa necesita un intermediario (n8n, Node-RED)
  • ❌ Datos potencialmente desactualizados: si el cache no se actualiza, los datos caducan
  • ❌ Requiere contratos de datos: cada fuente externa debe declarar su esquema, frecuencia y validación

Referencias: - Principio 7: Soberanía operativa - Mecanismo 4: Nivel 0 y Espejo Local - Mecanismo 5: Contratos de Datos