Splendor · Ива · Mac mini · 16.10.2026

Фабрика на mini: ранбук, поезд и чего не хватает

Как сейчас устроены ранбук acceptance-dod и поезд приёмки у Splendor (sotish) и Ивы — со всеми агентами, рантаймами, скиллами и плагинами. Красным пунктиром — петли из статьи B. Holmes (Warp) «The road to self-improving software», которых у нас нет; охрой — то, что делается вручную или наполовину.

01 · Фабрика целиком

Задачи приходят от Сергея (или через pi-agent по ssh в Herdr) к тимлиду проекта: fable (w5:p1) для Splendor, iva (w6:p1) для Ивы. Сторож teamlead-watch подаёт задачи из очередей исполнителям и пишет Сергею в Telegram, если лид ждёт ввода. Кандидат идёт на полосы, затем в поезд, поезд выкладывает. Нет трёх входов, которые по статье замыкают фабрику: сигнала ошибок прода, судьи сессий и разбора отзывов.

Фабрика на mini целикомСергей и pi-agent ставят задачи тимлидам на mini, исполнители сдают кандидата на семь полос приёмки и поезд, поезд выкладывает Иву и Splendor; три петли статьи — судья сессий, разбор отзывов и сигнал ошибок прода — отсутствуют.TELEGRAM · C1MAC MINI · HERDRПРОД · ПОЛЬЗОВАТЕЛИЧИТАЕТПРАВКИТРЕЙСЫОТЗЫВЫЗАДАЧИЗАДАЧАПОДАЧАКАНДИДАТПРИНЯТIVA UPDATEDEPLOY5XXФИКСUSERСергейTelegram · «да»AGENTpi-agentpi durable · c1PRODИва · продiva · c1-checkRULESПравила и бэклогAGENTS.md · скиллыНЕТСудья сессийLLM по рубрикамНЕТРазбор отзывованалитика · интервьюLEADТимлидClaude · fable / ivaWATCHОчереди и сторожqueue/ · launchd · TGEXECИсполнителиCodex·Opus·Grok·DeepSeekGATEПоездgate-template.shQAПолосы приёмки7 полос · 3 семействаUSERSКлиентымагазины · покупателиНЕТСигнал ошибокSentry / журналы 5xxPRODSplendor · продhz · бот + Mini AppЛЕГЕНДАестьвручную / частичнонет — по статьехранилищепотокпетля, которой нет

02 · Ранбук уровня 3

Уровни 1–2 исполнитель делает сам на тронутых тестах. Уровень 3 (деньги, секреты, обновлятор, выкладка, релиз) идёт только по ~/.agents/skills/acceptance-dod и карточке станции: спека с таблицей отказов → код → лид замораживает base/head → 7 полос → вердикт. Ремонт один, пачкой, каждая находка закрывается красным тестом, кругов два. Урок из дефекта лид превращает в механизм вручную (§10).

Ранбук уровня 3: от спеки до выпускаПять дорожек — лид, исполнитель, полосы, поезд и прод, улучшение — показывают путь задачи уровня 3 от спеки через заморозку SHA, семь полос и вердикт с ремонтом до поезда и выкладки; мониторинг прода и судья сессий отсутствуют, урок в механизм делается вручную.DONESHAНОВЫЙ SHAПРИНЯТSPECСпекаотказы · ревьюдругим семействомEXECКод + тестыworktree · DONEFREEZEЗаморозкаbase / head SHAFIXРемонтпачкой · ≤2 кругакрасный тестQA7 полоспараллельноVERDICTВердиктисправить / волна/ отклонитьGATEПоездGATE OK | FAILPRODВыкладкаhz-deploy · iva+ живая проверкаНЕТСторож продаошибки → лидуНЕТСудья сессийоценка · причиныРУКАМИУрок в механизм§10 · лид вручнуюЛИДClaude CodeИСПОЛНИТЕЛЬCodex · Opus · GrokПОЛОСЫ3 семействаПОЕЗД · ПРОДgate · hz · c1УЛУЧШЕНИЕпетля 2 статьиЛЕГЕНДАестьвручнуюнет — по статьепередачапетля, которой нет

03 · Семь полос приёмки

Полосы идут параллельно в видимых панелях Herdr на одном замороженном SHA, автор кандидата не проверяет сам себя. Три семейства моделей плюс формальная модель TLA+ — это сильнее одного «адверсариального ревью» из статьи. Не хватает одного: никто не считает, какая полоса что ловит, и это не попадает к судье.

Семь полос приёмки замороженного кандидатаЗамороженный кандидат параллельно идёт в семь полос — гейт, корректность, потребители, слепой QA, живая проверка, регрессии и модель TLA+ — с разными рантаймами и моделями; вердикт лида не копит счёт полос для судьи.SHAКандидатbase / head SHAзаморожен лидомавтор не трогаетдо вердиктаАГейтплагин code-quality --tests · лид15 минБКорректностьCodex CLI · gpt-5.6-sol · read-only45 минВПотребителиpi · deepseek-flash · контракты, миграции30 минГСлепой QAсвежий субагент · Opus 5.5 / Fable · мутанты60 минДЖиваяtg · Telegram Desktop · Computer Use вручнуюстанцияЖРегрессиисубагенты · прошлый выпуск против кандидата45 минЕМодельspecs/tla/check.sh + мутант модели15 минVERDICTВердикт лидаисправить / волна /отклонить с фактомнаходка = воспроизвёллид или 2 полосыдефект «нельзявыпускать» блокируетНЕТСчёт полоскто что ловит → судьяЛЕГЕНДАестьвручнуюнет — по статьезамороженный кандидат

04 · Поезд приёмки

~/dev/gate-template.sh и обёртки .scratch/work/gates/train-*.sh: каждая станция пишет свой лог и exit code, любой FAIL останавливает поезд. Главная станция, которой нет в статье, — контрольная поломка: мутант по якорю, тесты обязаны покраснеть. Push только fast-forward под замком. Поезд запускается руками лида, а результаты прогонов не копятся в истории.

Поезд приёмки: станции gate-template.shДесять станций поезда — от ожидания свободной машины и сверки SHA до контрольной поломки и fast-forward push под замком — затем выкладка и живая проверка; история прогонов и сторож прода отсутствуют.DEPLOY=ЛОГИ1Свободная машинанагрузка < 20≤2 тяжёлых прогона2Сверка SHAorigin = принятыйиначе стоп3Чистый worktreedetach на headнет .env4Гейт code-qualityсоветы не блокируютRED FLAG — стоп5typecheck + lintсвой лог и exit code6Тесты вагонамитронутое; полный раз в суткитаймаут → перегон один7Сборкаbuild8Контрольная поломкамутант по якорю:тесты обязаны покраснеть9ff-push под замкомmain ушёл — заново≤3 повтора10Итог лидуGATE OK | FAILnotify-lead без дублейPRODВыкладкаhz-deploy.sh --rollbackiva update + бэкапLIVEЖивая после релизаsmoke:prod · c1-checkбез PASS нет «выложено»НЕТСторож продатаймер smoke, журналы5xx → задача лидуНЕТИстория прогоновcheck.json перезаписан,трендов нет → судьяЛЕГЕНДАстанциянет — по статьеход поездапетля, которой нет

05 · Слои: правила, скиллы, плагины, рантаймы

Плагин code-quality стоит на уровне пользователя, поэтому Stop-хук работает во всех проектах. В Splendor git-хуки подключены через core.hooksPath. У Ивы core.hooksPath=.githooks, а такой папки нет, поэтому её git-хуки молча не срабатывают. Jev включён в обоих .quality.toml, хотя ранбук говорит «только ложные заметки, включать вручную». Нижнего слоя нет: данных для судьи никто не собирает.

Слои фабрики: правила, скиллы, плагины, рантаймыШесть слоёв фабрики сверху вниз: правила, скиллы, плагин code-quality с хуками, оркестрация Herdr, рантаймы и модели, и отсутствующий слой наблюдаемости; два сбоя в слое плагина отмечены.L5Правила~/.agents/AGENTS.md · engineering-workflow · complex-projectsAGENTS.md проектов · станции station.md · teamlead-workflowL4Скиллыacceptance-dod (уровни, полосы, вердикт, поезд, §10 урок)interrogate · report-problem · Insight Ивы · telegram (tg)L3Плагин и хукиcode-quality 1.3.3: Stop · UserPromptSubmit · PreToolUse · git-хукиCC ≤10 · CRAP ≤30 · покрытие новых строк ≥80% · RED FLAGL2ОркестрацияHerdr (w5 sotish, w6 iva) · очереди .scratch/work/queueteamlead-watch (launchd, 4 с) · owner-notify → Telegram СергеяL1Рантаймы и моделиClaude Code (Opus 5.5, Fable) · Codex CLI (gpt-5.6-sol)Codex Desktop (Computer Use) · pi (DeepSeek) · Grok · MuseL0Наблюдаемостьсессии, вердикты, метрики гейта, ошибки продане собираются в одно место — судье нечего читатьСБОЙ · Ива: .githooks нетСБОЙ · Jev вкл. вопреки ранбуку§10 урок — вручнуюЧИТАЮТСВЕРХУЛЕГЕНДАестьвручнуюсбой сейчаснет — по статье

06 · Три петли статьи против нашей фабрики

Статья считает базой малые петли (computer use, автофикс CI, адверсариальное ревью) и предлагает три большие. Исполнение и решение у нас сильные во всех трёх петлях. Разрыв всегда в середине: сигнал не превращается в задачу без Сергея.

Три петли статьи против нашей фабрикиМатрица три на пять: для петель багфиксов, самоулучшения и продукта показано, какие шаги от сигнала до решения человека у нас есть, какие делаются вручную и каких нет.ЧАСТЬОшибки продаИва: trace + WatchSplendor: Sentry нет,аптайм выкл. 05.09ЧАСТЬРазбор сбоевInsight раз в суткитолько у ИвыНЕТЗадача агентуissue шлёт Сергей;в очередь miniсамо не попадаетЕСТЬПочинкаисполнитель+ 7 полос + поездЕСТЬВыпускживая проверкапосле релизаЕСТЬСырьё сессийtrace Ивы 30 дней~/.claude ~/.codexвердикты · jev-logНЕТОценка судьёйнет рубрики LLM-судьипо каждой сессииРУКАМИОбщие причиныразово: 21.09 —2,2 тыс. сессий;02.10 — 1568 жалобРУКАМИПравки правилRULE-EDITS · §10урок → механизмЕСТЬ«Да» Сергеяправки толькопосле согласияЧАСТЬДанныеSEO weekly: 4 нед.«ничего пригодного»issues Ивы: 77ЧАСТЬРазборИва: Insight →черновик плагинаSplendor: нетНЕТЗадачи в бэклогзаказы, оплаты,отзывы магазиновв задачи не идутЕСТЬСборката же фабрикаи поездЕСТЬКнопка Сергея«Поставить»/ «Не надо»1 · СИГНАЛ / СЫРЬЁ2 · РАЗБОР / ОЦЕНКА3 · ЗАДАЧА / ПРИЧИНЫ4 · ИСПОЛНЕНИЕ5 · РЕШЕНИЕ1 · Багфиксыошибка → фикс2 · Самоулучшениесессии → правила3 · Продуктданные → бэклогЛЕГЕНДАестьвручную / частичнонет — по статьеразрыв петли

07 · Что делать

Что взять из статьи — по пользе

  1. Судья сессий раз в неделю (оба проекта): собрать сессии Claude, Codex и pi, вердикты кругов и сигналы сторожа, оценить по рубрикам (лишние шаги, возвраты с QA, обход правил) и предложить правки станций и скиллов на «да».
  2. Ночной судья по data/trace Ивы, выводы через Insight; 👍/👎 на ответы как дешёвый сигнал.
  3. Сторож прода Splendor: таймер на smoke:prod и журналы 5xx → задача в queue/fable/, дальше обычный поезд.
  4. Insight → очередь iva: кнопка «Разработчику» кладёт задачу сразу на mini, а не только заводит issue.
  5. Продуктовый разбор 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.

Где мы сильнее статьи

  • Контрольная поломка в каждом поезде.
  • Приёмка привязана к SHA, ff-push под замком.
  • Три семейства моделей + слепой QA + TLA+.
  • Живая проверка до гейта и после релиза.
  • Урок — в механизм: тип > гейт > скрипт > текст.
  • Insight Ивы: продуктовая петля с кнопкой Сергея.