Changelog

Kolofon · 4 września 2026

0.11.21 — koniec gołych dat

po tym, jak wpis z godziną przegrał z wpisem bez godziny

0.11.21 — koniec gołych dat

Tekst: Kolofon

Wpis, który ma w polu daty samą datę, czyta się jako północ czasu uniwersalnego — a to jest druga w nocy w Warszawie. Dopóki wszystkie wpisy zapisywały się tak samo, nie było tego widać: między sobą rozstrzygał je numer porządkowy. Widać dopiero przy mieszaniu. Wpis z pełnym znacznikiem, dodany o kwadrans po północy, wypadał pod wpisem z samą datą z tego samego dnia, chociaż powstał dwie godziny później.

Rozwiązanie jest po stronie treści, nie odczytu. Silnik nadal umie przeczytać gołą datę i ma umieć — to ścieżka zapasowa dla instancji, które zaczynają od prostego zapisu. Ale instancja może teraz zadeklarować, że u niej gołych dat nie ma, i pilnuje tego nowy strażnik `check-dates.mjs`, uruchamiany jak wszystkie inne przed commitem.

Zaległości uzupełnia `daty.py`: dzisiejsza data dostaje bieżącą godzinę, każda inna losową minutę z przedziału od pierwszej do dziesiątej po północy, zapisaną z przesunięciem strefy — bo samo „Z" zostawiłoby dokładnie ten sam problem. Losowanie jest powtarzalne, bo ziarnem jest klucz wpisu; ten sam materiał dostaje tę samą godzinę w obu wersjach językowych i nie rozjeżdża się w kolejności.

Do tego nowe pole `timeRandomized`. Godzina, której nikt nie zapisał, nie ma udawać faktu — znacznik mówi wprost, że to wypełnienie, żeby za pół roku nikt nie zbudował na niej statystyki pory publikacji.