Commit Graph
170 Commits
Author SHA1 Message Date
Dmitry Dementiev 6fbe8f6be1 docs(skills): в плейбук субагентов встроено разбиение /to-tickets и шкала ревью постановки
- Зачем:
  - прогон предразметки показал два сбоя: тикеты созданы мимо критериев /to-tickets, а текст тикета трижды проходил через контекст оркестратора.
- Что:
  - этап 1: разбиение по критериям /to-tickets, мерка «тикет берётся в отдельной сессии без общего контекста».
  - этап 2: правило «одно ревью на версию артефакта» и шкала риска вместо безусловного ревью постановки.
  - согласованы шапка скилла, роли, критерии закрытия этапов и список соседних скиллов; урок записан в references/lessons.md.
- Проверка:
  - вычитка SKILL.md: новые правила не противоречат этапам 3-6.
2026-07-21 11:43:49 +03:00
ddadmin 90cc8456cd docs(xray-proxy): обновлён handoff конвейера после задачи 03
- Зачем:
  - прежняя записка описывала состояние до задачи 03 и не содержала
    решения пользователя по эксперименту с эффортом для задачи 04.
- Что:
  - создан handoff after-03: статус тикетов, решение «04 на medium»,
    уроки resume-синтаксиса codex exec и потери usage при убитом ходе.
  - прежний handoff after-06 удалён как одноразовый по правилам AGENTS.md.
- Проверка:
  - git show --stat HEAD.
2026-07-20 08:35:47 -04:00
ddadminandClaude Fable 5 5ace0cfae0 feat(xray-proxy): добавлен безопасный жизненный цикл управляемого Xray
- Зачем:
  - stop/status опирались на обход argv и могли счесть чужой или
    переиспользованный PID управляемым процессом, а параллельный start
    и аварийная гибель супервизора не имели определённого поведения.
- Что:
  - введена модель идентичности: PID + starttime (поле 22 /proc/PID/stat),
    /proc/PID/exe для ребёнка, канонический путь скрипта для супервизора,
    boot_id как граница загрузки; перечитка перед каждым сигналом.
  - добавлены lifetime-flock супервизора, три исхода проверки состояния
    (здоровая пара / подтверждённый сирота / непроверяемое), отказ при
    занятом порте пробным bind и очистка stale только под lock.
  - тесты расширены до 49 (blank flock, подмена starttime, чужой exe,
    boot_id, SIGKILL супервизора, занятый порт, парсер stat); спека
    приведена к модели идентичности; тикет 03 закрыт, леджер дополнен.
- Проверка:
  - python3 -m unittest discover -s tests — 49 OK.
  - bash tests/test_proxy_launchers.sh — 8 PASS.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 07:02:33 -04:00
ddadmin f2d303c233 docs: add .scratch/ workflow and sub-agent delegation policies
- Зачем:
  - зафиксировать правила работы с .scratch/ (рабочая зона) и делегирования субагентов.
- Что:
  - описано, что .scratch/ коммитится, но не попадает в master.
  - добавлена процедура слияния фиче-ветки (git rm .scratch + --no-ff).
  - описаны принципы делегирования объёмной и механической работы субагентам.
- Проверка:
  - cat AGENTS.md
2026-07-20 04:27:56 -04:00
ddadminandClaude Fable 5 e048d79d46 docs(xray-proxy): добавлен handoff конвейера перед compact контекста
- Зачем:
  - пользователь сжимает контекст сессии; состояние конвейера и решения
    должны переживать сжатие в файле проекта, а не в разговоре.
- Что:
  - создан .scratch/handoffs/20260720-0425-xray-proxy-after-06.md: состояние
    после задачи 06, порядок 03→04→05, правила прогона
    (medium-эксперимент, леджер, thread_id) и решения пользователя.
  - в AGENTS.md закреплено правило размещения handoff-записок в
    .scratch/handoffs/ (одноразовые, коммитятся, уборка best-effort).
- Проверка:
  - git show --stat HEAD.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 04:25:32 -04:00
ddadminandClaude Fable 5 98bfd6338a refactor(xray-proxy): срезана accidental-сложность CLI, тестов и спеки
- Зачем:
  - CLI и спека были переусложнены относительно принятой модели угроз
    (один пользователь, доверенная машина): лишняя ось версий Xray и
    защита от входов, которые не возникают при ручном редактировании.
- Что:
  - убрана поддержка Xray 25.12.8 — поддерживается только 26.3.27;
    allowInsecure валидируется, но никогда не эмитится в JSON.
  - удалена проверка владения сокетом через /proc/net/tcp; идентичность
    процесса и сверка адрес/порт со state сохранены.
  - валидация INI/профиля/адреса/query сведена к отказам на реальные
    опечатки; scoped IPv6 отклоняется одинаково на Python 3.8 и 3.9+.
  - удалены fsync/O_EXCL-церемония, SIGALRM-таймер, zombie-инспекция,
    мёртвый отпечаток профиля и двойной разбор extra/alpn.
  - shell.bash принимает вывод env без ре-валидации, сохранив атомарность;
    спека и issue 01–05 приведены к новому объёму (тикет 06, леджер).
- Проверка:
  - python3 -m unittest discover -s tests — 34 теста OK.
  - bash tests/test_proxy_launchers.sh — 8 проверок PASS.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 04:13:54 -04:00
ddadmin 71e16a795a chore(sync): слиты локальные docs и origin/master (xray-proxy) 2026-07-20 02:34:49 -04:00
ddadmin e69a4bb7df feat(xray-proxy): добавлен управляемый прокси для CLI
Зачем:
- отделить переносимый прокси-интерфейс от общих Bash-функций
- запускать агентские CLI через явный внешний или управляемый прокси

Что:
- добавлен stow-пакет xray-proxy с CLI, Bash-модулем и примерами
- реализованы строгий разбор VLESS и управляемый запуск Xray
- добавлены проверки процесса, порта, сигналов и отсутствия утечек
- сохранены спецификация и очередь следующих тикетов

Проверка:
- python3 tests/test_xray_proxy.py — 22/22
- python3 tests/test_xray_proxy_managed.py — 16/16
- bash tests/test_proxy_launchers.sh — 9/9
- bash tests/test_install.sh
- bash -n, Python 3.8 grammar, git diff --check
2026-07-20 00:00:59 +03:00
ddadmin 1a422a4ead docs(agents): добавлена настройка инженерных навыков
- Зачем:
  - инженерным навыкам нужны единые правила хранения задач и документов предметной области.
- Что:
  - настроено локальное хранилище задач с веточным жизненным циклом.
  - добавлены стандартные состояния triage и схема single-context.
  - добавлены ссылки на настройки в AGENTS.md.
- Проверка:
  - git diff --cached --check.
2026-07-19 13:50:06 -04:00
ddadminandClaude Fable 5 fdf744e578 docs(claude-playbook): перенесены находки зеркального codex-плейбука
- Зачем:
  - зеркальный codex-subagent-playbook ушёл вперёд по договорам ревью и
    экономии контекста координатора; согласованный с пользователем список
    находок перенесён в этот скилл.
- Что:
  - SKILL.md: установка «оптика, не конвейер», гейт и ручки эскалации для
    субагентов, саморевью исполнителя, шкала риска ревью с линзами
    TASK/CODE, статусы триажа с предохранителем кругов, постепенная
    приёмка с саморефлексией, раздел «Сбои координации».
  - prompts/: устойчивые ID находок, четыре статуса триажа, резолюции — в
    файл отчёта вместо тикета (лечит эхо файла задачи); новые
    result-contract.md и runtime-language.md.
  - prompt-templates.md: файлы линий ревью, сборка промптов с хвостом
    языка, вердикт перепроверки из task-notification; lessons.md — гейт
    на дистилляцию и датированная отмена урока про доводы в файле задачи.
- Проверка:
  - проверка относительных ссылок и git diff --check — чисто.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-19 19:37:32 +03:00
ddadminandClaude Fable 5 5b2db5bd7f docs(claude-playbook): уточнён дефолт эффорта Codex до medium
- Зачем:
  - решение пользователя 2026-07-19: sol на medium закрывает обычные
    задачи, прежнее правило дефолтило high почти всюду.
- Что:
  - в codex-exec.md переписано сквозное правило эффорта: medium — обычные
    задачи, high — нетривиальная реализация, ревью кода, диагноз.
  - к примеру запуска исполнителя добавлена пометка о выборе эффорта.
- Проверка:
  - вычитка references/codex-exec.md.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-19 19:37:18 +03:00
ddadmin 716fb7f5dd docs(xray-proxy): добавлена спецификация консольного клиента
- Зачем:
  - нужен зафиксированный контракт переносимого Xray-клиента для удалённых Linux-систем.
- Что:
  - описаны Python CLI, отдельный Bash-модуль и совместимость с внешним Hiddify.
  - закреплены преобразование VLESS-ссылок, версии Xray и обработка TLS.
  - определены жизненный цикл в tmux, безопасность файлов и проверки реализации.
- Проверка:
  - выполнена проверка `git diff --cached --check`.
2026-07-16 00:06:10 +03:00
Dmitriy Dementiev 3b7ebd29c8 chore(sync): слиты изменения origin/master
- Зачем:
  - origin/master обновился во время отправки локальных коммитов.
- Что:
  - добавлена удалённая эмпирика Claude-плейбука.
  - сохранены локальные изменения Codex-плейбука и handoff.
- Проверка:
  - отсутствие конфликтов и последующая проверка состояния ветки.
2026-07-13 14:13:29 +03:00
Dmitriy Dementiev baac159189 docs(codex-playbook): добавлен handoff по оптике ревью
- Зачем:
  - следующей сессии нужен компактный контекст решений и незавершённой синхронизации.
- Что:
  - сохранены ссылки на действующие договоры скилла и триаж ревью.
  - описана гонка удалённой ветки и безопасный порядок последующего merge.
- Проверка:
  - git diff --check и проверка локальных ссылок handoff.
2026-07-13 14:12:43 +03:00
Dmitriy Dementiev 02a98df8c3 fix(codex-playbook): уточнён вердикт ревью планов
- Зачем:
  - ревью высокоуровневых документов могло требовать преждевременных деталей и постоянно блокировать одобрение.
- Что:
  - находки ограничены дефектами на уровне самого документа.
  - существенные отложенные риски отделены от блокирующих замечаний.
  - уточнено, что APPROVED допускает открытые вопросы будущей реализации.
- Проверка:
  - quick_validate.py, git diff --check и проверка локальных Markdown-путей.
2026-07-13 14:09:25 +03:00
Dmitriy Dementiev 70b18b9e9a fix(codex-playbook): устранены жёсткие допущения в шаблонах
- Зачем:
  - shell-зависимые примеры и конвейерные формулировки сужали применимость оптики.
- Что:
  - сборка подсказок описана платформенно-нейтральным порядком файлов.
  - граница ревью и маршрут актуальных отчётов оставлены гибкими.
  - исправлены входная формулировка и локальная навигация по ролям.
- Проверка:
  - quick_validate.py, git diff --check, Markdown-ссылки и узкая перепроверка агентом.
2026-07-13 13:25:33 +03:00
Dmitriy Dementiev 6cc1b26ce4 refactor(codex-playbook): согласована оптика тонкого мастера
- Зачем:
  - нужно сохранить контекст координатора и устранить расхождения с зеркальным playbook.
- Что:
  - закреплены делегирование, маршрутизация моделей и ограничение кругов ревью.
  - добавлены файловый договор ревью и согласованная эмпирика прогонов.
  - исправлены сборка слепых линий и компактные статусы находок.
- Проверка:
  - quick_validate.py, git diff --check и проверка локальных Markdown-ссылок.
2026-07-13 13:07:52 +03:00
Dmitry DementievandClaude Fable 5 9c047f9d1e docs(skills): эмпирика прогона 2026-07-13 в lessons субагентного плейбука
- Зачем:
  - зафиксировать уроки прогона тикета 06 (t2-presale) до их поглощения
    в SKILL.md.
- Что:
  - главный урок: карта прогресса для пользователя на границах этапов.
  - блок «Модели»: переоценка Sol, боевое подтверждение medium,
    роли Опус/Codex, наводка gpt-5.6-terra с пометкой «не обкатано».
- Проверка:
  - чтение references/lessons.md, запись «Прогон 2026-07-13».

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-13 11:31:02 +03:00
ddadminandClaude Fable 5 a4985b365d docs(skill): уроки прогона задачи 13 — эхо файла задачи и формат индекса
- Зачем:
  - третий боевой прогон подтвердил рефакторинг «тонкого мастера»;
    новые пожиратели контекста и слабое место Клод-ревьюера должны
    остаться в эмпирике скилла.
- Что:
  - lessons.md: запись прогона 2026-07-12/13 (находки этапов, три новых
    пожирателя, цифры конвейера).
  - prompt-templates.md: обёртка Клод-ревьюера требует однострочность
    индекса (Клод-родословная держит формат хуже Codex).
  - handoffs/: handoff разработки с открытыми вопросами (эхо файла
    задачи, приём вердикта из уведомления, эксперимент medium).
- Проверка:
  - вычитка; факты сверены с транскриптом прогона задачи 13.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-13 00:09:24 +03:00
ddadmin f9ea5b8c44 refactor(skill): плейбук возвращён к оптике тонкого мастера
- Зачем:
  - субагенты должны сохранять внимание мастера и помогать результату, а не обслуживать обязательный конвейер.
- Что:
  - семиступенчатый процесс заменён эвристиками выбора исполнителя, проверяющего и независимого ревьюера.
  - права агентов отделены от канала результата, а полная полезная нагрузка выведена из контекста мастера.
  - добавлены авторитетные договоры промптов, полевые заметки и handoff следующей сессии.
- Проверка:
  - git diff --cached --check.
  - свежий обзор через writing-great-skills, все принятые находки закрыты.
2026-07-12 23:50:37 +03:00
ddadmin 7110a075ea docs(skill): принцип «мастер решает», готовые boilerplate-промпты, ревизия
- Зачем:
  - ретро прогона 2026-07-12 (задача 20, clickstream-demo): контекст
    оркестратора съедали инлайн-диагнозы, переписывание boilerplate и
    кириллица в обменных файлах.
- Что:
  - SKILL.md: принцип «мастер решает — субагенты выясняют» со стоп-краном
    «сам — максимум один заход», обменные файлы на английском, сквозная
    проверка до ревьюеров, будильник одной строкой.
  - references/prompts/: готовые английские boilerplate-файлы (мандат
    ревью, триаж, перепроверка) — подшиваются cat'ом, контекст мастера
    не проходят; prompt-templates перестроен под сборку.
  - codex-exec: модель gpt-5.6-sol, лестница эффорта, ловушка «&»;
    sandbox-справочник переименован в codex-sandbox-apparmor.md;
    lessons дистиллирован, добавлена запись прогона 2026-07-12.
  - закрыты 14 находок слепого Fable-ревью скилла (согласованность,
    единый источник $SCRATCH, скелет ревью постановки).
- Проверка:
  - все внутренние ссылки резолвятся; слепое ревью: APPROVED_WITH_MINORS,
    восстановление структуры подтверждено без потерь.
2026-07-12 22:17:59 +03:00
Dmitry Dementiev 60182ab493 fix(agents): исправлена оркестрация моделей и контекста
- Зачем:
  - следующая сессия должна управлять стоимостью субагентов без повторной загрузки длинных отчётов в контекст мастера.
- Что:
  - разделены TOML-роли и разовые переопределения модели, уточнены fork и service tier.
  - добавлен файловый обмен, жизненный цикл временного каталога и нативные скелеты промптов.
  - синхронизированы полевые заметки и handoff с проверенной механикой Codex.
- Проверка:
  - quick_validate.py agents/.agents/skills/codex-subagent-playbook.
  - git diff --cached --check.
  - независимое ревью: VERDICT: APPROVED.
2026-07-10 17:59:15 +03:00
Dmitry Dementiev 0d2fc9af65 Merge branch 'skill/claude-playbook-context-retro': экономия контекста оркестратора 2026-07-10 16:58:10 +03:00
Dmitry DementievandClaude Fable 5 15d5515925 docs(skill): экономия контекста оркестратора по ретро прогона 2026-07-10
- Зачем:
  - ретро трёх циклов конвейера показало: находки ревью проходили через
    контекст оркестратора до шести раз, review-промпт дублировался, ~7
    пустых ходов на idle-пингах teammate-ревьюера.
- Что:
  - SKILL.md: механика «индекс у оркестратора, нагрузка файлами» — вердикты
    в файлы обменного temp-каталога, fix-промпт конкатенацией, один
    канонический review-промпт на обоих ревьюеров, idle-пинги как шум;
  - новый references/prompt-templates.md — скелеты четырёх промптов;
  - codex-exec.md: сборка промптов cat'ом, боевая модель gpt-5.5 явно
    (фронтир из конфига не наследовать);
  - codex-sandbox-fix-handover: рабочий AppArmor-фикс (ловушка memfd,
    профиль на бинарь codex), проверен на обоих режимах;
  - lessons.md: датированные записи ретро, казуса Sol и memfd.
- Проверка:
  - чтение SKILL.md и references/, следующий прогон конвейера.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-10 16:55:16 +03:00
Dmitry Dementiev 4d074adda6 feat(agents): добавлен плейбук оркестрации субагентов
- Зачем:
  - нужен повторяемый процесс делегирования без засорения контекста мастер-модели.
- Что:
  - добавлен явно вызываемый скилл с этапами, договорами возврата и защитой рабочего дерева.
  - описаны роли, уровни стоимости, полевые заметки и handoff для следующей версии.
- Проверка:
  - quick_validate.py agents/.agents/skills/codex-subagent-playbook.
  - git diff --cached --check.
2026-07-10 16:46:57 +03:00
Dmitry Dementiev 6e767d13ff docs(skill): двойное слепое ревью постановки и связка с /to-tickets
- Зачем:
  - прогон 2026-07-10 (mws-data-test-t2-presale) дал новую эмпирику
    этапов 1–2, не отражённую в скилле.
- Что:
  - этап 2: для крупной постановки — второе слепое ревью Кодексом с
    рамкой «постановку, не реализацию»; классы находок родословных;
  - этап 1: постановка через /to-tickets, когда репозиторий настроен
    под скиллы Мэтта Покока;
  - lessons.md: запись прогона с цифрами и ретро-оговоркой про
    companion-канал (issue #158).
- Проверка:
  - вычитка диффа свежим взглядом; ссылки ведут на существующие
    файлы references/.
2026-07-10 13:07:08 +03:00
Dmitriy DementievandClaude Fable 5 db6271f0f7 docs(skill): агенту предписаны инициатива и sudo-эскалация по sandbox-фиксу
- Зачем:
  - рецепт AppArmor-фикса требует sudo, а инициатива агента (диагностика
    до прогона, передача команд пользователю) держалась на здравом смысле,
    не на тексте скилла.
- Что:
  - в правило про линукс-ловушку codex-exec.md дописано: фикс сам не
    применяй — дай пользователю готовые команды с `!`-префиксом; после
    профиля напомни убрать use_legacy_landlock; перед первым прогоном на
    новой Linux-машине прогони диагностику превентивно.
- Проверка:
  - чтение правила в references/codex-exec.md.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-10 12:47:29 +03:00
Dmitriy DementievandClaude Fable 5 7607ce2b84 docs(skill): влиты линукс-уроки sandbox из ветки codex-sandbox-fix-20260710
- Зачем:
  - другая сессия на Ubuntu 24.04 задиагностировала молчаливую поломку
    песочницы Codex CLI 0.144.1 (bwrap+userns против AppArmor); знание
    нужно основной линии скилла — Linux-прогон конвейера впереди.
- Что:
  - перенесён references/codex-sandbox-fix-handover-2026-07-10.md
    (диагностика, обход use_legacy_landlock, AppArmor-профиль);
    раздел «Связанные записи» перенацелен с удалённого codex-companion.md
    на codex-exec.md.
  - в codex-exec.md добавлено сквозное правило про линукс-ловушку
    (сигнатура «гуглит, но не может ls»), в lessons.md — датированная
    запись, в handoff — кавеат к пункту про Linux-прогон.
- Проверка:
  - git show origin/codex-sandbox-fix-20260710 — содержимое перенесено
    полностью; перекрёстные ссылки codex-exec.md ↔ handover резолвятся.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-10 12:43:42 +03:00
Dmitriy DementievandClaude Fable 5 89ebd1d327 docs(skill): claude-subagent-playbook — write-ревьюер Codex и уборка
- Зачем:
  - read-only-конфайн обеднял ревью Codex (без тестов, поиска,
    первоисточников), а плотность SKILL.md и дефолты модели/усилия
    из config.toml накопили риски по итогам трёх прогонов.
- Что:
  - ветка «ревьюер» в codex-exec.md переведена на запись + авто-аппрув,
    защита — мандат промптом; в рецепты добавлены --strict-config и
    явные -m / model_reasoning_effort.
  - SKILL.md: правило «мандат промптом» для обоих ревьюеров, правило
    моделей субагентов (Опус/Sonnet, не Fable), /tdd и /research +
    Context7 в этапе 1, таймер-подстраховка ScheduleWakeup; уборка
    плотности и инлайн-дат.
  - handoffs 07-06/07-07/07-09 поглощены запиской 2026-07-10; в lessons.md
    добавлены правило дистилляции и блок 2026-07-10; правки прошли слепое
    ревью Опусом, все находки закрыты.
- Проверка:
  - оверрайды -m/-c проверены живым codex exec --strict-config;
    перекрёстные ссылки и команды сверены ревьюером с codex --help.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-10 12:41:09 +03:00
Dmitriy DementievandClaude Fable 5 4e496a1548 docs(skill): claude-subagent-playbook — прямой codex exec, уроки прогона 2026-07-09
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-09 20:05:37 +03:00
Dmitriy Dementiev 35d4114ba3 feat(wezterm): добавлен Windows-конфиг через chezmoi
- Зачем:
  - нужен живой WezTerm-конфиг, который тиражируется через dotfiles на Windows.
- Что:
  - добавлен репозиторный `wezterm/.wezterm.lua`.
  - добавлен chezmoi-шаблон для symlink `~/.wezterm.lua`.
  - README описывает Windows-настройку WezTerm.
- Проверка:
  - git diff --check -- README.md chezmoi/.chezmoiignore chezmoi/symlink_dot_wezterm.lua.tmpl wezterm/.wezterm.lua.
  - проверено, что `~/.wezterm.lua` является SymbolicLink на `dotfiles\wezterm\.wezterm.lua`.
2026-07-08 18:59:25 +03:00
ddadminandClaude Fable 5 39ef49dfcb docs(skill): claude-subagent-playbook — handoff прогона 2026-07-07
- Зачем:
  - зафиксировать уроки боевого прогона для сессии доработки скилла.
- Что:
  - handoff с шестью уроками: таймер-подстраховка и её экономика, прямой
    codex exec вместо плагина (с номерами issues), поправки пользователя
    к флагам CLI, идея читающего форвардера, вердикт из логов умершего
    агента, паттерн ожидания через отслеживаемый фоновый Bash.
- Проверка:
  - чтение handoff; коммит только одного файла, чужие untracked не задеты.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 22:40:02 +03:00
Dmitry DementievandClaude Fable 5 ba587293c9 docs(skill): claude-subagent-playbook — уроки боевого прогона 2026-07-07
- Зачем:
  - первый полный боевой прогон конвейера (наглядность витрины t2-ml-forecast)
    дал систематические уроки по ожиданию фоновых job и resume Codex-тредов.
- Что:
  - в references/lessons.md добавлен разбор прогона: idle-уведомление ≠ отчёт,
    bash-поллер умирает на смене хода (нужен persistent Monitor), зомби-job
    со статусом «running» у мёртвого воркера и его диагностика.
  - урок про resume уточнён по опыту пользователя из /adversarial-review:
    resume — только по явному id треда; безадресный resumeLast подхватывает
    чужой тред; запасной путь — свежий write-тред с контекстом из файла задачи.
  - зафиксировано: ранжировать правила постановки (что главнее) и требовать
    вписывать доводы отклонений в файл задачи; цифры прогона (18 мин
    реализация, тесты 147 → 154, ноль пересечений находок двух ревью).
- Проверка:
  - вычитка references/lessons.md.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 19:03:41 +03:00
Dmitry Dementiev 145ac75a09 docs(skill): claude-subagent-playbook — урок о смерти фонового ревьюера
- Зачем:
  - ревью скилла Опус-ревьюером не состоялось: субагент дважды ушёл в
    idle без отчёта и исчез; урок должен остаться в эмпирике.
- Что:
  - в references/lessons.md добавлен инцидент и вывод: критичный отчёт
    ревьюера писать в файл (двухканальный протокол), сообщение — указатель.
- Проверка:
  - зеркало ~/.claude/skills синхронно (rsync + diff).
2026-07-06 18:35:53 +03:00
Dmitry DementievandClaude Fable 5 138315d496 feat(skill): claude-subagent-playbook — конвейер одной задачи с Codex
- Зачем:
  - выжимка боевого прогона 2026-07-06 (t2-ml-forecast, витрина) в
    переиспользуемый плейбук: постановка → свежий взгляд → реализация
    Codex → слепое двойное ревью разных родословных → синтез.
- Что:
  - SKILL.md: роли, шаги с критериями закрытия, триаж у исполнителя,
    границы применимости; словарь общий с coordinator-loop;
  - references: механика codex-companion с ловушками и раннер-паттерном,
    накопительная эмпирика прогонов, определения deep-reasoner/fast-worker
    для воссоздания в новом репозитории;
  - handoffs: записка о рождении скилла и списке непроверенного боем.
- Проверка:
  - зеркало ~/.claude/skills синхронно (diff -rq чисто); боевой тест —
    следующий прогон конвейера по тексту скилла.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 18:22:00 +03:00
ddadminandClaude Fable 5 ca30ac5272 docs(skill): coordinator-loop — handoff дополнен второй волной 2026-07-05
Два круга кросс-ревью правок (находки по убыванию: конфликт уровней,
затем стенд/человек), раздел «Контракт автономного прогона» и открытый
пункт: контракт не проверен вживую до следующей цепочки.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-05 23:37:48 +03:00
ddadminandClaude Fable 5 c959911184 fix(skill): coordinator-loop — стенд и человек разведены в стоп-условиях
По ревью Codex: «живой стенд» ошибочно попал в класс «может проверить
только человек». Теперь как в статус-контракте: недоступную worker-у
проверку прогоняет координатор (часть коммит-гейта), открытым риском в
handoff уходит лишь то, что недоступно и ему — ручная приёмка, внешняя
среда.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-05 23:36:19 +03:00
ddadminandClaude Fable 5 f6b9b3b8e3 feat(skill): coordinator-loop — контракт автономного прогона
По предложению Codex из ретро: скилл проектировался под сценарий «передал
очередь issue и ушёл», но входной контракт и мандат были неявными. Новый
раздел фиксирует вход (issue, порядок, «зачем»), мандат (весь цикл без
уточняющих вопросов; за пределы локального репозитория — только по
поручению) и сводку стоп-условий со ссылками на их разделы — без
пересказа правил, чтобы не разъезжались. Предупреждение о третьем круге
уточнено: это не вопрос, ответа не ждать.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-05 23:33:26 +03:00
ddadminandClaude Fable 5 1d67a3ffe9 fix(skill): coordinator-loop — уровень по таблице, инварианты без привязки к домену
По ревью Codex: фраза «дефолт — рабочий уровень» противоречила таблице
effort-levels.md (worker обычного issue — экономный) и толкала запускать
всех worker-ов на high; заменена на выбор уровня по роли и классу issue.
Заодно «форма распределений» расширена до доменных инвариантов данных —
скилл общий, а не только для генератора.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-05 23:25:25 +03:00
ddadminandClaude Fable 5 4504410569 docs(skill): coordinator-loop — handoff дополнен ретро прогона 15→19
Итоги эксперимента medium-worker (критерий выхода не сработал), ссылка на
правки b8f1fe0, закрытые и оставшиеся пункты из «не сделано».

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-05 23:21:57 +03:00
ddadminandClaude Fable 5 b8f1fe017b docs(skill): coordinator-loop — правки по ретро прогона 15→19
Три уточнения по отзыву Codex, сверенному с журналом координатора:
- предусловие входа: качественно подготовленные issue (выход /to-issues),
  мутные — сначала прояснение замысла;
- точная граница чтения координатора: запрет только на код ради
  верификации, процессные артефакты — его зона;
- классификатор риска расширен маркерами из прогона (версионирование
  state, разрушающие пути, fail-open проверки); в effort-levels.md —
  итог калибровки: уровни не менять, точность даёт классификация issue.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-05 23:20:15 +03:00
ddadmin 03030d4f24 fix(skill): coordinator-loop — шумные команды гейта через файл-лог
- Зачем:
  - на прогоне 2026-07-05 make generator-test с зашитым pytest -v высыпал
    в контекст координатора полный список из 181 теста: правило «только
    сводка» было, а механики не было.
- Что:
  - шаг 7: гейт координатор гоняет сам (не через субагента), шумные
    команды — в файл-лог, в контекст только код возврата и итоговые
    строки; интерпретация объёмного вывода — разборщику логов
    экономного уровня.
  - ведущее правило и чек-лист дополнены той же механикой.
  - effort-levels: «разбор логов» добавлен в экономный ярус Claude Code.
- Проверка:
  - вычитка SKILL.md; grep по pytest/сводка/файл-лог — противоречий нет.
2026-07-05 20:32:27 +03:00
ddadminandClaude Fable 5 16da5fe499 docs(skill): coordinator-loop — итоги живого прогона и третий случай родословной
- Зачем:
  - session-handoff писался до живого прогона; вторая волна правок и
    результат кросс-прохода не были зафиксированы.
- Что:
  - дополнение к handoff сессии: шесть находок прогона, вторая волна правок,
    урок «живой прогон под наблюдением — самый дешёвый источник находок».
  - rationale: поправка 2026-07-05 — третий случай подтверждения находки
    о родословной (1 critical, 5 high после APPROVED той же линии).
- Проверка:
  - перекрёстные ссылки на отчёт кросс-ревью и коммиты правок сходятся.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-05 00:35:40 +03:00
ddadminandClaude Fable 5 12a4783168 feat(skill): coordinator-loop — триаж финала у fixer-а и ретро координатора
- Зачем:
  - триаж находок финального ревью не был назначен никому (worker-ы уже
    закрыты); ретроспектива координатора после цепочки 12-08 дала
    проверенные боевые предложения.
- Что:
  - триаж находок финала — у fixer-а тем же механизмом, что у worker-а.
  - словарь статусов отчётов и правило «APPROVED != завершение цепочки».
  - предупреждение пользователю на третьем круге ревью, до потолка.
  - шаг 3: уровень worker-а явно по effort-levels.md и в журнал.
- Проверка:
  - перечитывание разделов «Цикл» и «Финал цепочки» после правок.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-04 23:29:10 +03:00
ddadminandClaude Fable 5 359def54d7 fix(skill): coordinator-loop — находки финала по классу файла
- Зачем:
  - правило «всё чинит fixer» было слишком грубым: процессные файлы
    (PRD фичи, чекбоксы issue, журнал) — прямая зона координатора по
    построению скилла, отдавать их fixer-у бессмысленно.
- Что:
  - граница по классу файла: процессные — координатор сам (симптом
    пропущенного п.1), файлы проекта — fixer-субагент, кодовая находка —
    мини-issue с rerun ревью.
- Проверка:
  - сверка с живым прогоном: находки Bernoulli (PRD, чекбоксы) — класс 1,
    World Map в пользовательских доках — класс 2.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-04 23:00:16 +03:00
ddadminandClaude Fable 5 f5395ec2f1 fix(skill): coordinator-loop — fixer на финале и честный статус цепочки
- Зачем:
  - живой прогон: координатор сам правил доки по находкам финального ревью
    (полные тексты в контексте, второй писатель) и дал промежуточный статус,
    прочитанный пользователем как завершение.
- Что:
  - находки финального ревью чинит fixer-субагент с worker-контрактом,
    не координатор.
  - до выполнения финала каждый отчёт пользователю явно называет статус
    цепочки и остаток.
- Проверка:
  - перечитывание раздела «Финал цепочки».

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-04 22:57:12 +03:00
ddadminandClaude Fable 5 8eec4f1d86 fix(skill): coordinator-loop — rerun ревью продолжением, не свежей сессией
- Зачем:
  - координатор прочитал «свежие сессии» как запрет продолжать субагента:
    пять полных xhigh-обходов финального ревью вместо узких rerun-ов.
- Что:
  - правило уточнено: свежая сессия — про запуск без форка истории;
    узкий rerun — продолжение того же ревьюера через send_input.
  - свежий ревьюер обязателен по триггерам: спор, эскалация, широкая
    переработка, слабый индекс; правило продублировано в шаге 5 и финале.
  - reviewer-prompt.md: PREVIOUS_FINDINGS_BLOCK — только для свежего
    субагента.
- Проверка:
  - сверка с механикой rerun в claude-team-review (продолжение — штатный
    путь, блок прошлых находок — для свежего).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-04 22:52:03 +03:00
ddadminandClaude Fable 5 af9f5df672 docs(skill): coordinator-loop — уровень worker-а фиксируется в журнале
- Зачем:
  - эксперимент «worker на medium» должен быть измерим: круги ревью против
    уровня worker-а видны только если уровень записан.
- Что:
  - точка записи «старт issue» дополнена уровнем мышления worker-а.
- Проверка:
  - перечитывание раздела «Журнал прогона».

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-04 21:06:37 +03:00
ddadminandClaude Fable 5 5be83cb14a feat(skill): coordinator-loop — worker на medium, ревью глубже worker-а
- Зачем:
  - у worker-а есть страховочная сетка ниже по течению, у ревьюера нет:
    глубина мышления важнее на ревью, а worker — самая дорогая петля.
- Что:
  - таблицы уровней: worker на обычном issue — экономный (medium), любое
    code review и worker на гейтовом issue — рабочий (high).
  - в SKILL.md ярусы получили обоснование членства ролей.
- Проверка:
  - согласованность ярусов SKILL.md с обеими таблицами effort-levels.md.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-04 21:04:36 +03:00
ddadminandClaude Fable 5 61418a9708 fix(skill): coordinator-loop — уровень мышления субагентам задавать явно
- Зачем:
  - живой прогон issue 12 показал: субагенты не наследуют уровень сессии,
    дефолт spawn_agent — medium, worker и ревьюер молча ушли ступень ниже.
- Что:
  - effort-levels.md: явные значения уровней (medium/high/xhigh) и
    предупреждение про дефолт spawn_agent.
  - журнал: фиксировать фактический уровень хоста, не название яруса.
- Проверка:
  - сверка с конфигом сессии (model_reasoning_effort = high) и экраном
    прогона (spawn gpt-5.5 medium).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-04 20:58:46 +03:00