Зачем: «перечитай свежим взглядом» стало двусмысленным с появлением
субагентов — то ли сам перечитай, то ли зови свежую сессию.
Что: claude/.claude/CLAUDE.md с осью «сколько авторского контекста несёт
ревьюер»: горячее (автор сам, глазами читателя), тёплое (агент с брифом),
холодное (свежая сессия без контекста). Линкуется install.sh в
~/.claude/CLAUDE.md тем же механизмом, что settings.local.json; файл внесён
в белый список .gitignore.
Проверка: симлинк создан на этой машине, содержимое читается.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Текстовые огрехи горячее ревью правит молча по месту; находку уровня
решений (противоречие, дыра в охвате) предъявляет владельцу, не исправляя
и не замалчивая. Довод владельца: текстовые находки видны и неопасны, а
противоречия при перечитывании не раз оказывались важными — плоский запрет
переоткрывать решения заставлял бы молчать или чинить мимо владельца.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Самопроверка уехала до записи и работает по плану артефакта (уровень
решений; может вернуть в интервью, пока файла нет) — сверено с апстримом
Мэтта: валидация до записи, запись линейна. После записи — дешёвое
перечитывание готового файла глазами читателя, правки по месту, решения
не переоткрываются. Критерий конца интервью оставлен мягким (решение
владельца, в Rejected), версионный хвост в шаблоне context.md вычищен.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
README перестал объявлять скилл ручным: model-invocation — намеренное
текущее состояние (триггер — форма задачи, не область). Жёсткий гейт
получил исключение для глоссария (спорил с шагом 4) и стал единственным
владельцем запрета на реализацию; дубли правил схлопнуты к владельцам.
Отложенные находки (шов self_review, критерий конца интервью, версионные
пометки в шаблонах) — в Pending decisions ROADMAP.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Приземлён блок дивергенции из ROADMAP по итогам второго живого теста
(wayfinder-карта #26 стенда): шаг 5 разделён на веер и конвергенцию,
ширина веера — по весу решения, развилки решаются по месту в интервью.
Триггер «развилка» в description; описание и правила подрезаны по ревью
writing-great-skills. Свидетельства и доводы — в ROADMAP.md.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Зачем.
Фидбек пользователя после дня работы старой редакции с Opus 5-координатором —
готовый список для следующего структурного захода, чтобы не потерялся.
Что.
Запись 2026-07-31 с четырьмя наблюдениями: повторное ревью отревьюенной
постановки и переоценка сложности (правила есть — не держат; кандидат:
перевернуть дефолт на opt-in), код Кодекса не для учеников (боевое
подтверждение оси вкуса), вызов скилла ради механики субагентов вне
конвейера (кандидат: отдельная лёгкая точка входа). Помечено открытым
вопросом следующего захода.
Проверка.
Правка журнала, прогонять нечего.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Зачем.
Отдельный осознанный заход, закрывающий открытые вопросы 2026-07-26 и
2026-07-31: две ручки выбора (модель, эффорт) были про силу, вкус ими не
выражался; константы линий дрейфовали через перепечатку; правила
координации прогона #18 жили только в журнале; у Agent-тула нет ручки
effort — карта была нереализуема разовым вызовом.
Что.
- Третья ось выбора — вкус: references/model-matrix.md (матрица Тео с
поправкой пользователя под gpt-5.6-sol/Opus 5); разрез по подзадачам
на этапе 1, сначала вкусовая часть.
- «Родословная» разведена на семейство (классы находок) и свежесть
(независимость); линия дефектов — по различию, уместности — по умению.
- Ступень эффорта выбирается выбором агента: определений столько,
сколько пар (модель, ступень) — deep-reasoner (high), craftsman
(medium, исполнение брифов: реализация/ревью/перепроверки; поглотил
adversarial-reviewer), fast-worker; карта с обоснованиями — SSOT в
claude-agents.md.
- Константы — файлами в prompts/: line-task/code/rev, self-review;
line-taste — вкусовая линза с 12 запахами Фаулера из /code-review.
- Правила #18 — в механизм: инкрементальная запись индекса, глубина
один и проверка среды в мандате, признак жизни / другой путь вердикта
замене / среда своими глазами в «Сбоях», стенд одной линии, stdin фона.
- lessons дистиллирован (586→533), handoff захода — в handoffs/.
Проверка.
Слепое ревью Опусом по writing-great-skills: CHANGES_REQUIRED
(7 MAJOR, 17 MINOR, 3 NIT) — все закрыты или отклонены с доводом в
lessons; ссылки пакета проверены скриптом, битых нет. Боевой прогон
новой структуры — следующим заходом (чек-лист в handoff).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Зачем.
Разговор о том, кому отдавать вкусовую линию ревью, упирался в ложный
выбор между независимостью и компетентностью. Причина — склейка: различие
семейств нужно для покрытия классов ошибок, свежая сессия для
независимости от рассуждений автора, а называлось это одним словом.
Что.
Заметка в открытый вопрос о рефакторинге: два основания назначения линий,
названная плата и указание решить при рефакторинге, переносить ли это в
этап 4 и эффорт-карту. В репозитории стенда решение уже принято.
Проверка.
Правка документации, прогонять нечего.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Зачем.
Прогон #18 показал, чего не хватает: обе наши ручки выбора (эффорт,
модель) про силу, вкус ими не выражается. Решения приняты, но структурные
правки скилла отложены — чтобы не потерялись, они записаны в открытый
вопрос, который читается при следующем заходе.
Что.
- Третья ось выбора: разрез по подзадачам на этапе планирования, вкусовое
Опусу, руки Кодексу, ось ревью переворачивается. С требованием спросить
у пользователя матрицу и примеры.
- Набор запахов Фаулера из /code-review Мэтта Покока — сильнее самодельных
примеров в блоке Taste; оттуда же правило не сливать находки двух осей.
- Разбор журнала Codex-ревьюера: восстановление стенда ловушкой без
проверки, самовольные subagent-ы вопреки правилу «глубина один».
Проверка.
Правка документации, прогонять нечего.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Зачем.
Запись о прогоне была без раздела «Цифры», которого требует конвенция
файла, и без урока, ради которого прогон и запомнился.
Что.
- Цифры прогона #18: находки по линиям, приёмка на чистых томах.
- Урок: проверка, зелёная из терминала, может виснуть навсегда под
фоновым запуском — приёмка оркестратора нашла то, чего не нашли обе
линии ревью.
Проверка.
Правка документации, прогонять нечего.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- Зачем:
- решение 2026-07-23 «в линзу Клод-ревьюера — осмысленность кода» жило только в уроках и в памяти другого проекта, в заготовки промптов не попало: прогон #18 собрал старую линзу, и ревьюер не был обязан спрашивать, не дичь ли решение.
- общий вывод прогона: решение, записанное только в уроки, следующим прогоном не исполняется — ехать может лишь механизм, который подшивается в промпт.
- Что:
- prompt-templates.md: в заготовку line-task.md добавлен блок Taste — формально верное, но по сути неправильное считается находкой, три примера и правило оценки серьёзности по цене жизни с кодом; разрез по родословной переведён с цитаты фразы на именованный блок.
- SKILL.md: описание линии «по задаче» больше не расходится с заготовкой — названа уместность решения и дана отсылка за точными словами.
- lessons.md: две датированные записи (вкусовая линза; казусы координации прогона #18) и открытый вопрос о рефакторинге заготовок линий.
- Проверка:
- слепое ревью правок Опусом по критериям /writing-great-skills: CHANGES_REQUIRED, 5 MAJOR — сокращение списка примеров, ведущее слово, разрез блоком, устаревшая копия в SKILL.md; все замечания по своим правкам закрыты, структурные вынесены в открытый вопрос по решению пользователя.
- подтверждено ревью: расширение линзы не пустышка — прежний текст был целиком про соответствие постановке.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- Зачем:
- боевой прогон 2026-07-30 (тикет #12 v2) закрыл открытый вопрос: расширенный доступ Codex не нужен, штатной связки достаточно.
- Что:
- codex-exec.md: пункт про блок классификатора начинается с проверки песочницы; в рецепт исполнителя добавлено «шире не бери»; снят кавеат «боем не обкатано» — сеть и docker-сокет работают при штатной связке on-request + auto_review.
- lessons.md: датированный урок 2026-07-30 с дополнением по итогам прогона.
- Проверка:
- чтение обновлённых разделов; факты — из JSONL-логов прогона тикета #12 (docker manifest inspect и make up завершились completed под workspace-write).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- Зачем:
- копии списка в профилях разошлись: в PowerShell и VS Code не хватало
::1 и [::1], из-за чего один и тот же хост то шёл мимо прокси, то нет.
- Что:
- profile.ps1 и server-env-setup приведены к выдаче proxy-client.
- добавлен tests/test_proxy_env_sync.py — сверяет каждую копию с эталоном
DEFAULT_NO_PROXY_EXTRA и списки обхода Windows между собой.
- в файлах-копиях и README указан эталон и тест, который ловит расхождение.
- Проверка:
- python3 tests/test_proxy_env_sync.py (2 OK, на подложенном расхождении падает).
- python3 tests/test_proxy_client.py (54 OK), bash tests/test_proxy_launchers.sh (8 PASS).
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
- Зачем:
- домашний Gitea стал рабочим репозиторием и трекером вместо
заблокированного GitHub, а через прокси соединение с ним рвётся на TLS.
- Что:
- в DEFAULT_NO_PROXY_EXTRA добавлены dementev.space и .dementev.space
(две формы, так как программы читают список по-разному).
- тот же домен внесён в копии списка: profile.ps1, запускалки
claude/codex, .codex/.env и server-env-setup для VS Code.
- Проверка:
- proxy-client env | grep -i no_proxy — домен виден в обеих переменных.
- python3 tests/test_proxy_client.py (54 OK), bash tests/test_proxy_launchers.sh (8 PASS).
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
- Зачем:
- требуется единообразное окружение терминала на обеих ОС.
- Что:
- добавлен выбор локальной оболочки и меню запуска по платформе.
- настроены JetBrains Mono и XWayland для корректной рамки окна в GNOME.
- пакет WezTerm включён в установку через stow и описан в README.
- Проверка:
- wezterm show-keys, bash -n install.sh и stow --simulate --restow wezterm.
- Зачем:
- Codex app-server обходил прокси, а Claude удерживал окно Windows Terminal.
- Что:
- добавлен общий ~/.codex/.env и упрощён запуск Codex Desktop.
- ярлык Claude переведён на скрытый запуск через wscript.exe.
- документация приведена в соответствие с новой схемой.
- Проверка:
- соединения ChatGPT.exe и codex.exe направлены через 127.0.0.1:12334.
- проверены синтаксис PowerShell, состояние chezmoi и ярлык; Claude проверен вручную.
- Зачем:
- Claude Proxy не запускался при установке Claude из Microsoft Store.
- Что:
- сохранён прежний запуск обычного claude.exe.
- добавлена активация пакетного приложения по AUMID с параметрами прокси.
- генератор ярлыка получил поддержку значка из пакета Claude.
- Проверка:
- обе ветки запуска завершились с кодом 0.
- сетевой процесс Claude подключился к 127.0.0.1:12334.
- Зачем:
- обновлённое приложение запрещает прямой запуск ChatGPT.exe из WindowsApps.
- Что:
- запуск переведён на активацию пакета по AUMID.
- добавлены параметры Chromium для подключения к hproxy.local.
- описание ярлыка обновлено в README.
- Проверка:
- установленный скрипт завершился с кодом 0.
- сетевой процесс Codex подключился к 127.0.0.1:12334.
- Зачем:
- первый полный боевой прогон конвейера (наглядность витрины t2-ml-forecast)
дал систематические уроки по ожиданию фоновых job и resume Codex-тредов.
- Что:
- в references/lessons.md добавлен разбор прогона: idle-уведомление ≠ отчёт,
bash-поллер умирает на смене хода (нужен persistent Monitor), зомби-job
со статусом «running» у мёртвого воркера и его диагностика.
- урок про resume уточнён по опыту пользователя из /adversarial-review:
resume — только по явному id треда; безадресный resumeLast подхватывает
чужой тред; запасной путь — свежий write-тред с контекстом из файла задачи.
- зафиксировано: ранжировать правила постановки (что главнее) и требовать
вписывать доводы отклонений в файл задачи; цифры прогона (18 мин
реализация, тесты 147 → 154, ноль пересечений находок двух ревью).
- Проверка:
- вычитка references/lessons.md.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- Зачем:
- ревью скилла Опус-ревьюером не состоялось: субагент дважды ушёл в
idle без отчёта и исчез; урок должен остаться в эмпирике.
- Что:
- в references/lessons.md добавлен инцидент и вывод: критичный отчёт
ревьюера писать в файл (двухканальный протокол), сообщение — указатель.
- Проверка:
- зеркало ~/.claude/skills синхронно (rsync + diff).
- Зачем:
- выжимка боевого прогона 2026-07-06 (t2-ml-forecast, витрина) в
переиспользуемый плейбук: постановка → свежий взгляд → реализация
Codex → слепое двойное ревью разных родословных → синтез.
- Что:
- SKILL.md: роли, шаги с критериями закрытия, триаж у исполнителя,
границы применимости; словарь общий с coordinator-loop;
- references: механика codex-companion с ловушками и раннер-паттерном,
накопительная эмпирика прогонов, определения deep-reasoner/fast-worker
для воссоздания в новом репозитории;
- handoffs: записка о рождении скилла и списке непроверенного боем.
- Проверка:
- зеркало ~/.claude/skills синхронно (diff -rq чисто); боевой тест —
следующий прогон конвейера по тексту скилла.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- Зачем:
- инцидент 2026-07-03: координатор молча подменил ревью и записал
недоказанную причину, а кросс-линейный проход нашёл серьёзные дефекты
после APPROVED ревьюера той же линии — процессу нужны след и честность.
- Что:
- контракт worker-а: строка происхождения ревью в индексе (режим,
механизм, ревьюер, вердикт), сверка на коммит-гейте.
- append-only журнал прогона coordinator-journal.md: запись в момент
события, handoff собирается по журналу, отклонения фиксируются фактами,
причины-предположения запрещены; честная граница защиты названа явно.
- кросс-линейный проход поднят до рекомендованного по умолчанию для
нетривиальной цепочки; дубли свёрнуты (саморевью, раздел «Родословная»);
датированная поправка с эмпирикой в references/rationale.md.
- Проверка:
- /claude-team-review code (adversarial-reviewer, Opus, read-only):
APPROVED после 2 раундов, неблокирующие заметки применены.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Переписан SKILL.md (194→159): user-invoked, ведущее правило «работай по
индексу», per-finding триаж делегирован claude-team-review, режимы ревью
по риску (два лена разными субагентами на риске), коммит-гейт берёт только
сводку тестов, финал = ревью на соответствие замыслу + handoff под ручную
кросс-линию. README, rationale и июньский context-economy handoff подровнены;
добавлен handoff по сессии. Прошёл /claude-team-review — 2 раунда, APPROVED.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- Зачем:
- убраны избыточные инструкции по выполнению коммитов, которые дублируются в AGENTS.md.
- Что:
- удалены разделы "Алгоритм действий" и "Правила выполнения команд" со способами A, B, C.
- добавлен раздел "Примеры" с актуальными примерами оформления.
- обновлено поле description в YAML-заголовке.
- Проверка:
- git diff HEAD~1 -- agents/.agents/skills/conventional-commits/SKILL.md
- Зачем:
- README и ROADMAP должны отражать текущую модель скилла без устаревшего handoff.
- Что:
- удален временный DEV-HANDOFF.md.
- README уточняет отличие от grill-me и роль grill-with-docs как upstream influence.
- ROADMAP фиксирует R2/F4 как landed и описывает F1 как cheap frame-challenger.
- Проверка:
- git diff --check -- agents/.agents/skills/brainstorm-with-docs.
- Зачем:
- нужно точнее находить AI-маркеры в резюме и переписке, где слеш часто используется как компактный разделитель.
- Что:
- добавлен паттерн P06 для слеша как разделителя альтернатив и однородных понятий.
- описаны исключения, примеры, рекомендации и правила детекции.
- P06 включен в medium-маркеры для message и resume.
- Проверка:
- git diff -- agents/.agents/skills/ai-text-lint/references/patterns.md.
- Зачем:
- ярлык ломался после обновления PowerShell из Microsoft Store из-за версионного пути к pwsh.exe.
- Что:
- добавлено использование стабильного App Execution Alias для pwsh.exe.
- сохранен fallback на найденную команду pwsh и имя pwsh.exe.
- Проверка:
- пересоздан ярлык Codex Proxy и проверено, что TargetPath существует.
- Зачем:
- adversarial-review и claude-team-review подключаются в agents/ как внешние плагины и не должны версионироваться в этом репозитории.
- Что:
- в .gitignore добавлены agents/.agents/skills/{adversarial-review,claude-team-review}.
- восстановлен финальный перевод строки в файле.
- Проверка:
- git status --porcelain (каталоги больше не в untracked).
- Зачем:
- новые команды должны быть в справочнике, а непроверенная Windows-часть — зафиксирована как задача.
- Что:
- README: абзац про pclaude/pcodex и строки в таблицах bash/PowerShell-функций.
- TODO: добавлен ручной чеклист проверки PowerShell-части на Windows.
- Проверка:
- git show --stat HEAD.
- Зачем:
- claude/codex CLI должны гарантированно ходить через hproxy.local, а ручной proxy_on легко забыть.
- Что:
- добавлен spec docs/superpowers/specs/2026-05-19-proxy-cli-launchers-design.md.
- описаны команды pclaude/pcodex с fail-fast pre-flight для Linux (bash) и Windows (PowerShell).
- честная формулировка цели (удобство + best-effort), зафиксировано проверенное допущение о proxy-env.
- добавлены секция «Известные ограничения» (аддитивность, TOCTOU), PS-passthrough и регресс-тест proxy_on.
- Проверка:
- git show --stat HEAD.
- Зачем:
- codex-review дублировал adversarial-review с менее проработанными промптами,
а Codex CLI регулярно путался и пытался вызывать сам себя.
- Что:
- удалён скилл codex-review (SKILL.md).
- из TODO.md убраны завершённые задачи, актуальные перефокусированы на adversarial-review.
- в settings.local.json паттерны codex-review-* расширены до codex-* для adversarial-review.
- Проверка:
- git diff HEAD~1 --stat.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Зачем:
- порт 57458 попадал в динамический диапазон Hyper-V (49152–65535), что блокировало запуск контейнера на WSL2.
- Что:
- порт изменён с 57458 на 26745 в docker-compose.yml.
- обновлён SEARXNG_URL в конфиге MCP opencode.
- Проверка:
- docker compose up -d && curl -s -o /dev/null -w "%{http_code}" http://localhost:26745/
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Зачем:
- код Codex работал, но был тяжёл для чтения и сопровождения: 4 naming-конвенции, скрытая мутация $script:changed, 298 строк WT-скрипта почти без комментариев.
- Что:
- profile.ps1: комментарии на русском перед каждой функцией, секционные разделители, wt-here → wt_here (единый snake_case), Get-PublicIp упрощён до Invoke-RestMethod, Chocolatey boilerplate обрезан.
- WT-скрипт: Set/Remove-Prop возвращают bool вместо мутации $script:changed, naming выровнен в PascalCase, хелперы переименованы (Get-Prop, Set-Prop, Test-IsPS7, Test-IsStockPS7), комментарии к каждому блоку логики, вывод на русском.
- Git-миграция: блок комментариев с описанием 4 сценариев, пояснение 3 вариантов ManagedStubs, naming выровнен, вывод на русском.
- Проверка:
- pwsh -NoProfile -Command "[System.Management.Automation.Language.Parser]::ParseFile(...)" — синтаксис всех трёх файлов OK.
- chezmoi -S "$HOME\dotfiles\chezmoi" apply --dry-run --verbose.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Зачем:
- README вырос органически и перестал соответствовать тому, как человек его читает: quick start был на строке 80, требования после инструкций, Windows-справочник внутри установки, прокси и секреты размазаны по 4 местам.
- Что:
- добавлен quick start наверху (3 команды для каждой платформы).
- содержимое сгруппировано по платформе: Linux/WSL (stow), Windows (chezmoi), AI-инструменты.
- прокси, секреты и Git baseline консолидированы в отдельные секции.
- добавлены секции «Справочник» (bash/pwsh функции, точки расширения) и «Дизайн-решения».
- удалены дубли и заглушки (Stow вручную, Zed placeholder, VS Code Server как отдельная секция).
- Проверка:
- визуальный просмотр README.md.
- git diff --check — нет trailing whitespace / CRLF.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- .gitattributes уже нормализует новые файлы; renormalize убрал
CRLF из slides/LICENSE.txt (pre-existing, 201 CR).
- __pycache__/*.pyc убран из tracking, добавлен в .gitignore.
- Удалены тестовые бэкапы ~/.gitconfig.pre-chezmoi.bak-*.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Зачем:
- нужно убрать line-ending noise в репозитории и сделать Windows-слой безопаснее для запуска без установленного pwsh.
- Что:
- добавлена `.gitattributes` с LF-базой для текста и CRLF-исключениями для `.bat` и `.cmd`.
- `README.md` нормализован в LF и quick start дополнен явной установкой PowerShell 7.
- `chezmoi`-скрипты переведены на guard, совместимый с PowerShell 5.1, а запись `settings.json` переведена на `utf8BOM`.
- Проверка:
- `git diff --check`.
- `powershell.exe -NoProfile -ExecutionPolicy Bypass -File chezmoi\\.chezmoiscripts\\run_before_10-migrate-gitconfig.ps1`.
- `powershell.exe -NoProfile -ExecutionPolicy Bypass -File chezmoi\\.chezmoiscripts\\run_20-configure-windows-terminal.ps1`.
- `chezmoi -S C:\\Users\\dmitry\\dotfiles\\chezmoi apply --dry-run --verbose`.
- Зачем:
- нужно перенести привычные proxy_on/proxy_off/myip из bash в pwsh и убрать устаревший codevpn.
- нужно сделать Windows Git baseline проще и предсказуемее, чтобы effective значения и проверки не путались.
- Что:
- в managed profile PowerShell 7 добавлены `proxy_on`, `proxy_off`, `myip` и удалён `codevpn`.
- Git baseline перенесён в `~/.gitconfig`, а `~/.gitconfig.local` оставлен только для локальных и персональных override-настроек.
- README уточнён: legacy-статус Windows PowerShell 5.1, новые helper-функции и корректная команда проверки Git-конфига.
- Проверка:
- `chezmoi -S "$HOME\dotfiles\chezmoi" apply --force`
- `pwsh -NoLogo -Command ''Get-Command proxy_on,proxy_off,myip,Reload-Profile,wt-here; Test-Path function:codevpn''`
- `git config --global --includes --list --show-origin`
- Зачем:
- нужно перенести стабильную Windows-конфигурацию в dotfiles без поломки существующего stow/install.sh workflow для Linux и WSL.
- нужно убрать типичные проблемы Git на Windows, включая line endings, из ручной настройки машины.
- Что:
- добавлен отдельный source dir `chezmoi/` с tiny stub для PowerShell 7 и managed profile в `~/.config/powershell`.
- добавлены идемпотентная настройка Windows Terminal и managed Git baseline с миграцией локальных настроек в `~/.gitconfig.local`.
- обновлён README: описан Windows workflow, helper-функции pwsh и состав Git baseline без персональных данных.
- Проверка:
- `chezmoi -S "$HOME\dotfiles\chezmoi" apply`
- `pwsh -NoLogo -Command ''$PSVersionTable.PSVersion.ToString(); chcp; [Console]::InputEncoding.WebName; [Console]::OutputEncoding.WebName''`
- `git config --global --includes --list --show-origin`
- Зачем:
- stow tree-folding создавал симлинк ~/.claude → dotfiles/claude/.claude/,
из-за чего Claude Code модифицировал settings.json прямо в репозитории,
а рантайм-данные (sessions, credentials) попадали в каталог dotfiles.
- Что:
- claude убран из stow-пакетов, установка через ручную секцию в install.sh.
- settings.json копируется в ~/.claude/ (оригинал защищён chmod 444).
- добавлена автомиграция: симлинк → директория с переносом рантайм-данных.
- грязный settings.json в репо автоматически сбрасывается через git checkout.
- добавлен .stow-local-ignore для защиты от случайного stow claude.
- check.sh дополнен проверками: ~/.claude — директория, settings.json — копия.
- Проверка:
- bash install.sh (на машине с симлинком — мигрирует, иначе — идемпотентно).
- bash agents/.agents/skills/dotfiles-check/check.sh.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Зачем:
- статус git был засорен логами, базами данных, токенами и кэшами от локально работающих агентов (codex, gemini) и сервера VS Code, что затрудняло анализ реальных изменений.
- Что:
- в .gitignore добавлены правила для codex/.codex/, gemini/.gemini/ и vscode/.vscode-server/.
- добавлены исключения (!) для конфигурационных директорий и файлов (skills, policies, server-env-setup).
- Проверка:
- git status больше не показывает сотни неотслеживаемых локальных файлов.
- Зачем:
- навык не должен предлагаться AI-ассистентом автоматически при каждом изменении кода, так как это дорогостоящая и глубокая операция.
- Что:
- в описании (description) явно указано, что навык предназначен только для ручного вызова (Manual invocation only).
- обновлено поле description текстом "ONLY when explicitly requested by the user".
- Проверка:
- визуальная проверка agents/.agents/skills/differential-review/SKILL.md.