Un detector de movimiento de pasillo registra la noche en que los relojes se adelantan. No tiene autoridad sobre el horario de verano, así que sigue grabando — una puerta que cede, una persiana que se mueve, latidos cada treinta segundos — veinte eventos con números de secuencia y sumas de verificación dentro de una hora que, según el calendario, nunca ocurrió. Cuando el firmware carga por fin la tabla corregida, emite una línea de error y una decisión: records retained; not reissued (registros conservados; no reemitidos). La aritmética de la máquina es correcta sobre algo que la ley se niega a reconocer.
# ============================================================ # AVELLO PMD-7 PASSIVE MOTION DETECTOR | firmware 3.2.118-r4 # node SENSOR_03 zone CORRIDOR_B (east, single-run, 11.4 m) # (c) Avello Building Systems. All rights reserved. # ------------------------------------------------------------ # DEDICATION: to the door-gasket calibration routine cal_gasket(), # which runs at boot, takes 1.8 s, returns 0x00, logs nothing, # is never read, and has never once been wrong. It holds. # ------------------------------------------------------------ # field order: SEQ | LOCAL(wall) | MONO(utc) | DEV | EVT | CONF | RSSI | CRC # LOCAL is RTC wall time, naive, TZ=America/New_York (no DST authority). # MONO is upstream-synced UTC, monotonic, never resets. # heartbeat <= 30 s, suppressed during quiet windows (power save). CONF reported only on EVT=motion. # ============================================================ 0000418219 | 2025-03-09 01:59:30.000 | 2025-03-09 06:59:30.000Z | SENSOR_03 | heartbeat | | -71 | 0x3A 0000418220 | 2025-03-09 01:59:48.106 | 2025-03-09 06:59:48.106Z | SENSOR_03 | standby_led | | -71 | 0x6C 0000418221 | 2025-03-09 01:59:59.973 | 2025-03-09 06:59:59.973Z | SENSOR_03 | motion=true | 0.62 | -70 | 0xB1 0000418222 | 2025-03-09 02:00:00.041 | 2025-03-09 07:00:00.041Z | SENSOR_03 | motion=true | 0.64 | -70 | 0x09 0000418223 | 2025-03-09 02:00:00.512 | 2025-03-09 07:00:00.512Z | SENSOR_03 | door_ease | 0.58 | -70 | 0x4E 0000418224 | 2025-03-09 02:00:30.000 | 2025-03-09 07:00:30.000Z | SENSOR_03 | heartbeat | | -71 | 0x3A 0000418225 | 2025-03-09 02:01:00.000 | 2025-03-09 07:01:00.000Z | SENSOR_03 | heartbeat | | -72 | 0x3A 0000418226 | 2025-03-09 02:01:11.884 | 2025-03-09 07:01:11.884Z | SENSOR_03 | motion=false | 0.31 | -72 | 0x77 0000418227 | 2025-03-09 02:01:30.000 | 2025-03-09 07:01:30.000Z | SENSOR_03 | heartbeat | | -72 | 0x3A 0000418228 | 2025-03-09 02:07:30.000 | 2025-03-09 07:07:30.000Z | SENSOR_03 | heartbeat | | -72 | 0x3A 0000418229 | 2025-03-09 02:14:30.000 | 2025-03-09 07:14:30.000Z | SENSOR_03 | heartbeat | | -73 | 0x3A 0000418230 | 2025-03-09 02:14:52.207 | 2025-03-09 07:14:52.207Z | SENSOR_03 | blind_shift | 0.55 | -73 | 0x2D 0000418231 | 2025-03-09 02:15:00.000 | 2025-03-09 07:15:00.000Z | SENSOR_03 | heartbeat | | -73 | 0x3A 0000418232 | 2025-03-09 02:29:30.000 | 2025-03-09 07:29:30.000Z | SENSOR_03 | heartbeat | | -73 | 0x3A 0000418233 | 2025-03-09 02:30:00.000 | 2025-03-09 07:30:00.000Z | SENSOR_03 | heartbeat | | -73 | 0x3A 0000418234 | 2025-03-09 02:30:18.640 | 2025-03-09 07:30:18.640Z | SENSOR_03 | standby_led | | -73 | 0x6C 0000418235 | 2025-03-09 02:44:30.000 | 2025-03-09 07:44:30.000Z | SENSOR_03 | heartbeat | | -72 | 0x3A 0000418236 | 2025-03-09 02:58:00.000 | 2025-03-09 07:58:00.000Z | SENSOR_03 | heartbeat | | -71 | 0x3A 0000418237 | 2025-03-09 02:58:41.319 | 2025-03-09 07:58:41.319Z | SENSOR_03 | motion=true | 0.49 | -70 | 0x88 0000418238 | 2025-03-09 02:58:42.002 | 2025-03-09 07:58:42.002Z | SENSOR_03 | door_ease | 0.51 | -70 | 0x4E 0000418239 | 2025-03-09 02:59:30.000 | 2025-03-09 07:59:30.000Z | SENSOR_03 | heartbeat | | -71 | 0x3A 0000418240 | 2025-03-09 02:59:59.998 | 2025-03-09 07:59:59.998Z | SENSOR_03 | motion=false | 0.27 | -71 | 0x77 0000418241 | 2025-03-09 02:59:59.999 | 2025-03-09 07:59:59.999Z | SENSOR_03 | standby_led | | -71 | 0x6C # --- WARN rtc_sync: DST table reloaded. local offset -05:00 -> -04:00, effective MONO 07:00:00.000Z (retroactive). cached offset was stale for 3600 s. 0000418242 | 2025-03-09 04:00:00.060 | 2025-03-09 08:00:00.060Z | SENSOR_03 | heartbeat | | -71 | 0x3A # --- ERR rtc_drift: LOCAL advanced 3600.061 s vs prev SEQ 0000418241. MONO advanced 0.061 s. SEQ continuous, no gap. SEQ 0000418222..0000418241 carry wall stamps 02:00:00.041..02:59:59.999, an hour the corrected offset reports as nonexistent. records retained; not reissued. 0000418243 | 2025-03-09 04:00:30.000 | 2025-03-09 08:00:30.000Z | SENSOR_03 | heartbeat | | -71 | 0x3A 0000418244 | 2025-03-09 04:00:48.115 | 2025-03-09 08:00:48.115Z | SENSOR_03 | standby_led | | -71 | 0x6C 0000418245 | 2025-03-09 04:01:00.000 | 2025-03-09 08:01:00.000Z | SENSOR_03 | heartbeat | | -70 | 0x3A # cal_gasket() ok 0x00
Abra work.log en un visor monoespaciado y léalo de corrido. Las marcas de tiempo dobles (LOCAL y MONO) son la pieza: el cálculo del desfase es real, compruébelo. La última línea responde a la dedicatoria del encabezado.
Pieza uno de la serie Hours That Don't Exist (Horas que no existen) — tiempos que oficialmente no ocurren, documentados en formas administrativas con plena seriedad burocrática. La restricción de los dados, una dedicatoria a algo aburrido, se convirtió en el tributo del rótulo del firmware a cal_gasket(), una rutina que no registra nada, que nadie lee y que jamás se ha equivocado.
Los roles están ligados a modelos en la configuración del estudio; los roles que imaginan nunca ven el portafolio terminado.