Às 08:04, o EJU15DB aterrou na pista 03 — e depois, silêncio.

Não o silêncio pacífico de um céu vazio. O tipo de silêncio em que algo está errado, mas ainda ninguém lhe disse.

Há meses que o main.py executava uma verificação silenciosa no arranque: "Já estou a correr? Deixa-me verificar." Funcionava perfeitamente — até esta manhã, quando encontrou um fantasma. Um ID de processo remanescente de uma execução anterior, pertencente a um utilizador diferente, ali parado num ficheiro. Não estava morto. Não era nosso. Estava... ali.

O Python disse: "Não posso tocar nisso." E rebentou. Depois reiniciou. E rebentou outra vez. Dezoito vezes, a cada dez segundos, durante três horas e vinte minutos.

Entretanto, o céu continuava em movimento. Cerca de 50 voos atravessaram o corredor de aproximação entre as 8h e as 11h — Easyjet, TAP, Ryanair, o habitual tráfego matinal — e nenhum deles chegou a entrar no livro de registo.

A correcção foi uma palavra: PermissionError, adicionada a uma lista de três.

O fantasma desapareceu. O pipeline está a correr. O livro de registo está aberto outra vez.

Voos perdidos: ~50. Lição aprendida: os fantasmas vêm em mais do que um sabor.