- state.json снова хранит адрес и порт: при смене конфига у работающего
Xray status/env/run отказывают и советуют перезапустить start.
- Ошибки разбора ссылки называют файл профиля.
- Тесты: отказ start при чужой версии Xray, ключи REALITY не попадают
в вывод, Xray узнаётся после замены файла; машинный конфиг проверяется
через CLI; тест пути по умолчанию не зависит от доступности Hiddify.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Спецификация 603 → 220 строк: без описаний снятых защит и без пересказа
кода и README; остались задача, границы, решения с причинами и риски.
В README раздел «Изменение кода» ведёт к спецификации и тестам.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
- Проверка «тот ли процесс»: /proc/PID/exe для Xray и cmdline для
супервизора вместо boot_id, времени старта и разбора argv; нет больше
состояния «не удалось подтвердить, удалите файлы вручную».
- Установка Xray: SHA-256 и атомарная замена остаются; без ограничений
размера, строгого разбора .dgst и блокировки на время установки.
- Разбор ссылки: extra — обычный json.loads; allowInsecure/insecure
игнорируются с предупреждением.
- Ошибки о файлах называют полный путь и готовую команду
(chmod 600 для профиля, rm для битого state.json).
- Тесты: разбор ссылок — табличные без запуска процессов, по одному
запуску на сценарий управляемого Xray; без подмены внутренних функций.
Код 1569 → 925 строк, тесты 2479 → 895, прогон 63 → 9 с.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
- install.sh ставит три прямые ссылки без Stow; чужие файлы не трогает
и перечисляет все конфликты сразу; ~/.local и ~/.config могут быть
ссылками; блок в ~/.bashrc дописывается, если нет маркера.
- proxy_on читает вывод proxy-client env без временного файла.
- Тесты Bash-функций работают через поддельный PROXY_CLIENT_BIN.
- test_proxy_client_full.sh запускает только тесты proxy-client,
прогон под Python 3.8 — если есть uv.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Проверка порта перед запуском открывала сокет без SO_REUSEADDR и
отказывала, пока на порту доживали закрытые соединения Xray (TIME_WAIT),
хотя сам Xray запустился бы. Живой слушатель флаг на Linux не обходит,
так что занятый порт по-прежнему обнаруживается.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Новые ссылки Hiddify пишут «/» перед параметрами, используют
VLESS-шифрование mlkem768x25519plus и flow=xtls-rprx-vision поверх XHTTP.
Разбор принимает эти ссылки; прежние форматы работают как раньше.
Vision поверх XHTTP разрешён только вместе с шифрованием.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
- Зачем: Claude Code с v2.1.273 при старте сессии скачивает скиллы аккаунта
claude.ai в ~/.claude/skills/synced/; ~/.claude/skills — симлинк на
agents/.agents/skills, поэтому кэш попадал в репозиторий как
неотслеживаемый каталог.
- Что: agents/.agents/skills/synced/ добавлен в .gitignore.
- Проверка: git status после правки чистый, кроме самого .gitignore.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- Зачем: не было скилла про содержание описания PR — только gh-команды
в github. Формат humanlayer/visual-pr совпадает с принятой структурой
коммитов «Зачем / Что / Проверка» и опирается на уже установленный show-me.
- Что: адаптированная копия humanlayer/skills visual-pr. Убраны привязки
к платформе HumanLayer (.humanlayer/tasks, permalink из хука), дубль
show-me заменён ссылкой на установленный скилл, финальный отчёт свёрнут
в одну строку. Скилл хостинг-независимый (glab, tea, gh), ручной вызов
через disable-model-invocation, язык описания — по истории коммитов.
Шаблон references/pr_description_template.md — без изменений.
В .skill-lock.json не добавлен, чтобы npx skills update не перезатёр
правки.
- Проверка: SKILL.md вычитан по правилам writing-for-agents (кэш --help
и дубли шаблона убраны); ссылка ../show-me/SKILL.md резолвится через
~/.claude/skills. Прогон на реальном PR ещё не выполнен.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- Зачем: плагин больше не используется, а в OpenCode 2 он не грузится (V1-формат) и даёт ошибку на старте.
- Что: из opencode.json удалена опция plugin с репозиторием obra/superpowers.
- Проверка: opencode plugin list больше не показывает superpowers; JSON валиден; V1 и V2 читают конфиг как раньше.
- Зачем: новому агенту нужна точка продолжения работы без пересказа существующих артефактов.
- Что: навык переименован в session-handoff; уточнены содержание записки и выбор пути, сохранён вызов из других навыков.
- Проверка: YAML и git diff --check пройдены; quick_validate.py отклоняет сохранённые поля argument-hint и disable-model-invocation.
- Зачем: сохранён общий стиль сообщений без избыточных ограничений для модели.
- Что: тело стало гибким, уточнены условия вызова и требования к amend; убраны повторения и пошаговые инструкции.
- Проверка: quick_validate.py и git diff --check пройдены.
- Зачем:
- retro входит в набор Matt Pocock и не должен храниться в этом репозитории.
- Что:
- в agents/.agents/skills/.gitignore добавлен retro/.
- Проверка:
- git status не показывает agents/.agents/skills/retro/.
- Зачем:
- после прерывания или сжатия контекста нужна возможность продолжить работу в новой сессии.
- Что:
- создан agents/.agents/skills/session-state-handoff/SKILL.md.
- скилл формирует документ-передачу и список скиллов для следующей сессии.
- Проверка:
- вызвать скилл session-state-handoff и проверить созданный документ.
- Зачем:
- Профили на пути установки Codex ломались после переустановки, а прежние проверки могли давать ложный успех.
- Что:
- Штатный профиль системного bwrap выбран основным способом настройки; исторические обходы ограничены подтверждёнными случаями.
- Уточнены диагностика, переход со старых профилей и проверки режимов и границ записи.
- Обновлены связанные инструкции и записан результат применения на Ubuntu 24.04.4 с Codex 0.154.0.
- Проверка:
- Пройдены quick_validate, проверка ссылок, синтаксиса Bash и git diff --check.
- Штатный профиль применён; старые профили выгружены. Оба режима и запреты записи проверены из процесса unconfined; подтверждены метки AppArmor у bwrap и дочерней команды.
- Зачем:
- продолжение треда не должно получать неподходящие модель и effort из конфига.
- Что:
- добавлено предупреждение явно указывать модель и effort при resume.
- Проверка:
- git diff --cached --check.
- Зачем:
- уточнены границы ответственности координатора и правила работы с effort.
- Что:
- добавлено принятие результата как обязанность координатора.
- уточнена рекомендация по смене effort внутри треда.
- сохранены выводы из прогона t2-ml-forecast.
- Проверка:
- git diff --check.
- Зачем:
- уточнены роли моделей и подход к их выбору в конвейере субагентов.
- Что:
- добавлена матрица цены, интеллекта, вкуса и качества текста.
- Terra назначена отправной точкой для технических задач.
- дополнены наблюдения о ревью и длительных сессиях Claude.
- Проверка:
- git diff --cached --check.
- Зачем:
- при делегировании нужно учитывать стоимость модели и явно задавать effort.
- Что:
- добавлена памятка о соотношении стоимости Astra, Sol, Terra и Luna.
- добавлено требование явно указывать уровень effort в поручении.
- Проверка:
- git diff --check.
- Зачем:
- устранено противоречивое разделение ролей в инструкции сопровождения субагентов.
- Что:
- закреплено использование одной Luna для механических работ и внешней линии.
- убраны устаревшие указания об отдельном помощнике и свободной роли.
- Проверка:
- git diff --check.
- Зачем:
- снизить стоимость внешнего сопровождения ревью без потери его роли.
- Что:
- указано, что отдельная Luna с effort medium для внешней линии очень предпочтительна.
- Проверка:
- git diff --check.
- Зачем:
- снизить ресурсоемкость внешнего сопровождения субагентов без потери его роли.
- Что:
- для Luna внешней линии указан уровень effort medium вместо high.
- Проверка:
- git diff --check.
- Зачем:
- сократить лишние обращения к координатору при ожидании ревью и передаче материалов.
- Что:
- уточнены оценка объема Git и трекерных операций, самостоятельное ожидание и прямой файловый обмен.
- сохранены предпочтения владельца по отдельному помощнику для Claude и передаче материалов.
- добавлено предпочтение Opus для независимого ревью с заменой на Astra при недоступности.
- Проверка:
- проверены локальные ссылки и git diff --check.
- штатный валидатор до и после правок отклоняет существующий ключ disable-model-invocation; режим вызова сохранен.
- Зачем:
- Зафиксировать единые правила выбора глубины Luna для технических поручений и сопровождения внешнего ревью.
- Что:
- Указана отправная настройка `high` для технических поручений Luna.
- Уточнено, что Luna готовит краткие итоги внешнего Claude-ревью и может продолжать сохранённую сессию.
- Проверка:
- git diff --check.
- Проверены состав изменений и формат сообщения Conventional Commits.
- Зачем:
- сохранить в основной ветке согласованный способ экономить контекст и сопровождать ревью.
- Что:
- добавлены правила изоляции и выбора Luna для механики Claude;
- закреплены факты прогона, передача отчетов и границы наблюдения.
- Проверка:
- git diff --check;
- проверено слияние двух коммитов feature-ветки без конфликтов.
- Зачем:
- связать выбор помощника и глубины с фактической ценой ошибки и сохранять контекст координатора.
- Что:
- уточнен свободный выбор `high` для Luna и выделение отдельного помощника для долгой линии Claude;
- описаны события наблюдения, необязательный минутный опрос и прозрачная передача результата;
- добавлены подтвержденные факты прямой передачи девяти находок и предпочтения Luna `high`.
- Проверка:
- `git diff --check`;
- проверены только три разрешенных файла и ссылки на комментарии #236:2840 и #236:2845;
- ранее пройдены адресные проверки и нормализованный `quick_validate`.
- Зачем:
- экономить контекст координатора, сохраняя проверяемость внешних ревью и объемных операций.
- Что:
- описана механика Luna для шумного вывода, необязательного Opus-ревью и коротких отчетов;
- уточнены изоляция контекста помощника, жизненный цикл Claude и передача разрешения и отчетов;
- добавлены наблюдения прогона и границы для частоты опроса и приема результатов.
- Проверка:
- git diff --check;
- проверены ссылки и настройки навыка;
- quick_validate на нормализованной копии без неподдерживаемого валидатором ключа `disable-model-invocation`.
- Зачем:
- Обновлена координация задач с защитой замысла, контекста и бюджета работы.
- Что:
- Ветка refactor/codex-subagent-playbook включена через merge --no-ff.
- Добавлены актуальные роли, переиспользование агентов, осмысленный триаж и отчеты партнёру.
- Сохранен текущий handoff, архивирована старая эмпирика и обновлены исключения скиллов.
- Проверка:
- Основной рефакторинг прошел независимое ревью и ограниченный поведенческий прогон.
- Финальные документы проверены на ссылки, YAML и ошибки форматирования.
- Рабочие заметки удалены из дерева; история решений сохранена в коммитах.
- Зачем:
- Рабочая зона .scratch не переносится в master по правилам репозитория.
- Что:
- Удалены спецификация и отчет проверки из текущего дерева ветки.
- Ссылки на их версии в истории сохранены в актуальном handoff скилла.
- Проверка:
- Сверены состав .scratch и доступность обеих версий документов в Git.
- Зачем:
- Завершена текущая работа и подготовлено продолжение без старых записок.
- Что:
- Три прежних handoff заменены актуальной запиской со ссылками на решения и проверки.
- Включены пользовательские исключения для установленных сторонних скиллов.
- Проверка:
- Проверены 53 относительные ссылки, 11 якорей, YAML и обе политики включения.
- Подтверждены сохранность 11 игнорируемых каталогов и доступность документов в Git.
- Пройден git diff --check.
- Зачем:
- Исполнитель и ревьюер получают полезные приемы по месту применения.
- Что:
- Добавлена условная ссылка на /tdd по имени скилла в поручении исполнителю.
- Из code-review Мэтта Покока перенесены названия запахов как подсказки для суждения.
- Подключена линза сопровождаемости с учетом правил проекта и соразмерности изменений.
- Проверка:
- Сверены двенадцать названий запахов с исходным скиллом.
- Проверены 61 относительная ссылка, 11 якорей и git diff --check.
- Зачем:
- Необязательный переход к шаблонам позволял пропустить границы вложенного делегирования.
- Что:
- Добавлен явный переход к мандату Sol и Terra при поручении реализации.
- Убраны повтор про пользу агента и дублирующее пояснение ссылки на роли.
- Проверка:
- Сверены накопленные изменения скилла после основного рефакторинга.
- Проверены 60 относительных ссылок, 10 якорей, YAML и git diff --check.
- Зачем:
- Область применения приема ограничена переданной группой тикетов.
- Что:
- Добавлен выбор готовых тикетов по существующим зависимостям.
- Указана проверенная и доступная зависимому исполнителю работа предшественника.
- Проверка:
- Проверены формулировка границ и git diff --check.
- Зачем:
- Скилл поддерживает выбранную пользователем модель координатора, включая Sol.
- Что:
- Вступление и описание интерфейса адресованы ответственному координатору.
- Sol и Terra указаны как обычные исполнители с выбором глубины по сложности.
- Приведены в соответствие роли, шаблон поручения и текущие вопросы журнала.
- Проверка:
- Проверены YAML, явное включение скилла, 60 относительных ссылок и якоря.
- Пройден git diff --check; сверены полномочия координатора и исполнителя.
- Зачем:
- Устаревшие наблюдения отделены от вопросов текущей редакции без потери истории.
- Что:
- Июльский lessons.md дословно сохранен в архиве.
- Рабочий журнал обновлен под Astra и дополнен условиями переноса старых периодов.
- Добавлен условный переход к эмпирике из итогового разбора координатора.
- Проверка:
- Подтверждено побайтовое сохранение прежнего файла в архиве.
- Проверены 60 относительных ссылок, 9 якорей и git diff --check.
- Зачем:
- Партнер видит ход автономной работы и может вовремя вмешаться.
- Что:
- Добавлены периодические сводки о состоянии и отклонениях.
- Уточнена остановка зависимой работы для решений за пределами полномочий.
- Добавлен итоговый разбор пользы делегирования и затрат с разделением измерений и оценок.
- Проверка:
- Проверены согласованность с правилами триажа и git diff --check.
- Зачем:
- Ревьюер может передать ограниченную механику и объемный вывод помощнику.
- Что:
- В мандат добавлено делегирование Luna с сохранением границ и независимости.
- Оценка доказательств, находки и итоговый отчет оставлены ревьюеру.
- Проверка:
- Проверены итоговый мандат и git diff --check.
- Зачем:
- Исполнитель получает границы самостоятельного делегирования вместе с задачей.
- Что:
- Добавлен блок для Sol с вспомогательной работой Luna и ответственностью за запись.
- Дополнительный исполнитель уровня Sol и переразбиение задачи отнесены к координатору.
- Уточнен запас контекста на реализацию, проверки и исправления.
- Проверка:
- Проверены размещение блока и git diff --check.
- Зачем:
- Сохранено полезное понимание области при переходе к соседней задаче.
- Что:
- Добавлен выбор существующего агента с обновлением цели и границ.
- Указаны основания для свежего контекста, включая независимость проверки.
- Проверка:
- Проверены итоговый абзац и git diff --check.
- Зачем:
- Актуализирована координация под Astra с сохранением замысла и бюджета контекста.
- Что:
- Разделены роли Astra, Sol и Luna; выбор приемов оставлен координатору.
- Сохранены независимое ревью, триаж и проверка соразмерности исправлений.
- Обновлены нативные механики и необязательная линия Claude CLI.
- Проверка:
- Проверены Markdown-ссылки, YAML и git diff --check; описано ограничение валидатора.
- Пройден поведенческий сценарий с тремя тестами и независимое ревью Claude.
- Перепроверены находки и фактическое продолжение фоновой сессии Claude.
- Зачем:
- сохранить замысел самостоятельного скилла для Astra-координатора.
- Что:
- описаны роли, защита контекста и выбор приёмов по задаче.
- сохранены отдельный триаж и защита от несходящегося ревью.
- Проверка:
- выполнен горячий обзор против обсуждения и действующего договора триажа.
- проверены локальные ссылки и git diff --cached --check.
- Зачем:
- запуск Claude без полного доступа ломает дальнейший процесс ревью и делает работу субагентов бессмысленной.
- Что:
- в раздел «Запуск Claude-субагентов» добавлено предупреждение о режиме доступа.
- Проверка:
- git diff agents/.agents/skills/codex-subagent-playbook/SKILL.md.