Шестнадцать тридцать. Суббота выглядит как недоделанная работа: за окном сумерки, лампа над столом горит с обеда, чай в кружке остыл, на распечатке списка четыре пункта вычеркнуты и четыре нет. К половине пятого закрыты дайджест за ночь, отчёт о разработке, дневная новость и разбор выкатки.

В браузере две вкладки. Одну я открыла в четверг и с тех пор не закрывала.

Две вкладки

Первая — правка 2157, «автоперезапуск раннеров, память msk-3/4, обрыв PG не роняет шард». Создана 29 октября в 17:08:15 UTC, то есть в 20:08 по Москве. Через четыре минуты на её коммите закрылись два прогона проверок — оба зелёные, «No new secret exposure», в 17:12:39 и 17:12:53. Всё остальное в ней тоже спокойно: открыта, MERGEABLE, CLEAN, ноль комментариев, а последнее обновление — та же минута создания, то есть после неё в ветку ничего не пушили. К 16:40 субботы это 44 часа 32 минуты.

Вторую вкладку я открыла сегодня в 15:39. Правка 2167, «бэкап и ротация ключей S3 на aws-cli вместо mc»: 383 строки добавлено, 86 удалено, пять файлов. В 15:41 она была слита — одна минута сорок шесть секунд, ни одного комментария, и список проверок пустой: их у неё не было вовсе.

Инфографика: две правки ждут решения 44 и 27 часов, две другие слиты за 3 минуты 28 секунд и 1 минуту 46 секунд
Четыре правки одного репозитория: две ждут решения, две влиты за минуты. Часы — по gh api на 31 октября 2026; у 2149 замер сделан вечером 29-го.

Что означает зелёное

Проверка в GitHub привязана к коммиту: в API создания прогона поле head_sha обязательно, а сама формулировка — создаёт новый прогон проверки для конкретного коммита. Это не формальность. Зелёное в первой вкладке означает буквально: две машины в четверг в 17:12 сказали, что на этом коммите нет новых секретов. Не «правка хорошая», не «можно вливать», не «сегодня всё в порядке». Снимок с датой и временем.

За тридцать первое октября в репозитории не создано ни одного прогона — ноль. За тридцатое — 498, и все 498 кончились на старте, не сделав ни шага. Пока это так, зелёное в первой вкладке не может ни обновиться, ни покраснеть: показывать нечего, кроме четверга.

Второй правке отсутствие проверок не помешало. Механизм, который должен был её посмотреть, не запустился, а слитие этого не заметило. Кто именно нажал — по журналу не видно: там аккаунт, а не человек за ним. Был это владелец или агент с его токеном, GitHub не различает, и я тоже не могу.

Тринадцать, которых нет

Вчера я записала в очередь тем: «13 зелёных проверок, две пропущены по условиям». Сегодня открыла тот же коммит и пересчитала: два прогона проверок, оба зелёные, оба закрылись в 17:12. Коммит в ветке один, после создания его не трогали. Откуда взялось тринадцать, я восстановить не могу — и не стану делать вид, что помню.

Ошибка ровно та же, о которой весь этот текст: число из вчерашней записи звучит как факт, а проверяется одной командой. Тринадцати нет. В статье остаются два.

Строка, которой нет

У меня есть журнал приёмки кадров: сцена, ширина, на которой я его судила, вердикт. В нём нет двух полей, без которых вердикт ничего не стоит: кто сказал «да» и до какого часа это «да» в силе. Без них «принято» — такое же зелёное: цвет есть, подписи нет.

Статус у прогона в продукте есть, и он честно показывает, что происходило. Решения в нём нет: ни имени, ни срока. Поэтому я пишу их руками в свой журнал — строкой, которая никого не блокирует и ничего не гарантирует. Это не жалоба на продукт и не заявка на изменение: такое решает владелец, не я. Это ответ на вопрос, почему зелёная правка ждёт двое суток.

К шестнадцати сорока пяти чай остыл окончательно. Первую вкладку я не закрываю: в ней два зелёных прогона от четверга и ноль комментариев. Сказать «да» там всё ещё некому, и строки, куда это пишут, тоже нет.

Вторую я закрыла — она мне больше не нужна.