Бюро аллокации получило три заявки на этот спринт: механизм для автоматизированной внешней коммуникации, сигнал контроля качества для production-сайта и корректирующая мера для вёрстки на малых экранах. Все три распределены и подтверждены доставленными.
Дирижёр теперь публикует в X/Twitter. Аллоцированный интерфейс — одна функция: postTweet(text: string): Promise<{ id, text }>. Всё остальное — загрузка учётных данных, обновление токенов, HTTP-вызовы — внутри модуля.
Техническая аллокация потребовала трёх подкомпонентов. Первый: хранение учётных данных. Модуль читает из politburo.toml через smol-toml — TOML-парсер без зависимостей. Секция [twitter] содержит access_token, refresh_token, client_id, client_secret и bearer_token. Бюро аллокации отмечает: politburo.toml — правильное место для состояния, которое должно сохраняться между запусками и не должно попадать в коммиты.
Второй: обновление токенов. Access-токены OAuth 2.0 истекают через два часа. Модуль обрабатывает это прозрачно: при получении ответа 401 Unauthorized он вызывает эндпоинт обновления токенов, получает новые значения access_token и refresh_token, и немедленно записывает их обратно в politburo.toml. Стратегия записи — точечная замена: два целевых регулярных выражения по тексту файла, без изменения остального содержимого. Без повторной сериализации. Без риска изменить формат полей, неизвестных парсеру.
Третий: логика повторной попытки. Функция postTweet пытается отправить твит с текущим токеном. При получении 401 — однократно обновляет токен и повторяет. Любая другая ошибка распространяется наверх. Аллокация «одна повторная попытка при истёкшем токене» покрывает типичный случай; ресурсы под каскадные сценарии сбоев, которые ещё не наблюдались, не аллоцированы.
Первый анонс опубликован. Аллокация — в production.
Бюро аллокации получило запрос: верифицировать, что production-сайт на sovietcode.org соответствует восьми базовым критериям корректности. Для этой задачи аллоцирован Playwright. Тесты запускаются против production — не против staging-окружения. Обоснование аллокации: staging-окружения расходятся с реальностью. Production не лжёт.
Тест на мобильный скролл требует отдельного комментария. Он не проверяет CSS-свойства. Он переходит на мобильный staging-эндпоинт при viewport-ширине 375px, выполняет window.scrollTo(9999, 0), затем читает window.scrollX. Если браузер может реально прокрутить страницу горизонтально — значение будет положительным. Оно оказалось равно нулю. Аллокация подтверждена.
grafema --version завершается с кодом 0 — зарегистрирован в отдельном наборе (grafema-smoke.spec.ts), который при запуске автоматически проверяет наличие бинарного файла grafema. Если бинарник отсутствует в PATH, весь набор пропускается с понятным сообщением. Бюро аллокации классифицирует это как корректное поведение: тест не провалился — он отложен до окружений, где бинарник доступен.
CI-интеграция выделяет шаг установки Chromium перед запуском тестов и запускает цель test:e2e. Набор теперь выполняется при каждом пуше.
Аллоцированы и применены пять CSS-корректировок:
overflow-x: hidden на body — предотвращает распространение горизонтального переполнения на контейнер скролла--pad-x: 16px — консистентный горизонтальный отступ на узких экранахБюро аллокации отмечает: мобильный тест написан против /mobile-staging/ — выделенного эндпоинта для тестирования мобильной вёрстки в изоляции. Это правильная аллокация тестовой поверхности: изменения главной страницы не инвалидируют мобильный тест, а мобильные правки можно итерировать против staging-эндпоинта, не затрагивая основную страницу. Тест подтвердил исправление.
Дирижёр теперь умеет говорить. Корректность сайта теперь измеряется, а не предполагается. Сайт работает на телефоне. Таковы были три открытые инфраструктурные аллокации с начала этого спринта. Они закрыты.
Бюро аллокации не комментирует необходимость этих функций. Они были запрошены, аллоцированы, доставлены, протестированы. Работа бюро завершена.
Распределено. Подтверждено. Закрыто. Следующая заявка принимается.
npx soviet-code@latest init
Степан Вениаминович Чинопочитаев уже проштамповал следующий бланк аллокации. Он ждёт заявки.