docs(skills): плейбук — уроки боевого прогона тикета #12 по песочнице Codex

- Зачем:
  - боевой прогон 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>
This commit is contained in:
Dmitry DementievandClaude Fable 5 committed 2026-07-30 20:54:36 +03:00
1 parent 97193eaa4b
commit ef09a7832b
2 files changed
+54 -7

No files matched your search

@@ -84,9 +84,13 @@
из файла рецептов (`!`-префикс в чат), после применения профиля напомни
убрать `use_legacy_landlock`. Перед первым прогоном конвейера на новой
Linux-машине прогони диагностику из файла рецептов превентивно.
- **Блок классификатора — решение пользователя.** Если запуск не прошёл
permission-гейт, дай пользователю готовую команду с префиксом `!` в чат
или попроси сменить режим разрешений. Сработавший путь — прямой exec;
- **Блок классификатора — сначала сузь песочницу, потом зови
пользователя.** Первая проверка: нет ли в команде `-s
danger-full-access` — классификатор его блокирует, и он не нужен:
docker и сеть проходят эскалацией под штатной связкой из рецепта ниже
(боевой прогон 2026-07-30, тикет #12 v2). Если блок не из-за
песочницы — дай пользователю готовую команду с префиксом `!` в чат или
попроси сменить режим разрешений. Сработавший путь — прямой exec;
companion с `--write` блокируется и напрямую, и через раннера.
## Ветка «исполнитель» (пишет код)
@@ -108,7 +112,10 @@ cat "$D/task-prompt.md" | codex exec --json --strict-config \
`approval_policy="on-request"` отработала боевой прогон 2026-07-09).
- Право записи + авто-ревьюер аппрувов. Скоуп ограничивай промптом («коммит
не делай», границы из файла задачи), не песочницей — жёсткий read-only
лишает исполнителя тестов и поиска.
лишает исполнителя тестов и поиска. Шире тоже не бери: `-s
danger-full-access` блокируется классификатором авторежима и не
нужен — docker-сокет (`make up`) и сеть (`docker manifest inspect`)
прошли эскалацией в боевом прогоне 2026-07-30 (тикет #12 v2).
- Промпт: путь к файлу задачи; мандат — в этапе 3 SKILL.md.
- До старта сними baseline `git status --porcelain`; после — сверь отчёт
Кодекса с деревом: правок, которых он не называл, быть не должно.
@@ -123,9 +130,12 @@ cat "$D/task-prompt.md" | codex exec --json --strict-config \
[prompt-templates.md](prompt-templates.md)); Codex держит его надёжно
(практика пользователя, 2026-07-10). Дешёвая подстраховка:
`git status --porcelain` до ревью и сверка после — дерево должно остаться
нетронутым. Кавеат: сеть под workspace-write по умолчанию закрыта; что
поиск/документация проходят эскалацией через авто-аппрув — рабочая
гипотеза, боем не обкатана (см.
нетронутым. Кавеат снят 2026-07-30: сеть под workspace-write по
умолчанию закрыта, но эскалация через авто-аппрув её проходит — в
боевом прогоне тикета #12 (v2) у исполнителя прошли и сеть
(`docker manifest inspect`), и docker-сокет (`make up`, `docker compose
down`). Отдельных событий эскалации в `--json`-логе при этом нет —
успешные команды выглядят обычными `completed` (история вопроса —
[../handoffs/20260710-codex-revyuer-write-i-sliyanie-handoffov.md](../handoffs/20260710-codex-revyuer-write-i-sliyanie-handoffov.md)).
`-o`-файл вердикта — и есть обменный артефакт: на триаже он уходит в