Как сейчас устроены ранбук acceptance-dod и поезд приёмки у Splendor (sotish) и Ивы — со всеми агентами, рантаймами, скиллами и плагинами. Красным пунктиром — петли из статьи B. Holmes (Warp) «The road to self-improving software», которых у нас нет; охрой — то, что делается вручную или наполовину.
Задачи приходят от Сергея (или через pi-agent по ssh в Herdr) к тимлиду проекта: fable (w5:p1) для Splendor, iva (w6:p1) для Ивы. Сторож teamlead-watch подаёт задачи из очередей исполнителям и пишет Сергею в Telegram, если лид ждёт ввода. Кандидат идёт на полосы, затем в поезд, поезд выкладывает. Нет трёх входов, которые по статье замыкают фабрику: сигнала ошибок прода, судьи сессий и разбора отзывов.
02 · Ранбук уровня 3
Уровни 1–2 исполнитель делает сам на тронутых тестах. Уровень 3 (деньги, секреты, обновлятор, выкладка, релиз) идёт только по ~/.agents/skills/acceptance-dod и карточке станции: спека с таблицей отказов → код → лид замораживает base/head → 7 полос → вердикт. Ремонт один, пачкой, каждая находка закрывается красным тестом, кругов два. Урок из дефекта лид превращает в механизм вручную (§10).
03 · Семь полос приёмки
Полосы идут параллельно в видимых панелях Herdr на одном замороженном SHA, автор кандидата не проверяет сам себя. Три семейства моделей плюс формальная модель TLA+ — это сильнее одного «адверсариального ревью» из статьи. Не хватает одного: никто не считает, какая полоса что ловит, и это не попадает к судье.
04 · Поезд приёмки
~/dev/gate-template.sh и обёртки .scratch/work/gates/train-*.sh: каждая станция пишет свой лог и exit code, любой FAIL останавливает поезд. Главная станция, которой нет в статье, — контрольная поломка: мутант по якорю, тесты обязаны покраснеть. Push только fast-forward под замком. Поезд запускается руками лида, а результаты прогонов не копятся в истории.
05 · Слои: правила, скиллы, плагины, рантаймы
Плагин code-quality стоит на уровне пользователя, поэтому Stop-хук работает во всех проектах. В Splendor git-хуки подключены через core.hooksPath. У Ивы core.hooksPath=.githooks, а такой папки нет, поэтому её git-хуки молча не срабатывают. Jev включён в обоих .quality.toml, хотя ранбук говорит «только ложные заметки, включать вручную». Нижнего слоя нет: данных для судьи никто не собирает.
06 · Три петли статьи против нашей фабрики
Статья считает базой малые петли (computer use, автофикс CI, адверсариальное ревью) и предлагает три большие. Исполнение и решение у нас сильные во всех трёх петлях. Разрыв всегда в середине: сигнал не превращается в задачу без Сергея.
07 · Что делать
Что взять из статьи — по пользе
Судья сессий раз в неделю (оба проекта): собрать сессии Claude, Codex и pi, вердикты кругов и сигналы сторожа, оценить по рубрикам (лишние шаги, возвраты с QA, обход правил) и предложить правки станций и скиллов на «да».
Ночной судья по data/trace Ивы, выводы через Insight; 👍/👎 на ответы как дешёвый сигнал.
Сторож прода Splendor: таймер на smoke:prod и журналы 5xx → задача в queue/fable/, дальше обычный поезд.
Insight → очередь iva: кнопка «Разработчику» кладёт задачу сразу на mini, а не только заводит issue.
Продуктовый разбор Splendor раз в неделю: заказы, оплаты, обращения магазинов → кандидаты в issues.
Сломано сейчас
Ива:core.hooksPath=.githooks, папки нет — RED FLAG на push (секреты, удалённые тесты, --no-verify) не ловится.
Jev включён в обоих проектах вопреки ранбуку: вызовы OpenRouter на каждый коммит и Stop, в Splendor 27 тыс. строк jev-log.
Со слов разбора, не перепроверено: поезда Ивы гоняют все тесты вопреки правилу «только тронутое» от 14.10; станция Splendor в статусе «черновик»; [review] spec Splendor указывает на старый WAVE2-SPEC.