Commit Graph
100 Commits
Author SHA1 Message Date
ddadminandClaude Fable 5 3780ae0293 feat(skills): линия уместности начата shape-проходом до чтения диффа
- Зачем:
  - на прогоне #158 (clickstream v2) три линии ревью дали ноль находок
    на реальной ошибке формы: агрегация ключевого зерна в Python,
    57 567 ключей через границу ClickHouse -> Airflow. Линза из одних
    запахов читает исполнение и не видит решений, а ревью от диффа
    принимает раскладку исполнителя как оглавление.
- Что:
  - в line-taste.md добавлен блок Shape: набросок ожидаемой формы из
    одной постановки до открытия диффа, список недиктованных решений,
    вердикт каждому; набросок и список предъявляются как checks run
    даже при нуле находок.
  - правило оценки распространено на shape-находки; указатели в
    prompt-templates.md называют линзу формой и вкусом.
  - в lessons.md записана эмпирика прогона #158.
- Проверка:
  - вычитка diff линзой writing-for-agents; боевая — следующий прогон
    конвейера: shape-артефакты видны в отчете линии уместности.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-27 15:47:41 -04:00
ddadminandClaude Fable 5 586f02c30b fix(skills): согласие на передачу кода Claude запрашивается до старта
- Зачем:
  - эгресс-политика Codex требует явного разрешения владельца на отправку
    diff внешнему сервису; на прогоне вопрос пришёл в середине ревью, а
    запасные Codex-ревьюеры молча потеряли разнообразие семейств.
- Что:
  - в запуске Claude-субагентов: разрешение на передачу кода запрашивать
    до начала реализации, одним вопросом на весь прогон.
  - в режимах ревью разведены причины недоступности внешней линии:
    техническая — работать доступными, согласийная — сначала спросить
    владельца, замена односемейными теряет основание линии дефектов.
- Проверка:
  - вычитка diff; боевая — следующий прогон конвейера: вопрос о передаче
    кода до реализации, ревью-линии без ручного вмешательства.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-26 17:05:26 -04:00
ddadminandClaude Fable 5 bbacd74c3e fix(skills): уточнён приоритет Codex-специфики над картой ролей базового
- Зачем:
  - на прогоне #156 правило «при расхождении побеждает базовый» снесло
    назначение Fable на вкусовую линию — Codex переключился на craftsman/Opus
    по карте ролей базового плейбука, потребовалось ручное вмешательство.
- Что:
  - приоритет базового ограничен общими механиками конвейера; запуск Claude
    и назначение моделей линиям действуют как записаны в этом файле.
  - у выбора Fable на вкусовую линию названо «почему»: базовый держит Fable
    для оркестрации только на стороне Claude, со стороны Codex она свободна.
- Проверка:
  - вычитка diff; боевая — следующий прогон конвейера без ручной правки
    выбора моделей.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-26 16:09:25 -04:00
ddadminandClaude Fable 5 07a17357f6 docs(skills): codex-subagent-playbook опёрт на базовый плейбук Claude
- Зачем:
  - скилл был заброшен, и Codex тихо подтягивал механики claude-subagent-playbook;
    рабочий промт конвейера #154 вручную докручивал недостающее.
- Что:
  - добавлен раздел «Базовый плейбук»: механики конвейера читаются из
    claude-subagent-playbook, при расхождении побеждает базовый.
  - добавлен раздел «Запуск Claude-субагентов»: permission-mode, свежая сессия
    и resume ревью-линий, --bg с наблюдением, выбор craftsman/deep-reasoner.
  - в приёмку добавлен проход на вычитание после триажа находок.
  - из описания скилла убрано устаревшее «(spawn_agent, TOML-роли)».
- Проверка:
  - вычитка diff; боевая проверка — прогон следующего тикета витрин
    промтом $codex-subagent-playbook.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-26 15:21:40 -04:00
ddadmin cb600bcaa8 feat(chatgpt): добавлен отдельный запуск через прокси
- Зачем:
  - приложение должно явно работать через прокси и сохранять настройку после обновлений.
- Что:
  - добавлены отдельный ярлык ChatGPT Proxy и запускатель на основе proxy-client.
  - исключено смешение прямого и проксированного режимов существующего процесса.
  - установка, документация и автоматические проверки дополнены новым Stow-пакетом.
- Проверка:
  - bash tests/test_chatgpt_proxy_launcher.sh.
  - bash tests/test_proxy_launchers.sh.
  - bash tests/test_install.sh.
2026-08-17 01:09:59 +03:00
ddadmin 97193eaa4b docs(rclone): добавлена настройка Яндекс Диска для Ubuntu
- Зачем:
  - нужна удобная работа с документами на большом Яндекс Диске из Linux.
- Что:
  - собраны выводы о поведении rclone mount на больших хранилищах.
  - добавлены команды установки, настройки, проверки и автозапуска в Ubuntu 26.04.
  - описаны ограничения кэша, внешних изменений и рекурсивного обхода.
- Проверка:
  - выполнена проверка `git diff --cached --check`.
2026-07-27 22:16:33 +03:00
ddadminandClaude Opus 5 357896faaa docs(skills): эффорт-карта субагентов пересчитана под Opus 5
- Зачем:
  - скилл писался под Opus 4.8; у Opus 5 усилия распределены иначе, high —
    верхняя рабочая ступень, xhigh дефолтить смысла нет.
- Что:
  - карта в SKILL.md сдвинута на ступень вниз (high — ревью постановок,
    medium — слепое ревью и узкие перепроверки, default — механика),
    нижняя граница ревью опущена с high до medium.
  - добавлены оговорки: неравномерность сдвига, deep-reasoner остаётся на
    high, механика едет на Sonnet и эффорт там не крутится.
  - в lessons.md записано решение 2026-07-26, помечена как пересмотренная
    запись 2026-07-21 и заведён открытый вопрос: чем координатор вообще
    выставляет effort (у Agent-тула такого параметра нет).
  - пункт про вспомогательных субагентов переписан активно: нет в репо —
    предложить создать по заготовке и работать ими.
- Проверка:
  - git diff HEAD~1 -- agents/.agents/skills/claude-subagent-playbook/;
    сверить, что xhigh в SKILL.md больше не упоминается.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-26 19:06:01 +03:00
ddadmin c6d7e7eeb0 feat(install): конфликтующие файлы бэкапятся перед stow для всех пакетов
- Зачем:
  - конфликт с уже существующим конфигом приходилось разбирать руками:
    stow печатал "All operations aborted" и откатывал все пакеты сразу.
- Что:
  - backup_conflicting_kitty_files заменена на общую
    backup_conflicting_stow_targets по списку AVAILABLE_PACKAGES.
  - обход повторяет логику stow: отсутствующая цель и каталоги-симлинки
    пропускаются вместе с поддеревом, поэтому свёрнутые пакеты
    (~/.codex, ~/.vscode-server) не обходятся и не бэкапятся.
  - в фикстуру тестов добавлен пакет wezterm, добавлены тесты на конфликт
    в HOME и на неприкосновенность содержимого свёрнутого пакета.
- Проверка:
  - bash tests/test_install.sh
2026-07-26 17:53:30 +03:00
ddadmin 6610adeac5 fix(install): чужой конфиг kitty больше не срывает stow целиком
- Зачем:
  - при существующем ~/.config/kitty/kitty.conf stow печатал
    "All operations aborted" и откатывал все пакеты, а install.sh падал
    по pipefail, не дойдя до настройки claude, opencode и .bashrc.
- Что:
  - добавлена backup_conflicting_kitty_files: неуправляемые файлы и чужие
    симлинки в ~/.config/kitty уносятся в .bak с временной меткой перед stow.
  - собственные симлинки пакета пропускаются, поэтому повторный запуск
    install.sh не плодит бэкапы.
  - добавлены тесты на существующий файл, чужой симлинк и повторный запуск.
  - из таблицы пакетов README убран zed: он не в PACKAGES с ab4c7c7.
- Проверка:
  - bash tests/test_install.sh
2026-07-26 17:43:18 +03:00
ddadmin 91592c5893 feat(kitty): добавлен stow-пакет с конфигом и темой kitty
- Зачем:
  - конфиг kitty не был под контролем версий, а свёрнутый stow-каталог
    приводил бы к попаданию рантайм-файлов kitty в репозиторий.
- Что:
  - добавлен пакет kitty с минимальным kitty.conf и current-theme.conf
    вместо 112 КБ sample-конфига от старой версии.
  - в install.sh kitty добавлен в PACKAGES, а ~/.config/kitty создаётся
    заранее настоящим каталогом, чтобы stow линковал по файлам.
  - тест folding переведён с невыпиленного zed на kitty, устаревшая
    проверка ~/.config/zed в тесте миграции заменена на assert_not_exists.
- Проверка:
  - bash tests/test_install.sh
2026-07-26 17:30:42 +03:00
ddadmin 962012204a Merge branch 'worktree-statusline'
- Зачем:
  - statusLine Claude Code ссылался на скрипт, который install.sh не создавал.
- Что:
  - новый statusline-command.sh (округление процентов, порог длины пути,
    работа в Git Bash без jq) и его установка в ~/.claude через install.sh.
- Проверка:
  - printf '%s' "$json" | bash claude/.claude/statusline-command.sh на тестовых JSON.
2026-07-26 17:14:50 +03:00
ddadmin 227fc93514 docs(readme): описана установка statusline-command.sh
- Зачем:
  - в таблице настроек Claude не было упоминания скрипта статусной строки,
    хотя install.sh теперь копирует его в ~/.claude.
- Что:
  - в строку про Claude добавлено «statusline-command.sh → копия из репозитория».
- Проверка:
  - grep -n statusline README.md.
2026-07-26 17:14:14 +03:00
ddadmin 571334d67b feat(claude): статусная строка переписана и устанавливается install.sh
- Зачем:
  - statusLine ссылался на ~/.claude/statusline-command.sh, которого install.sh
    никогда не создавал, а сам скрипт не округлял проценты и резал путь по числу
    сегментов вместо длины.
- Что:
  - скрипт переписан: округление процентов до целых, порог длины пути в
    переменной MAX_PATH_LEN (28), резервный разбор JSON без jq, USER/USERNAME и
    HOSTNAME вместо hostname -s, нормализация обратных слэшей — для Git Bash.
  - install.sh копирует statusline-command.sh в ~/.claude с правами 755.
- Проверка:
  - printf '%s' "$json" | bash claude/.claude/statusline-command.sh на JSON с
    дробными процентами, null в rate_limits и без блока rate_limits.
2026-07-26 17:12:56 +03:00
ddadmin ab4c7c7342 chore(stow): убран пакет zed из списка stow-пакетов
- Зачем:
  - конфигурация zed больше не управляется через stow и хранится локально в ~/.config/zed.
- Что:
  - убран zed из массива PACKAGES в install.sh.
- Проверка:
  - запустить install.sh и убедиться, что симлинк ~/.config/zed не создаётся.
2026-07-25 21:57:37 +03:00
ddadmin 051801efbe docs(skills): добавлен урок о taste-слепоте триажа в claude-subagent-playbook
- Зачем:
  - зафиксировать наблюдение: codex на триаже закрывает находки контрактными тестами с цитатами прозы, что формально корректно, но создаёт хрупкий мусор.
- Что:
  - записано решение пользователя: добавлять осмысленность кода в линзу Claude-ревьюера, срезание бессмысленного кода поручать Опусу, перепроверку после триажа давать линзе, видящей дифф целиком.
  - отмечен попутный эффект: образец заражает — легаси-жанр «тест на фразу README» подлежит чистке отдельным issue.
- Проверка:
  - git log --oneline -1
2026-07-23 15:02:42 +03:00
ddadmin 9d825cfca3 fix(skills): отключена блокировка auto-invoke для brainstorm-with-docs
- Зачем:
  - навык должен автоматически вызываться по описанию, а не только вручную.
- Что:
  - удалена опция disable-model-invocation: true из frontmatter.
- Проверка:
  - git diff — изменения только в SKILL.md.
2026-07-23 12:23:09 +03:00
ddadmin 3923894c06 chore(skills): обновлён .gitignore для навыков
- Зачем:
  - привести игнор-список в соответствие с текущим набором навыков.
- Что:
  - добавлен игнор для find-skills/.
  - исправлены записи claude-team-review и adversarial-review (убраны лишние слеши).
- Проверка:
  - git status — изменён только .gitignore.
2026-07-23 12:22:21 +03:00
ddadminandClaude Fable 5 c4c37d37b0 docs(skills): указатель на кавеат effort в возможностях хоста
- Зачем:
  - раздел «Возможности хоста» обещает reasoning_effort в схеме
    spawn_agent, а кавеат о его неприменении жил двумя разделами ниже —
    координатор поверил бы в ручку, которой сейчас нет.
- Что:
  - в пункт «Управляемая стоимость» добавлена ссылка на кавеат в
    «Выборе уровня».
- Проверка:
  - перечитка roles.md свежим взглядом после сверки близнецов.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-23 10:55:13 +03:00
ddadminandClaude Fable 5 eb0d52ef57 docs(skills): взаимообогащение близнецов-плейбуков после сверки
- Зачем:
  - близнецы развивались порознь и разошлись: проверенные боем правила
    клодовского плейбука отсутствовали в кодексовом, и наоборот; промах
    скиллом 2026-07-22 показал цену дрейфа.
- Что:
  - в кодексовый: одно ревью на версию артефакта, саморевью исполнителя и
    сквозная проверка до внешних линий, «Партнёр в петле», цена тихой
    ошибки как критерий уровня (заменой, класс задачи — иллюстрация),
    проверка внешних фактов первоисточником, кавеат про неработающий
    reasoning_effort субагентов;
  - в клодовский: «Пределы параллельности» (обратная пара), карта
    прогресса поглощена в «Пользователь в петле», автовызов моделью
    (описание с триггерами вместо disable-model-invocation);
  - lessons обоих: датированные записи сверки, урок 07-13 сжат до
    указателя.
- Проверка:
  - перечитка диффа свежим взглядом; следующий прогон конвейера — по
    автовызванному claude-subagent-playbook.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-23 10:51:58 +03:00
ddadminandClaude Fable 5 8312ef071e fix(skills): уроки прогона 2026-07-22 перенесены в клодовский плейбук
- Зачем:
  - вчерашний патч 43a93cd лёг не в тот скилл: уроки клодовского
    координатора попали в codex-subagent-playbook — близнец для
    координатора на стороне Codex; там «канал codex exec» — бессмыслица,
    а правила канала давно живут в claude-subagent-playbook/codex-exec.md.
- Что:
  - codex-subagent-playbook: три файла возвращены к состоянию до 43a93cd;
    во фронтматтер добавлен disable-model-invocation и адресное описание
    против повторного промаха;
  - claude-subagent-playbook: запись прогона issue #5 в lessons.md (чужой
    скилл, плагин вместо CLI, два писателя, приёмочный сценарий);
    в SKILL.md — владение деревом после остановки прежнего владельца и
    проверка команд приёмки на живом объекте.
- Проверка:
  - git diff 43a93cd^ по трём файлам codex-плейбука — только фронтматтер;
    перечитка lessons.md на связность.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-23 10:43:14 +03:00
ddadminandClaude Fable 5 43a93cd3c3 docs(skills): codex-playbook — канал командной строки и уроки прогона
- Зачем:
  - боевой прогон 2026-07-22 (конвейер issue #5 в демо-стенде) прошёл
    через плагин-обёртку Codex и воспроизвёл её известные баги; ресёрч
    2026-07-07 давно рекомендовал прямой CLI, но в скилл не был поглощён.
- Что:
  - roles.md: третий режим «Канал командной строки» — codex exec фоном
    у координатора, resume треда, плагин только для интерактива;
  - SKILL.md: передача владения только после остановки прежнего
    владельца; проверка команд сценария на живом объекте до прогона;
  - lessons.md: два датированных наблюдения 2026-07-22, вопрос №9
    переориентирован на проверку CLI-канала боем.
- Проверка:
  - перечитка трёх файлов на связность и отсутствие дублей;
    следующий прогон конвейера — по CLI-каналу.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-23 00:06:57 +03:00
ddadmin db0c3aff09 chore(agents): перенесены правила .gitignore для внешних плагинов skills
- Зачем:
  - правила для внешних плагинов теперь хранятся локально, в самой директории skills.
- Что:
  - в корневом .gitignore правила claude-team-review/adversarial-review заменены на .skill-lock.json.
  - в agents/.agents/skills/.gitignore добавлены claude-team-review/ и adversarial-review/.
- Проверка:
  - git status не показывает untracked файлы skills-плагинов.
2026-07-22 04:10:08 -04:00
ddadmin 1ad634adff chore(zed): удалены прокси-настройки из конфига редактора
- Зачем:
  - прокси больше не используется, настройки устарели.
- Что:
  - закомментирован параметр proxy.
  - удалён блок agent_servers с прокси-переменными для claude-acp, codex-acp и gemini.
- Проверка:
  - Zed запускается без ошибок конфигурации.
2026-07-22 03:58:36 -04:00
ddadmin 028817c555 docs(repo): удалены устаревшие инструкции и задачи
- Зачем:
  - документация должна отражать только действующие правила и планы.
- Что:
  - из AGENTS.md удалены устаревшие разделы о Git и общих требованиях.
  - из TODO.md удален прежний список задач.
- Проверка:
  - git diff --cached --check.
2026-07-21 16:38:29 -04:00
ddadmin 32051ae3f0 docs(gitverse): добавлено исследование API задач
- Зачем:
  - нужно понять, подходит ли GitVerse для управления задачами проекта.
- Что:
  - описаны Public API, совместимость с GitHub и GitLab и доступные операции.
  - сохранены результаты живых проверок и отличие внутреннего API.
  - добавлены безопасные команды повторной проверки и решение для dotfiles.
- Проверка:
  - git diff --cached --check.
2026-07-21 16:38:02 -04:00
ddadmin ea5c7afd4c feat(proxy-client): добавлена самостоятельная установка
- Зачем:
  - пакет должен устанавливаться безопасно без полного dotfiles и обязательного Stow.
- Что:
  - в master влита feature-ветка с установщиком, тестами и цельной инструкцией.
  - история проектирования сохранена, а рабочая зона .scratch удалена перед слиянием.
- Проверка:
  - bash tests/test_proxy_client_install.sh.
  - bash tests/test_install.sh.
2026-07-21 22:48:02 +03:00
ddadmin 8b82f7f0f0 chore(scratch): убраны рабочие заметки перед слиянием в master
- Зачем:
  - рабочая зона ветки не должна переноситься в master вместе с продуктовым кодом.
- Что:
  - удалён завершённый тикет самостоятельной установки proxy-client.
  - удалён служебный файл .scratch/.gitkeep.
- Проверка:
  - git diff --cached --name-status.
2026-07-21 22:47:16 +03:00
ddadmin 623ed8f871 fix(proxy-client): согласованы инструкции самостоятельной установки
- Зачем:
  - README смешивал пакетный и корневой установщики и оставлял неполные шаги для отдельных сценариев.
- Что:
  - выстроен цельный путь установки и настройки для standalone и полного dotfiles.
  - дополнена подсказка --no-shell-setup и добавлена регрессионная проверка.
  - закрыты критерии приёмки тикета и указана дата завершения.
- Проверка:
  - bash tests/test_proxy_client_install.sh.
  - bash tests/test_install.sh.
2026-07-21 22:45:28 +03:00
ddadmin f679515a8f feat(proxy-client): добавлен самостоятельный установщик
- Зачем:
  - пакет должен устанавливаться отдельно от dotfiles без ручной раскладки и опасных замен.
- Что:
  - добавлен безопасный установщик со Stow и прямыми симлинками.
  - добавлены идемпотентная настройка Bash и защита машинных файлов.
  - обновлены инструкция и полный набор интеграционных проверок.
- Проверка:
  - env XDG_STATE_HOME=<временный каталог> bash tests/test_proxy_client_full.sh.
2026-07-21 22:22:04 +03:00
ddadmin 43404d374f docs(proxy-client): добавлен тикет самостоятельной установки
- Зачем:
  - согласованный дизайн нужно передать агенту одной готовой вертикальной задачей.
- Что:
  - опубликован тикет самостоятельного установщика без блокирующих зависимостей.
  - зафиксированы критерии безопасности, совместимости, проверки и документации.
- Проверка:
  - git diff --cached --check.
2026-07-21 21:57:13 +03:00
ddadmin 86d63ab2aa docs(proxy-client): спроектирован самостоятельный установщик
- Зачем:
  - отдельный пакет должен устанавливаться без общего dotfiles и обязательного stow.
- Что:
  - зафиксирована единая раскладка симлинков через stow или ln.
  - отделены файлы пакета от машинного конфига и закрытого профиля.
  - добавлены правила конфликтов, настройки Bash и проверки установки.
- Проверка:
  - git diff --cached --check.
2026-07-21 21:42:33 +03:00
ddadmin 78aa5f6473 feat(proxy-client): добавлен управляемый прокси-клиент
- Зачем:
  - консольным инструментам нужен единый способ работать через внешний или локальный управляемый прокси.
- Что:
  - добавлены режимы external и xray, команды управления и оболочечные функции.
  - обновлены установка, документация и автоматические проверки.
  - рабочие материалы .scratch исключены из итогового состояния master.
- Проверка:
  - bash tests/test_install.sh.
  - bash tests/test_proxy_launchers.sh.
  - bash -n install.sh tests/test_install.sh tests/test_proxy_launchers.sh.
  - git diff --check origin/master...feature/proxy-client.
2026-07-21 11:23:36 -04:00
ddadmin fb655f0dc8 chore(scratch): очищен рабочий каталог перед слиянием
- Зачем:
  - рабочие задачи и handoff не должны попадать в итоговое состояние master.
- Что:
  - удалены временные материалы разработки proxy-client.
  - добавлен .scratch/.gitkeep для сохранения пустого рабочего каталога.
- Проверка:
  - git diff --cached --check.
  - find .scratch -mindepth 1 -print.
2026-07-21 11:21:37 -04:00
ddadmin 9c2e134fc1 fix(install): предотвращено сворачивание каталога .local
- Зачем:
  - свежая установка могла превратить ~/.local в ссылку на пакет и записать Xray в репозиторий.
- Что:
  - перед Stow теперь гарантируются настоящие ~/.local/bin и ~/.config/proxy-client без раскрытия посторонних ссылок.
  - добавлены регрессионные проверки свежего HOME и посторонней ссылки ~/.local.
  - README перестроены вокруг установки, выбора режима и ежедневного использования.
- Проверка:
  - bash tests/test_install.sh.
  - bash tests/test_proxy_launchers.sh.
  - bash -n install.sh tests/test_install.sh.
  - git diff --cached --check.
2026-07-21 11:15:27 -04:00
ddadmin bca90c1d21 docs(proxy-client): зафиксирована успешная H3-приёмка
- Зачем:
  - нужны фактические результаты ручной приёмки на рабочем профиле.
- Что:
  - подтверждены HTTP CONNECT и SOCKS5h на Ubuntu 26.04 с Xray 26.3.27.
  - записаны результаты проверки H3 под повторной нагрузкой и после простоя.
  - сохранён открытым вопрос проверки на других семействах Linux.
- Проверка:
  - 240 последовательных запросов без ошибок, две загрузки по 10 МБ и повторные запросы после 45 секунд простоя.
  - git diff --cached --check.
2026-07-21 10:30:53 -04:00
ddadmin 6e431d875e refactor(proxy-client): переименован интерфейс прокси
- Зачем:
  - прежнее имя выпячивало Xray, хотя клиент поддерживает также внешний прокси, а два каталога конфигурации были неочевидны.
- Что:
  - пакет, CLI, конфигурация, состояние, тесты и документация переименованы в proxy-client.
  - машинный конфиг, профиль и два явных примера собраны в одном пользовательском каталоге.
  - свежая установка защищена от сворачивания каталога конфигурации внутрь репозитория.
- Проверка:
  - bash tests/test_proxy_client_full.sh.
  - bash tests/test_install.sh.
  - ручные start, status и xray run -test; незавершённая сетевая приёмка записана в handoff.
2026-07-21 09:31:21 -04:00
ddadmin e5323284a8 fix(install): исправлено владение каталогом .config
Зачем:
- GNU Stow сворачивал весь ~/.config в пакет zed и помещал рабочие настройки в репозиторий.

Что:
- добавлена ограниченная миграция старой ссылки с возвратом данных в домашний каталог;
- предотвращено повторное сворачивание ~/.config на свежей установке;
- добавлены проверки сохранности профиля, повторного запуска и чужих ссылок.

Проверка:
- bash tests/test_install.sh
- bash -n install.sh tests/test_install.sh
- git diff --check
2026-07-21 08:29:52 -04:00
ddadmin fd8210db71 test(xray-proxy): добавлена полная проверка Python 3.8
- Зачем:
  - требовалось подтвердить нижнюю версию Python и исключить переполнение /tmp тестовыми данными.
- Что:
  - добавлен полный прогон под системным Python и CPython 3.8 через uv.
  - исправлены переносимость тестового Xray, уборка временных файлов и документация задачи 05.
  - добавлен список локальных навыков, исключаемых из Git.
- Проверка:
  - bash tests/test_xray_proxy_full.sh.
2026-07-21 07:52:58 -04:00
ddadmin 92cf3397da chore(sync): слиты изменения плейбука из origin/master
- Зачем:
  - в origin/master опубликованы правила разбиения задач и ревью постановки.
- Что:
  - объединены правила /to-tickets и шкала ревью с локальной картой effort.
  - сохранены уроки headless-xray-proxy и yantar-dags.
- Проверка:
  - выполнены трёхсторонняя сверка SKILL.md и git diff --cached --check.
2026-07-21 07:12:58 -04:00
ddadmin 811fc28b7c docs(claude-subagent-playbook): добавлены итоги эксперимента xray-proxy 03/04
- Зачем:
  - зафиксировать решения пользователя 2026-07-21 и эмпирику effort/кэша после двух боевых прогонов.
- Что:
  - явная карта effort для Claude-субагентов: xhigh — постановки/планы, high — слепое ревью, medium — перепроверки (SKILL.md);
  - уточнение критерия выбора effort по цене тихой ошибки этапа и эмпирика смены effort при resume (codex-exec.md);
  - сводка прогонов 03–04 с казусами: гонки конкурентности, выдумка формата .dgst, экономика конвейера (lessons.md).
- Проверка:
  - git diff HEAD~1 --stat.
2026-07-21 03:47:02 -04:00
ddadminandClaude Fable 5 1e7b9d3f3d docs(xray-proxy): обновлён handoff конвейера после задачи 04
- Зачем:
  - следующая сессия должна стартовать задачу 05 без восстановления
    контекста из транскриптов.
- Что:
  - создан handoff после 04: состояние конвейера, решения по эффорту от
    2026-07-21, план задачи 05 с ручными приёмками, грабли механики;
  - удалён отработанный handoff после 03.
- Проверка:
  - cat .scratch/handoffs/20260721-0343-xray-proxy-after-04.md.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-21 03:43:37 -04:00
ddadminandClaude Fable 5 086ff98db7 docs(xray-proxy): зафиксированы выводы эксперимента по эффорту в леджере
- Зачем:
  - решения по калибровке эффорта (2026-07-21) должны быть видны в самом
    проекте, а не только в плейбуке оркестратора.
- Что:
  - в «Наблюдения» леджера добавлен итог: реализация на medium допустима,
    экономику считать по конвейеру; эффорт-карта Claude-субагентов;
    пределы эффорта и эмпирика кэша Codex при resume.
- Проверка:
  - git diff предыдущей версии .scratch/headless-xray-proxy/token-ledger.md.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-21 03:41:39 -04:00
ddadminandClaude Fable 5 0432c4ae8a feat(xray-proxy): добавлена проверяемая установка Xray командой install
- Зачем:
  - пользователь без root должен получать проверенный бинарник Xray 26.3.27
    одной явной командой, без риска для живого managed-экземпляра.
- Что:
  - команда install [--replace]: пин 26.3.27, маппинг x86_64/aarch64,
    скачивание urllib + проверка SHA2-256 из официального четырёхзаписного
    .dgst, staging внутри ~/.local/bin и один атомарный os.replace;
  - границы размеров (64 MiB архив/бинарник, 4 KiB .dgst, счёт limit+1,
    сверка Content-Length) и guard managed-режима через start-lock;
  - типизированная StartLockBusyError, offline-тесты реального загрузчика
    через подмену urlopen, снапшоты дерева ФС в отказных путях;
  - README/спека обновлены, включая справку о последней версии с
    allowInsecure (25.12.8, удалена в 26.2.6); тикет 04 закрыт, леджер
    дополнен итогами эксперимента.
- Проверка:
  - PYTHONDONTWRITEBYTECODE=1 python3 -m unittest discover -s tests — 79 OK.
  - bash tests/test_proxy_launchers.sh — 8 PASS.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 13:46:33 -04: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
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
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
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
ddadminandClaude Fable 5 9fda85f012 fix(skill): coordinator-loop — субагенты только свежими сессиями
- Зачем:
  - живой прогон issue 12 показал: координатор тратит циклы на попытки
    передать worker-у полный контекст форком своей истории.
- Что:
  - явное правило в раздел ролей: worker, ревьюеры и диагносты запускаются
    свежими сессиями; форк тащит контекст координатора и убивает
    независимость ревьюера.
- Проверка:
  - перечитывание раздела «Роли» после правки.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-04 20:48:53 +03:00
ddadminandClaude Fable 5 0f8dfa0613 docs(skill): coordinator-loop — handoff сессии переработки
- Зачем:
  - зафиксировать итог сессии для продолжения: как проверялся пакет,
    повороты после ревью, что осталось незамеренным.
- Что:
  - добавлен handoff 2026-07-04-rework-session-claude-line.md.
  - в пакете правок обновлена строка статуса (внесено и закоммичено).
- Проверка:
  - перекрёстные ссылки между двумя handoff'ами сходятся.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-04 20:11:37 +03:00
ddadminandClaude Fable 5 2d9fc7eadb feat(skill): coordinator-loop — топология ревью под Codex и эскалация
- Зачем:
  - боевой прогон цепочки 07-11 показал: worker в Codex не может запускать
    субагентов, ревью шло пятью кругами без ограничителя, финальный handoff
    и закрытие issue выпадали из цикла.
- Что:
  - ревьюеров запускает координатор (наблюдатели, ограничение промптом),
    триаж находок и флаг «спор» — в worker-е; политика кругов с потолком.
  - две ручки стоимости: модель по роли и уровень мышления, таблица
    references/effort-levels.md; шаблон references/reviewer-prompt.md —
    скилл самодостаточен, без файлов claude-team-review.
  - журнал с метками времени; финал: PRD до ревью, Status: done
    docs-коммитом, handoff — условие выхода; handoff пакета правок.
- Проверка:
  - адверсарное ревью пакета свежим субагентом (2 блокера и 7 important
    закрыты) плюс саморевью; следующий боевой прогон цепочки — замер.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-04 20:09:35 +03:00
ddadminandClaude Opus 4.8 27370b92ba docs(skill): добавлен handoff по экономии контекста coordinator-loop
- Зачем:
  - сохранить выводы сессии проектирования у самого навыка, чтобы будущая сессия по доработке нашла их рядом с handoff про наблюдаемость.
- Что:
  - добавлена расширенная версия handoff: диагностика двух «пожаров» по логам Codex, prior art (obra:superpowers), два принятых правила с адресами правок в SKILL.md, кандидаты-фиксы и открытые вопросы.
- Проверка:
  - открыть handoffs/2026-06-14-coordinator-loop-context-economy.md

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-14 21:39:40 +03:00
ddadmin cf4056fe66 docs(skill): добавлен handoff по наблюдаемости
- Зачем:
  - нужно передать на другую машину договорённости по наблюдаемости coordinator-loop.
- Что:
  - добавлен handoff с форматом live-логов, summary и правилами gitignore.
  - зафиксированы отказ от state.md и run-id, а также best-effort heartbeat.
- Проверка:
  - просмотрен staged diff нового handoff-файла.
2026-06-14 20:10:47 +03:00
ddadmin 8f6d9de9d5 docs(skill): уточнено назначение README coordinator-loop
- Зачем:
  - README должен описывать границы скилла без ложных ожиданий от runtime-поведения.
- Что:
  - уточнена приёмка через агент другой модельной линии, если он доступен.
  - разделены проектная документация и документационные правки внутри issue.
  - проверяемость описана как свойство конечного результата цепочки.
- Проверка:
  - просмотрен staged diff README coordinator-loop.
2026-06-14 18:57:48 +03:00
ddadminandClaude Opus 4.8 2c70c97db3 docs(skills): добавлен README для coordinator-loop
- Зачем:
  - дать человеку и будущей сессии быстрый вход: зачем навык, где в конвейере, что на выходе.
- Что:
  - описаны место в потоке (brainstorm/grill -> to-issues -> coordinator-loop -> приёмка) и границы навыка.
  - зафиксировано, что проверяемость результата закладывается при проектировании, а не в этом скилле.
  - якоря контекста самодостаточны: ссылки только на SKILL.md и references/rationale.md.
- Проверка:
  - открыть agents/.agents/skills/coordinator-loop/README.md.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-14 18:48:58 +03:00
ddadmin aa3e362e4f fix(skill): уточнена обработка чужих правок координатором
- Зачем:
  - координатор должен обнаруживать чужие изменения до запуска worker-а.
- Что:
  - в цикле скилла добавлена остановка при чужих правках.
  - чек-лист обновлён проверкой раннего согласования с пользователем.
- Проверка:
  - просмотрен diff файла coordinator-loop/SKILL.md.
2026-06-14 18:15:46 +03:00
ddadminandClaude Opus 4.8 33a551d305 docs(agents): добавлены правила про русский язык и рассуждения
- Зачем:
  - распространить языковую политику стенда на личный репозиторий dotfiles.
- Что:
  - добавлен раздел «Язык и рассуждения»: ясный русский и рассуждения на английском.
  - фразы перенесены дословно из AGENTS.md учебного стенда.
- Проверка:
  - git show HEAD -- AGENTS.md.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-14 17:50:27 +03:00
ddadminandClaude Opus 4.8 7b95e0f5cb feat(skills): добавлен координаторский цикл coordinator-loop для Codex
- Зачем:
  - закрепить эксперимент с координатором субагентов как переиспользуемый навык для Codex.
- Что:
  - добавлен SKILL.md с циклом worker -> саморевью -> классификация -> ревью -> коммит.
  - эмпирика эксперимента вынесена в references/rationale.md.
  - добавлен мост codex/.codex/skills/coordinator-loop для подхвата навыка в Codex.
  - навык только по явному вызову (/coordinator-loop), без автосрабатывания.
- Проверка:
  - ls ~/.agents/skills/coordinator-loop/SKILL.md; вызов /coordinator-loop в Codex.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-14 17:50:11 +03:00
ddadmin a1fe4ce319 docs(brainstorm-with-docs): итоги первого живого теста — R1/F1/SEAM + план v2
- Зачем:
  - первый живой тест скилла вскрыл правки, которые надо закрепить, и идеи для v2.
- Что:
  - SKILL.md: R1 (рекомендация к вопросам-решениям), F1 (2-3 внутри рамки + ≥1
    дивергентный сверх, без филлера), inline/confirm для терминов, read-only
    инспекция данных в шаге 1, нейтральная SEAM-метка.
  - ROADMAP.md: статус первого теста, Landed R1/F1/SEAM, вердикты R2/F4/F5a, план v2.
- Проверка:
  - прочитать SKILL.md (core_rules, шаги 1/4/5) и ROADMAP.md.
2026-06-06 16:55:21 +03:00
ddadmin f3a41e2790 docs(understand): унифицирован пропуск, возвращён рационал согласия, добавлен различитель развилки
- Зачем:
  - убрать неоднозначности после ревью: два имени у пропуска сбивали агента, потеряна мотивация жёсткости, у самого судьбоносного решения «развилка или нет» не было опоры.
- Что:
  - пропуск чекпоинта везде назван «пропустить», явно отделён от выключения режима («stop»/«обычный режим»).
  - возвращена мотивация: ручное включение = согласие поджимать, не смягчать из вежливости.
  - в «Что считается развилкой» добавлен доменно-нейтральный различитель по распространению непонимания и цене отката.
- Проверка:
  - /reload-skills и вызов /understand на реальной развилке.
2026-06-06 13:27:24 +03:00
ddadmin e8c68ad398 docs(understand): уточнён режим проверки понимания
- Зачем:
  - нужен ручной режим, который проверяет понимание без лишнего торможения обычной работы.
- Что:
  - уточнены условия opt-in и работа режима в пределах текущей сессии.
  - добавлены правила языка сессии, явного пропуска и обхода проверки как отсутствия сигнала.
  - описана соразмерная проверка и варианты форматов ответа.
- Проверка:
  - просмотрен staged diff: git diff --cached -- agents/.agents/skills/understand/SKILL.md.
2026-06-06 12:58:08 +03:00
ddadmin 353a5d20bf feat(skills): добавлен скилл understand для активной проверки понимания
- Зачем:
  - нужен ручной режим, который ловит на непонимании, которого сам не чувствуешь, а не дублирует привычное «спрошу сам, когда замечу пробел».
- Что:
  - добавлен agents/.agents/skills/understand/SKILL.md.
  - активация только ручная (/understand и явные фразы), без авто-срабатывания.
  - принцип «избирателен где, непреклонен когда»: ленивое «ага» не зачёт, по умолчанию требует пересказ.
  - стоп-кран вместо свободы молчать, уровни объяснения подросток/стажёр/эксперт, состояние только в чате.
- Проверка:
  - /reload-skills и вызов /understand на реальной задаче.
2026-06-06 12:53:05 +03:00
ddadmin ce5fb6bea7 chore(skills): удалены неиспользуемые скиллы, review-homework вынесен
- Зачем:
  - разгрузить контекст сессии — каждый скилл грузит описание в каждый проект; убираем то, чем не пользуемся.
- Что:
  - удалены security-audit, proxy-debug, dotfiles-check, jupyter-notebook, docstring.
  - review-homework удалён отсюда и перенесён в репозиторий kb-mentoring (.skills/), где он тематически на месте.
- Проверка:
  - git status agents/.agents/skills — перечисленных папок больше нет; восстановимы из git-истории при необходимости.
2026-06-03 18:50:35 +03:00
ddadmin 01d1de88d3 docs(brainstorm-with-docs): добавлены ROADMAP и DEV-HANDOFF на время разработки
- Зачем:
  - решения и рассуждения по скиллу были размазаны по памяти агента,
    README и комментарию у шва; нужен durable in-repo источник, который
    переживёт смену сессии и не зависит от конкретного агента.
- Что:
  - ROADMAP.md: статус v1, отложенные решения (R1 рекомендованный ответ
    на вопрос, R2 дотошность грилла, F1 строка дивергенции, F4 связь с
    grill-with-docs, F5a docs/agents), v2-крупное и отклонённое (F6).
  - DEV-HANDOFF.md: контекст для возобновления, неочевидные обоснования
    (frontmatter-переносимость, гейт под auto mode, агайл), suggested skills.
  - README.md: ссылка на ROADMAP с пометкой про dev-only docs.
- Проверка:
  - markdown-ссылка README → ROADMAP.md резолвится.
2026-06-03 00:01:46 +03:00
ddadmin f24b342123 docs(brainstorm-with-docs): уточнены границы артефактов по внешнему ревью
- Зачем:
  - внешнее ревью выявило риск двойной записи решений (spec/ADR) и
    терминологическую путаницу; правки документные, поведение не меняют.
- Что:
  - adr.md и spec.md: добавлен lifetime-критерий ADR vs spec (ADR — для
    решений, переживающих спеку; локальные остаются в спеке).
  - spec.md: разведены Options considered (до выбора) и Decisions (после).
  - SKILL.md: блок <validation> переименован в <self_review>, чтобы не
    путать с секцией ## Validation в spec.md.
  - README.md: честнее описано авто-срабатывание на Codex.
  - SKILL.md: у SEAM зафиксирован TODO(F1) про строку дивергенции
    (отложена ради чистого baseline на обкатке).
- Проверка:
  - python3 yaml-парс frontmatter; нет висячих ссылок на <validation>.
2026-06-02 23:43:09 +03:00
ddadmin 50640d8cb5 feat(skills): добавлен скилл brainstorm-with-docs (v1)
- Зачем:
  - нужен ручной скилл для брейнсторма и дизайна, который удерживает
    словарь смыслов (CONTEXT.md) и лёгкие ADR, активно прожаривает план
    и не сваливается в реализацию.
- Что:
  - SKILL.md: процесс (контекст → классификация → декомпозиция →
    грилл → синтез опций → подтверждение → артефакт), единый HARD-GATE
    «исследуй, но не меняй состояние» с поправкой на auto mode.
  - artifacts/: шаблоны spec, research-note, adr, runbook, prd, context
    (по файлу на тип для progressive disclosure).
  - README.md с MIT-атрибуцией grill-with-docs (Pocock) и brainstorming
    (obra/superpowers); шов для будущей фазы дивергенции в шаге 5.
  - frontmatter переносим: Claude читает все поля, Codex — name+description.
- Проверка:
  - python3 yaml-парс frontmatter; markdown-ссылки на artifacts/ резолвятся.
2026-06-02 23:23:41 +03:00
ddadmin fd56702644 feat(claude): добавлен скрипт statusline-command.sh для строки статуса
- Зачем:
  - отображать в Claude Code текущий путь, ветку, модель и использование контекста/rate limits.
- Что:
  - создан claude/.claude/statusline-command.sh с парсингом JSON и ANSI-форматированием.
  - обновлён .gitignore для трекинга нового скрипта.
- Проверка:
  - запуск скрипта в рабочей директории проекта: bash claude/.claude/statusline-command.sh.
2026-04-26 22:39:21 +03:00
ddadmin 1a5ff7cecf feat(opencode): добавлен плагин superpowers в конфигурацию
- Зачем:
  - необходимо подключить набор skills для расширения возможностей агента Opencode.
- Что:
  - добавлена опция plugin с указанием репозитория superpowers в opencode.json.
- Проверка:
  - cat opencode/.config/opencode/opencode.json.
2026-04-25 20:13:14 +03:00
ddadmin f5e8fec192 fix(bash): добавлена поддержка IPv6 и lower-case переменных в proxy_on/off
- Зачем:
  - локальные MCP/loopback-соединения уходили в SOCKS5 через hproxy.local из-за отсутствия IPv6 в NO_PROXY
  - Python-приложения не видели прокси-переменные в lower-case
- Что:
  - добавлены ::1 и [::1] в список NO_PROXY для IPv6 loopback
  - добавлены lower-case переменные (http_proxy, https_proxy, all_proxy, no_proxy)
  - функция proxy_off теперь сбрасывает все прокси-переменные
- Проверка:
  - source ~/.bash_functions && proxy_on && echo $NO_PROXY && proxy_off
2026-04-19 12:25:03 +03:00
ddadmin 5d2d9e3d22 feat(skills): добавлены новые паттерны и quick scan в ai-text-lint
- Зачем:
  - расширить покрытие AI-маркеров и добавить быстрый режим для коротких текстов.
- Что:
  - добавлен режим quick scan (только 🔴 high, без развёрнутых объяснений).
  - новые паттерны: P05 (буква «ё»), L06 (hedging), S07 (двоеточие перед списком), T05 (sandwich pattern).
  - расширен словарь L01 (формирование, реализация, осуществлять, функционирование).
  - улучшена детекция S04 (добавлен синтаксический аспект однородности).
  - обновлены таблицы severity для всех контекстов.
- Проверка:
  - /ai-text-lint на тестовом тексте с новыми паттернами.
2026-04-05 16:49:48 +03:00
ddadmin e11258b51d feat(skills): добавлен скилл ai-text-lint
- Зачем:
  - нужен инструмент для проверки текстов на типичные признаки AI-генерации перед публикацией.
- Что:
  - создан SKILL.md с workflow линтера (диагностика без автоправок, контекстная severity).
  - создана база паттернов references/patterns.md (20 паттернов в 6 категориях: пунктуация, лексика, структура, тон, резюме, связки).
  - матрица severity по трём контекстам: article, message, resume.
- Проверка:
  - вызвать /ai-text-lint на произвольном тексте.
2026-04-05 11:28:09 +03:00
ddadminandClaude Opus 4.6 76e6b293c8 refactor(skills): оптимизирован codex-review для Plan Mode и resume
- Зачем:
  - в Plan Mode ревью плана вызывало ~5 permission prompts (git, Write, rm),
    хотя для плана git не нужен, а план уже является файлом.
- Что:
  - добавлен fast path: явный `plan` или Plan Mode пропускают git-проверки
  - base branch определяется лениво (только для code/code-vs-plan)
  - resume упрощён через `2>/dev/null` (stderr → /dev/null, stdout = чистое ревью)
  - cleanup пропускается в Plan Mode, best-effort вне его
  - удалены deprecated permissions claude-diff-* из settings.local.json
- Проверка:
  - `/codex-review plan` в Plan Mode — 0 permission prompts
  - `/codex-review code` вне Plan Mode — работает как раньше

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 12:26:46 +03:00
ddadminandClaude Opus 4.6 fee4587129 docs(todo): известные проблемы и план публикации codex-review
- Зачем:
  - зафиксировать известные проблемы и план выделения скилла в отдельный репо.
- Что:
  - добавлен TODO: resume переключает sandbox/reasoning (разобраться с плагином).
  - добавлен TODO: pipe в определении base branch.
  - добавлен TODO: отдельный репозиторий + статья на Хабр (высокий приоритет).
- Проверка:
  - cat TODO.md.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 00:14:06 +03:00
ddadminandClaude Opus 4.6 2d12d83486 docs(todo): добавлена задача на изучение codex-plugin-cc
- Зачем:
  - официальный плагин OpenAI может содержать идеи для улучшения скилла codex-review.
- Что:
  - добавлен пункт TODO со ссылкой на openai/codex-plugin-cc.
- Проверка:
  - cat TODO.md.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 00:09:33 +03:00
ddadminandClaude Opus 4.6 55079efe46 refactor(skills): codex-review передаёт список файлов вместо diff
- Зачем:
  - Codex имеет доступ к репо в read-only sandbox и может сам читать diff — сбор в temp-файл избыточен.
- Что:
  - шаг 1: автодетект дополнен проверкой branch-изменений (BASE_BRANCH...HEAD).
  - шаг 2: добавлено определение base branch через origin/HEAD + fallback main/master.
  - шаг 3: diff заменён на --name-only списки (unstaged+staged, branch как fallback).
  - шаг 4: промпты передают список файлов и git-команды вместо <diff-path>.
  - убраны temp-файлы claude-diff-*, preflight --shortstat, часть cleanup.
  - TODO.md: задача отмечена как выполненная.
- Проверка:
  - /codex-review code — одобрено Codex за 3 раунда, 0 permission prompts.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 00:07:57 +03:00