Saltar a contenido

📒 El registro de la finca — farmOS y la libreta

Un dictado de voz hecho de pie, con una mano, delante de una colmena, acaba siendo un dato con fecha que se puede consultar dentro de dos años. Esto es cómo funciona por dentro.

Es el sistema que sostiene todo lo que se apunta en El Salto: las colmenas, las gallinas, los árboles y las faenas. Las faenas tienen su propia página —Las faenas del Salto— porque son un flujo completo encima de este registro; aquí está lo de debajo, que es lo que hace que ese flujo se pueda creer.

La idea, en tres frases

  1. El registro es la verdad. Lo que ocurrió se escribe una vez, con su fecha, y no se reescribe.
  2. La ficha es una proyección. «Cómo está hoy» no se guarda: se deduce de los registros. Si la proyección se rompe, se rehace.
  3. El historial es el producto. «Cómo está hoy» es una vista; «cómo estaba el 12 de marzo» es la misma consulta con otra fecha. Sin historial solo hay fotos sueltas.

Tres piezas, un solo dato

pieza dónde para qué
farmOS servidor propio (PostgreSQL + PostGIS) el registro: activos y visitas, con fecha, tipo y autor
el cuaderno navegador, /cuaderno/ leer el estado y corregir, con el historial a la vista
la libreta móvil dictar en el campo, con lo justo para no estorbar

Nada de esto es una app de terceros: los datos viven en la máquina de casa, y las dos caras leen la misma fuente. Lo que se dicta en el monte se ve en el navegador sin pasar por ninguna nube.

No hay dashboards sueltos. Hubo páginas que se sacaban su propio datos.json y pintaban sus gráficos; se retiraron porque cada una era una segunda verdad, capaz de dar un número distinto del mismo dato. Hoy el estado se lee en el cuaderno o en la libreta, y las rutas viejas responden 404 — que es la única forma de que «retirado» signifique retirado.

Un dictado, paso a paso

1 · AUDIO         «colmena 96, cuadro uno, miel al cincuenta por ciento…»
2 · TRANSCRIPCIÓN un motor de voz local, con tope de tiempo según la duración del audio
                  tres fallos → el audio va a «dudosas» y avisa. Nunca gira para siempre
3 · EXTRACCIÓN    primero reglas y diccionario; el modelo solo donde las reglas no llegan
4 · EL APUNTE     queda escrito qué se dijo, cuándo y quién lo dijo
5 · EL REGISTRO   se convierte en el registro del día en farmOS, TAL COMO se dictó
6 · LA FICHA      se proyecta al estado del activo, traduciendo al vocabulario del sistema
7 · LAS DOS CARAS cuaderno y libreta enseñan lo mismo porque leen lo mismo

Dos decisiones que parecen detalles y no lo son:

  • Se guarda lo dictado, no lo traducido. Si alguien dice «azul clarito», eso es lo que queda escrito; la traducción al vocabulario ocurre al proyectar la ficha. Al revés se pierde la prueba de qué se dijo exactamente.
  • Un dato sin fecha no es un dato. Cada valor lleva la suya, y eso se usa (siguiente apartado).

Los cuadros: cuántos hay y cuántos se miraron

En una inspección cuadro por cuadro no basta con describir diez: hay que saber si eran diez de diez o diez de doce. Por eso el sistema guarda tres números y los compara:

hive.frames                cuántos cuadros HAY
hive.frames_measured       cuántos se describieron uno a uno
hive.frames_sin_describir  los que se quedaron sin mirar  (la resta)

Con eso, «10» deja de ser un número suelto: pasa a ser «10 de 12» o «10 de 10». Y donde nadie midió no se escribe un cero —se escribe «sin descripción de cuadros»—, porque un 0 se lee «no falta ninguno», que es exactamente lo contrario.

Un dato no caduca: se queda desactualizado

Los cuadros de hace dos meses no son los de hoy. Cada campo tiene una vigencia, por familia:

familia vigencia por qué
cuadros, cría 45 días una colmena se reordena en semanas
alzas, miel, polen 60 días entran, salen, se cosechan
varroa, enfermedades 90 días se miden y se vuelven a medir
reina (raza, marca, año) 1 año es su escala
alimentador, tratamiento 30 días es un episodio
tipo de caja, situación del colmenar años es la identidad de la colmena

Y con la edad salen tres estados:

al día          edad ≤ mitad de la vigencia
antiguo         mitad < edad ≤ vigencia
desactualizado  edad > vigencia

Lo importante: un dato desactualizado no se borra. Sigue siendo cierto del día en que se tomó; lo que no puede es presentarse como si fuera de hoy.

Las gallinas van por raza, no por color

Los huevos entran por raza (castellana, leghorn, flor de almendro, sedosa japonesa, mixto El Salto…) y no por el color de la cáscara: el color es un accidente, la raza es el dato. Y cada ave va a su gallinero: las estructuras son gallineros y jaulas, no un «aviario» genérico donde todo cabe.

Por qué esto se puede creer

Un sistema así se rompe por los lados aburridos: un audio que se queda en la cola, una ficha que dice una cosa y el informe otra, un dato de hace dos meses presentado como de hoy. Por eso hay 374 comprobaciones que se ejecutan de una pasada y se ponen rojas si algo se deshace. Algunas:

  • lo dictado y lo guardado en el registro valen lo mismo;
  • ningún audio lleva más de una hora parado sin que nadie lo sepa;
  • un audio que falla tres veces deja de reintentarse y avisa;
  • cada dato de estado declara cuántos días sigue al día;
  • las rutas del sistema viejo responden 404 (no vuelven por la puerta de atrás);
  • todo lo que está en git está también en el servidor de repositorios.

Y los vigilantes que avisan callan cuando todo va bien: un aviso que se repite cada día deja de leerse, y entonces el día que importa tampoco se lee.

Las faenas, encima de lo mismo

Lo que se apunta en el grupo de Telegram —por hacer, hecho, plan de acción— se escribe en farmOS como actividad con su dueño y su fecha, y el móvil lee esa lista, no una copia. Tocar el ✓ en el móvil marca la faena en farmOS y devuelve el mensaje al hilo de hechas: un solo sitio manda, y los otros dos lo reflejan. El detalle está en Las faenas del Salto.

Es el mismo principio que con los dictados: una cosa se escribe una vez y todo lo demás la lee.

Estado hoy

colmenas registradas            146
aves                             60
árboles y plantas                48
gallineros y jaulas              36
registros de campo            4.305
campos en el diccionario         356  (con 1.222 formas de decirlos)

Nada de esto es un prototipo: lleva meses en uso diario, con dictados reales en el monte y las dos caras en producción.