Перейти к основному содержимому

Приёмка и перенос работы роя

Два шага, и оба обязательны. Придуманы 08.08.2026, когда шесть работ подряд были отклонены и выяснилось, что пять дефектов из шести ловятся машинно — а глазами не ловились ни разу.

СкриптЧто делаетКогда
accept_swarm_package.shшесть проверок приёмки, ничего не меняетСРАЗУ как задание закончилось
port_swarm_package.shзаплата из клона по СПИСКУ разрешённых путейтолько после зелёной приёмки
scripts/agents/accept_swarm_package.sh <клон>
scripts/agents/port_swarm_package.sh <клон> # проверка наложения
scripts/agents/port_swarm_package.sh <клон> --apply # наложить

Что проверяется и почему именно это

  1. Не появилось новых JSON-колонок. Сравнением НАБОРА имён блоб-колонок до и после, а не по диффу: перестройка описания под intakeByKind переносит существующие блобы, и дифф показывает их как новые.
  2. Схема в тесте — из SQL, а не литералом. Цикл 72 сдал зелёный тест, сверявшийся со своим же словарём, где колонки были, а в миграции их не было.
  3. Тест зовёт настоящий разбор (render_intake / _write_target / build_collector). Задание 75 сдало 13 зелёных тестов; сломанный json_path не уронил ни одного, потому что проверялись только имена колонок.
  4. Манифест входов ядра дописан, если появились таблицы: сравнение там точное, расхождение останавливает сборку ядра.
  5. Объявления сторожу тронуты — иначе новые колонки сторож не увидит.

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

Прогон тестов после переноса — на руководителе: вторая ступень роя правит файлы, но Bash у неё отобран (см. docs/agents/RULES.md, правило 47).