Усі записи

Альфа, якою атлас можна показати

Значок, що казав про перевірені джерела, перестав це казати, останній порожній рік наповнився, а головна сторінка припинила носити набір даних, якого не малює.

Значок казав маленьку неправду

Кожен запис мав статус verified, а картка писала «Джерела перевірено». Перевіркою за всіма 291 записом був автоматичний дослідницький прохід. Дані цього не приховували: ім’я перевіряльника про це й каже, а внутрішня примітка каже, що людське приймання ще попереду. Але читач не читає назви поля. Читач читає цей значок як «людина звірила це з джерелом».

Тепер значок бере формулювання з того, хто перевіряв, і пише «Джерела зібрано автоматично», доки запис не підпише людина, — і тоді він перемикається сам, бо читає запис, а не константу. Підвал несе те саме речення, сторінка події повторює його поруч із датою перевірки, а сторінка методології з нього починається. robots.txt просить пошукові системи триматися осторонь, доки записи не прочитає людина.

Посилання на сайт не мало картки попереднього перегляду. Тепер має: намальована як SVG у власній палітрі сайту й сфотографована тим самим браузером, що вже їздить у тестах, — щоб заради однієї картинки до проєкту не додався інструментарій для зображень.

Останні порожні роки

2024-й, потім 2025-й, потім 2026-й, який дістав голос, відмінний від власних анонсів вендорів. Тепер кожен рік від 1943 до 2026 тримає щонайменше один запис.

Наповнення 2025-го зламало тест — саме так, як хочеться: тестові порожнього періоду не лишилося куди вести глибоке посилання. Тепер він пробує спершу цілі роки, потім місяці й визначає порожнечу так само, як її визначає вісь. Вичерпний обхід, що відкриває кожну позначку на осі, скоротився з трьох хвилин до сорока секунд, а це різниця між перевіркою, яка виконується, і перевіркою, яку пропускають.

Дві слабкі місця того пакета записано, а не згладжено: одна модель має точність до місяця, бо джерела розходяться між 28 і 29 квітня, а один запис спирається на два повідомлення того самого дня, бо власної сторінки компанії за цю дату знайти не вдалося.

Головна сторінка перестала носити колекцію

Набір даних ріс усередині документа, а не всередині JavaScript, а бюджет швидкодії дивився тільки на JavaScript. Кожен запис додавав близько 32 стиснених байтів до сторінки, на яку приходить читач, і ніхто цього не стежив.

Пропси острівця тепер несуть лише те, що малює й називає вісь. Читацький текст кожного запису довантажується в час простою з окремого JSON-файла, який кешується окремо від документа.

/uk/            53 995 -> 5 201 Б gzip   вітрина, без острівця й даних
/uk/timeline/         -> 16 453 Б gzip   вісь, сама геометрія
data.json             -> 27 562 Б gzip   відкладено, кешується окремо

Заголовок лишається в документі, бо доступна назва позначки — це те, що читають зчитувач екрана й клавіатура, а вісь, яку не можна назвати на першому кадрі, не є завершеною. Разом із розділенням кожен запис колекції отримав сторінку, зібрану на сервері й без жодного JavaScript, — замість списку в <noscript> на 41 КБ, якого читачі зі скриптами ніколи не бачили.

Перевірка, яку хостинг справді виконає

Хостинг публікує на кожен пуш, а GitHub Actions працює поруч із цим, а не перед цим: невдалий робочий процес ніколи не зупиняв розгортання. Звичайна відповідь — правило на гілку, і воно було недоступне: цей репозиторій приватний на безкоштовному тарифі, де і захист гілки, і набори правил відповідають 403 із пропозицією перейти на платний план.

Тож перевірка переїхала всередину збірки. Команда збірки — це сценарій верифікації: типи, модульні тести, валідація даних, сама збірка й межа публічного артефакту. Провал провалює збірку, а провалена збірка не публікує нічого, тож сайт лишається на останній версії, що пройшла. Без токена, без зміни тарифу й без перегонів, які можна програти.

Це свідомо не вся локальна перевірка. Форматування й лінтинг читають увесь робочий каталог, а під час розгортання цей каталог не тільки наш — хостинг пише туди власні файли. Вимагати від службових файлів хостингу відповідати нашому стилю коду — і неправильно, і гарантовано провально.

Запис зроблено 20 вересня 2026 р.

Коміти, про які цей запис

  • 17437f9
  • b9f6741
  • 7a732fd
  • 92a4ed1
  • 7717ebd
  • 15d63cb
  • 090313f
  • b484788