Commit Graph
100 Commits
Author SHA1 Message Date
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
ddadminandClaude Opus 4.6 6347252d4e docs(todo): добавлена задача на упрощение codex-review
- Зачем:
  - Codex и так имеет доступ к репо в read-only sandbox, сбор diff избыточен.
- Что:
  - добавлен пункт TODO: передавать список файлов вместо diff.
- Проверка:
  - cat TODO.md.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 23:38:32 +03:00
ddadminandClaude Opus 4.6 c7e981604e fix(skills): убраны permission prompts из codex-review
- Зачем:
  - каждый раунд ревью требовал 3-5 ручных подтверждений из-за $(), > и 2>&1 в bash-командах.
- Что:
  - шаг 2: Session ID генерируется Claude без bash, вместо $(date).
  - шаг 3: git diff → stdout + Write tool вместо > redirect; добавлен preflight через --shortstat.
  - шаг 7: resume stdout + Write tool вместо > 2>&1; дифференцированная обработка exit code.
  - добавлено пояснение о плейсхолдерах ${REVIEW_ID}/${CODEX_SESSION_ID}.
  - TODO.md: задача отмечена как выполненная.
- Проверка:
  - /codex-review code на текущем diff — 0 permission prompts за 3 раунда.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 23:33:36 +03:00
ddadminandClaude Opus 4.6 a05830c4f4 docs: план доработки codex-review в TODO.md, ссылка из AGENTS.md
- Зачем:
  - планы должны жить в TODO.md, AGENTS.md ссылается на него.
- Что:
  - перенесён план по codex-review из AGENTS.md в TODO.md.
  - в AGENTS.md добавлена ссылка на TODO.md.
- Проверка:
  - cat TODO.md, cat AGENTS.md.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 11:03:47 +03:00
ddadminandClaude Opus 4.6 3c690bdb12 fix(skills): ужесточены permissions и добавлен TODO для codex-review
- Зачем:
  - Codex-ревью выявило permission bypass через Bash(timeout *) и
    сохраняющиеся safety prompts на $() и > в bash-командах.
- Что:
  - permission сужен до Bash(timeout 600 codex exec *), rm-паттерны конкретизированы.
  - REVIEW_ID использует $RANDOM для энтропии, resume пишет в файл вместо pipe.
  - добавлен TODO в AGENTS.md: план замены bash-паттернов на нативные инструменты.
- Проверка:
  - /codex-review при следующем использовании.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 10:59:26 +03:00
ddadminandClaude Opus 4.6 6190fbaf08 fix(skills): улучшена надёжность и UX скилла codex-review
- Зачем:
  - скилл генерировал множество промежуточных bash-команд, каждая из которых
    требовала ручного подтверждения пользователя.
  - poll-loop (while/sleep) мог зависнуть навсегда при сбое Codex.
- Что:
  - добавлены permissions для типовых команд скилла (timeout, rm/Write для /tmp).
  - uuidgen заменён на date +%s (меньше промптов).
  - codex exec обёрнут в timeout 600 (10 мин) вместо poll-loop.
  - resume оставлен как primary, свежий exec — fallback.
  - добавлен захват session ID в Шаг 4.
- Проверка:
  - /codex-review при следующем использовании.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 10:38:07 +03:00
ddadminandClaude Opus 4.6 9341853479 refactor(claude): settings.json отдан Claude Code, базовые настройки в settings.local.json
- Зачем:
  - Claude Code перезаписывает settings.json при каждом «always allow», что создавало
    конфликт с managed-копией из dotfiles при повторном запуске install.sh.
- Что:
  - settings.json удалён из репозитория, Claude Code владеет им полностью.
  - создан settings.local.json (базовые permissions + statusLine), деплоится через симлинк.
  - install.sh: копирование + шаблон заменены на ln -sf с бэкапом и guard для edge cases.
  - check.sh: проверка обновлена под симлинк вместо «файл + chmod 444».
  - тесты: старый тест копирования заменён на 4 новых (симлинк, бэкап, директория, stow-миграция).
- Проверка:
  - bash tests/test_install.sh (15 тестов).
  - bash agents/.agents/skills/dotfiles-check/check.sh.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 10:28:41 +03:00
ddadminandClaude Opus 4.6 bdccd889fe refactor(skills): переработан скилл codex-review
- Зачем:
  - скилл работал только с планами; нужна поддержка ревью кода и автодетект режима.
- Что:
  - добавлен автодетект режима: plan, code, code-vs-plan.
  - три отдельных промпта для каждого режима ревью.
  - модель обновлена на gpt-5.4, reasoning effort = high.
  - исправлен сбор diff (условный, не перезаписывающий).
  - инструкции переведены на русский, промпты к Codex оставлены на английском.
  - добавлен вывод пути к файлу плана для открытия в IDE.
  - явные правила парсинга аргументов (model:..., reasoning level, путь к файлу).
- Проверка:
  - /codex-review в Claude Code.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 09:40:41 +03:00
ddadmin 9b05b4ab82 chore(skills): добавлен скилл codex-review
- Зачем:
  - нужен инструмент для итеративного ревью планов реализации через OpenAI Codex CLI.
- Что:
  - добавлен SKILL.md для скилла codex-review: цикл до 5 раундов, Claude отправляет план → Codex рецензирует → Claude правит → повторяет до VERDICT: APPROVED.
- Проверка:
  - вызвать `/codex-review` во время или после plan mode.
2026-03-30 23:42:22 +03:00
ddadminandClaude Opus 4.6 77adaad441 chore(skills): добавлены скиллы docstring и security-audit
- Зачем:
  - напоминание моделям про Google-style docstring'ы и Ruff-конфиг.
  - чеклист безопасности для ревью кода и зависимостей.
- Что:
  - добавлен docstring (DeerHide): вычищены мёртвые ссылки, добавлен Ruff select, правило языка проекта.
  - добавлен security-audit: чеклист OWASP, severity-уровни, формат отчёта.
  - убраны test-generator (Node.js стек) и api-docs (избыточен).
- Проверка:
  - ls agents/.agents/skills/{docstring,security-audit}/SKILL.md.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 19:44:37 +03:00
ddadminandClaude Opus 4.6 168b40ddd7 feat(docker): добавлен локальный SearXNG для веб-поиска из opencode
- Зачем:
  - модели в opencode не имели доступа к поиску без платных API.
- Что:
  - добавлен docker-compose для SearXNG (localhost:57458, без valkey).
  - секрет подставляется из .env через generate-config.sh при старте.
  - добавлен MCP-сервер searxng в конфиг opencode.
  - env_file с fallback: .env.sample работает из коробки, .env опционален.
- Проверка:
  - cd docker/searxng && docker compose up -d.
  - curl http://localhost:57458/search?q=test&format=json.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 19:09:41 +03:00
ddadminandClaude Opus 4.6 d3a91bea95 fix(opencode): заменён DuckDuckGo MCP с npx/bun на uvx
- Зачем:
  - duckduckgo-mcp (npx) требует bun, которого нет в системе.
- Что:
  - убран websearch из permissions (инструмент не существует в opencode).
  - команда заменена на uvx duckduckgo-mcp-server (Python, работает без bun).
- Проверка:
  - перезапустить opencode, убедиться что инструменты duckduckgo доступны.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 18:11:22 +03:00
ddadminandClaude Opus 4.6 1b675ab34a feat(opencode): включён встроенный websearch в permissions
- Зачем:
  - доступ к поиску в интернете для моделей без внешних MCP-серверов.
- Что:
  - добавлен "websearch": "ask" в секцию permission.
- Проверка:
  - открыть opencode, убедиться что websearch доступен как инструмент.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 17:42:29 +03:00
ddadminandClaude Opus 4.6 35b49e697d docs(readme): добавлена ссылка на репозиторий Opencode
- Зачем:
  - существует два проекта opencode, ссылка устраняет путаницу.
- Что:
  - название Opencode в таблице AI-инструментов обёрнуто в ссылку на anomalyco/opencode.
- Проверка:
  - открыть README.md, убедиться что ссылка ведёт на правильный репозиторий.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 17:21:59 +03:00
ddadminandClaude Opus 4.6 ffc794a219 feat(opencode): добавлен провайдер GLM-5.1 (Coding Plan) и TODO.md
- Зачем:
  - подключение модели glm-5.1 через подписку GLM Coding Plan Lite.
- Что:
  - добавлен кастомный провайдер zai с OpenAI-compatible адаптером.
  - создан TODO.md с планом миграции на config.d + stow (anomalyco/opencode#9062).
- Проверка:
  - открыть opencode, выполнить /models, убедиться что zai/glm-5.1 доступен.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 17:17:01 +03:00
ddadmin 9ce545d0bd chore(zed): добавлена конфигурация прокси для AI агентов
- Зачем:
  - требуется обеспечение работы Claude, Codex и Gemini через корпоративный прокси.
- Что:
  - добавлен глобальный параметр proxy.
  - настроены переменные окружения для claude-acp, codex-acp и gemini.
  - определены исключения для локальных адресов в NO_PROXY.
- Проверка:
  - запуск Zed с проверкой подключения к AI агентам.
2026-03-27 23:42:13 +03:00
ddadminandClaude Opus 4.6 cb0d09370a docs: добавлено предупреждение о перезапуске терминала в Windows quickstart
- Зачем:
  - winget install не обновляет PATH текущей сессии; без перезапуска
    chezmoi не находит pwsh и запускает скрипты через PS 5.1.
- Что:
  - добавлен комментарий между установкой пакетов и chezmoi apply.
- Проверка:
  - визуальная проверка README.md

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 20:19:31 +03:00
ddadminandClaude Opus 4.6 6c183356aa fix(chezmoi): utf8BOM не поддерживается в PS 5.1
- Зачем:
  - chezmoi запускает скрипт через PS 5.1, где допустимы только
    UTF8/Unicode/ASCII и т.д., но не utf8BOM (появился в PS 7).
- Что:
  - заменено -Encoding utf8BOM на -Encoding UTF8 (в PS 5.1 пишет с BOM).
- Проверка:
  - chezmoi -S "$HOME\dotfiles\chezmoi" apply (на Windows с PS 5.1)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 20:13:52 +03:00
ddadminandClaude Opus 4.6 21a6494cc4 fix(chezmoi): кириллица в PS-скриптах ломала парсер на Windows
- Зачем:
  - PS 5.1 читает UTF-8 без BOM как системную кодовую страницу;
    байт 0x91 из «Бэкап» интерпретировался как кавычка, ломая парсер.
- Что:
  - заменена кириллица в Write-Host/Write-Warning на английский текст
    в run_20-configure-windows-terminal.ps1 и run_before_10-migrate-gitconfig.ps1.
  - комментарии на русском оставлены (парсер их не обрабатывает).
- Проверка:
  - chezmoi -S "$HOME\dotfiles\chezmoi" apply (на Windows)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 20:11:32 +03:00
ddadminandClaude Opus 4.6 8567b2262c refactor(install): причёсан стиль и структура install.sh
- Зачем:
  - скрипт, написанный Codex, отличался по стилю от остального репозитория,
    трудно читался из-за вложенных условий и отсутствия визуальной структуры.
- Что:
  - добавлены секционные заголовки в стиле profile.ps1 (# ── Name ──────).
  - извлечён ask_yes_no() — убрано дублирование промптов.
  - WSL-логика вынесена в setup_wsl_hproxy() с flat early returns.
  - миграция stow-симлинка вынесена в migrate_claude_stow_symlink().
  - добавлены однострочные комментарии к хелперам и нетривиальным веткам.
- Проверка:
  - bash tests/test_install.sh
  - ./install.sh (идемпотентный повторный прогон)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 20:03:12 +03:00
ddadminandClaude Opus 4.6 877dd6cc4d chore(agents): удалён скилл differential-review
- Зачем:
  - скилл ухудшал работу Codex при ревью, добавляя избыточный контекст.
- Что:
  - удалены 5 файлов из agents/.agents/skills/differential-review/.
  - через симлинки скилл автоматически пропал из Claude и Opencode.
- Проверка:
  - grep -r differential-review agents/

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 19:47:30 +03:00
ddadminandClaude Opus 4.6 898db1098d refactor(wsl): унифицирована логика hproxy.local и добавлена миграция legacy boot command
- Зачем:
  - setup-hproxy.sh удалял запись из hosts до проверки gateway — при ошибке hosts ломался.
  - update_hproxy() дублировала логику скрипта с багами и не тестировалась.
  - legacy inline boot command в wsl.conf не мигрировался автоматически.
- Что:
  - setup-hproxy.sh: безопасный порядок (gateway → hosts), set -e, экранированная точка в sed.
  - update_hproxy() заменена на thin wrapper с проверкой wsl.conf и ошибок sudo.
  - install.sh: интерактивная замена legacy boot command, детекция существующих [boot] command,
    принимает русскую «у» наравне с «y».
  - README.md: описаны три сценария (WSL NAT, WSL mirrored — host-side resolution, native Linux).
  - добавлены тесты: existing boot command preserved, legacy command migration hint.
- Проверка:
  - bash tests/test_install.sh
  - ./install.sh (интерактивно, ответить «y» на миграцию legacy command)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 19:42:50 +03:00
ddadmin 22d38f80e5 fix(install): устранены конфликты stow в WSL и opencode
- Зачем:
  - нужно было убрать падение install.sh на абсолютных WSL-симлинках и существующей runtime-директории opencode.
- Что:
  - убран `--restow` из вызова stow, чтобы install не падал на ссылках `~/.aws` и `~/.azure`.
  - настройка `~/.config/opencode` переведена на ручную установку с backup существующего `opencode.json` и сохранением runtime-файлов.
  - в tests/test_install.sh добавлены сценарии для WSL-симлинков и существующей директории opencode.
- Проверка:
  - bash -n install.sh
  - bash -n tests/test_install.sh
  - ./tests/test_install.sh
2026-03-22 01:37:54 +03:00
ddadmin edeb8da3c2 fix(install): исправлена установка dotfiles и добавлены тесты
- Зачем:
  - нужно было убрать баги install.sh и сделать регрессии воспроизводимыми.
- Что:
  - исправлена установка через stow в HOME, миграция ~/.claude и копирование settings.json без разрушения рабочей директории.
  - стабилизирована WSL-логика через проверки интерактивности и защиту от дублирования boot command.
  - добавлен tests/test_install.sh с regression-сценариями для install.sh.
- Проверка:
  - bash -n install.sh
  - bash -n tests/test_install.sh
  - ./tests/test_install.sh
2026-03-22 01:21:56 +03:00
ddadminandClaude Opus 4.6 98484ad220 feat(wsl): добавлен boot-скрипт для автоматического резолва hproxy.local
- Зачем:
  - старая команда в wsl.conf дублировала записи в /etc/hosts при каждом ребуте.
  - настройка hproxy.local не была задокументирована в репозитории.
- Что:
  - создан идемпотентный скрипт scripts/setup-hproxy.sh (sed + append).
  - в install.sh добавлен интерактивный вопрос о подключении скрипта в wsl.conf.
  - в README.md добавлена документация по настройке hproxy.local (NAT и Mirror).
- Проверка:
  - cat /etc/wsl.conf, wsl --shutdown, getent hosts hproxy.local.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-18 11:11:03 +03:00
ddadmin 5eafb99639 feat(agents): добавлены скиллы для ревью, GitHub, диагностики и менторинга
- Зачем:
  - расширить набор переиспользуемых скиллов для повседневных задач: ревью PR, работа с GitHub, проверка dotfiles, диагностика сети, ревью кода менти.
- Что:
  - добавлен differential-review (Trail of Bits) — security-focused ревью PR.
  - добавлен github (Callstack) — workflow через gh CLI, stacked PRs.
  - создан dotfiles-check — bash-скрипт проверки целостности stow-симлинков.
  - создан proxy-debug — диагностика сети и прокси hproxy.local.
  - создан review-homework — ревью кода менти в обучающем формате.
- Проверка:
  - bash ~/.agents/skills/dotfiles-check/check.sh ~/dotfiles
2026-03-14 13:40:19 +03:00
ddadmin 984db1b6d7 feat(dotfiles): улучшена установка и управление конфигурацией
- Зачем:
  - нужен воспроизводимый способ установки на новую машину и защита от перезаписи tracked-файлов ИИ-инструментами.
- Что:
  - добавлен install.sh: stow всех пакетов, создание settings.local.json, chmod 444 на settings.json, автопатч .bashrc.
  - claude/settings.json разделён на базовый (permissions, statusLine) и локальный (model, effortLevel в settings.local.json).
  - добавлен .concept-software.ru в NO_PROXY в server-env-setup и bash_functions.
  - README переработан: install.sh как рекомендуемый способ, документация двухуровневых настроек Claude, Developer Mode hint, расширенное описание VS Code прокси.
- Проверка:
  - git clone + ./install.sh на чистой машине.
2026-03-14 11:31:10 +03:00
ddadmin 0009270c6e feat(agents): добавлены skills для PDF, docs, slides, jupyter и spreadsheet
- Зачем:
  - расширены возможности AI-ассистентов для работы с документами и презентациями
- Что:
  - добавлен skill pdf для работы с PDF файлами
  - добавлен skill doc для работы с Word документами
  - добавлен skill slides для создания презентаций PowerPoint
  - добавлен skill jupyter-notebook для работы с Jupyter ноутбуками
  - добавлен skill spreadsheet для работы с таблицами (Excel/CSV)
  - изменена модель Claude с sonnet на opus
- Проверка:
  - проверка доступности skills в AI-ассистентах
2026-03-13 23:35:45 +03:00
ddadmin bd06d5734c docs(root): добавлен AGENTS.md с описанием структуры проекта и правил для ИИ
- Зачем:
  - предоставить ИИ-агентам контекст по структуре репозитория (Bash, Tmux, Vim, VS Code, AI skills) и принятым в нем стандартам.
- Что:
  - создан файл `AGENTS.md` с описанием ключевых компонентов, способов развертывания (`stow`/`chezmoi`) и правил взаимодействия с Git.
- Проверка:
  - файл успешно добавлен в репозиторий и доступен для чтения агентами.
2026-03-11 15:16:19 +03:00
ddadmin 14b14596ec feat(gemini): добавлены git-команды в список разрешенных политик
- Зачем:
  - позволить агенту выполнять базовые операции анализа репозитория без лишних подтверждений.
- Что:
  - в `readonly-commands.toml` добавлены правила `allow` для `git status`, `git diff` и `git add`.
- Проверка:
  - запуск `git status` не должен вызывать диалог подтверждения (если политики применены).
2026-03-11 15:15:35 +03:00
ddadmin 1909d476b9 fix(claude): исправлен захардкоженный путь и модель в settings.json
- Зачем:
  - путь /home/dementev/ не работал на других машинах; модель была устаревшей.
- Что:
  - команда statusline переведена на переносимый путь ~/.claude/statusline-command.sh.
  - модель изменена с opus на sonnet.
- Проверка:
  - stow claude && claude — статусбар должен отображаться корректно.
2026-03-11 13:08:31 +03:00