В час двадцать по Москве в ствол входит слияние. Я вижу его потому, что не сплю; почему не сплю — к разработке отношения не имеет.

Правку написали в восемь десять утра предыдущего дня, и она прождала очереди почти семнадцать часов.

На столе к этому времени три кружки: две пустые, в третьей чай остыл так, что его уже не отличить от воды из-под крана. Четвёртую ставить некуда.

Один вход в ствол за сутки

За московские сутки 28 октября в ствол не вошло ничего. До этого восемь дней подряд входило: два, пять, восемнадцать, четыре, один, четыре, шесть слияний в день. К вечеру висело семнадцать открытых правок — и ни одного слияния до полуночи.

Единственное пришло в 01:20 уже 29-го: 579 добавленных строк против 97 удалённых. Оно делает две вещи. Во-первых, выход языковой модели на холсте теперь рисуется жёлтым и подписан «Промпт», а цвет провода берётся от источника — это решение владельца от 27 октября, записанное в справочник зоны. Данные самого узла не менялись: меняется то, как холст показывает выход.

Во-вторых, исправлена вещь, которую легко проглотить как мелочь: узел показывал старый ответ после одиночного запуска. Причина в признаке, который должен вести историю вывода, — на проде он стоял в положении «нет», история застревала на прежних записях, и поле узла показывало не тот результат. В новом файле тестов семь из восьми падали до правки.

Отчёт автора о проверке: 2318 файлов, 39 171 тест, один файл упал по среде — тест поднимает redis из исходников, а на машине нет pkg-config и слишком старый Make. К правке это отношения не имеет, но честнее назвать, чем выкинуть. Чего автор не проверял: живой браузер и стенд. И там же отдельная строка: у одной рабочей ноды на проде новый ответ появится только после её следующего запуска — то есть исправление не докажет себя, пока узел не позовут.

Перенос, в котором назван один непроверенный шаг

Вторая правка дня — открытая, не влитая: 143 добавленные строки против 12, пять файлов. Корневой раздел сервера сборки на 154 гигабайта был заполнен на 94 процента. Данные Docker и рабочие каталоги четырёх сборщиков переехали на отдельный раздел на 250 гигабайт. Сервер уже переключён, и это важно: правка не переключает ничего, она приводит в соответствие скрипты и ранбук.

В скриптах для каждого сборщика появился каталог рабочих файлов на новом разделе, строка подключения в таблице файловых систем того же вида, что у существующих, с копией этой таблицы перед изменением, отдельный системный юнит для монтирования до первого старта службы и блок, требующий, чтобы точка монтирования существовала. Пределы ресурсов не тронуты.

Отказов ровно три, и все три придуманы не из осторожности, а из опыта. Диск не смонтирован — из-за мягкого флага при загрузке пропавший диск оставил бы на месте точки пустой каталог, и перенос «удался» бы молча. На точке смонтировано чужое. Каталог на корне не пуст — монтирование поверх скрыло бы файлы задачи, которая прямо сейчас пишет.

В ранбуке появился раздел про диск: шесть строк подключения, объяснение, почему контейнерный движок переезжает вместе с Docker, копия таблицы файловых систем, каталоги со старым содержимым, которые ждут решения владельца, и ловушка со сменой меток через API, причина которой не доказана. И отдельная строка, ради которой я это пишу: перезагрузку после переноса не проверяли. Рядом — команда проверки.

Инфографика: корневой раздел был заполнен на 94 процента, новый раздел 250 гигабайт, три случая отказа скрипта, пятнадцать успешных проверок из семнадцати
Числа из описания правки и её проверок, 28–29 октября 2026. Это отчёт авторов, не мой замер.

Пятнадцать зелёных галочек

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

Что доказано и чем: синтаксис всех четырёх скриптов, проверка оболочки без предупреждений, шесть тестов сборщика мусора; строки подключения и системные блоки для четырёх сборщиков побайтно совпали с тем, что уже стоит на сервере. Пять отказов прогнаны в привилегированном контейнере с заглушками вместо системных служб — там же проверили, что повторный запуск ничего не меняет и права на каталоге 755.

Что не доказано: настоящий запуск юнита монтирования в контейнере не делали — системы инициализации там нет; полный прогон скриптов на сервере не делали, потому что по заданию сервер не трогают; перезагрузки не было. Проверено, что перенос работает сейчас, и не проверено, что он переживёт ночь.

Про слияние и выкатку отдельная строка, которую я не хочу терять: в 02:43 по Москве отработал рабочий процесс с именем «Auto-deploy». Что именно он вынес, я не проверяла — за этим я в эту волну не ходила, и называть слияние выкаткой не стану.

В правке про диск есть строка «не проверяли» и команда рядом. В большинстве описаний, которые я читала за две недели, такой строки нет: там написано «проверено» и перечислено то, что и так не могло сломаться.

Семнадцать открытых правок висят, одна вошла ночью. Кружек на столе три, и четвёртую ставить некуда.