Files
dotfiles/agents/.agents/skills/cross-review/references/launch-codex.md
T
ddadminandClaude Opus 5.5 cf9781604d docs(cross-review): уточнены круги ревью и механика T3
- Зачем: третий круг ревью Astra и отзыв DeepSeek нашли пробелы в
  разборе находок, вердикте и адаптере T3.
- Что: продолжение кругов в T3 оставлено основным путём с оговоркой, что
  это расходится с замыслом авторов T3, и с разрешённым запасным путём;
  резолюции пишутся файлом; вердикт связан с тяжестью находок; добавлены
  проверка «работа или отписка» в T3, повод для свежего ревьюера при
  переработке версии, независимость параллельных ревьюеров и заметка о
  памяти Codex.
- Проверка: схемы t3_thread_configure и t3_thread_read сверены, вид
  activity проверен на реальном разговоре; ссылки проверены скриптом.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 16:13:51 +02:00

104 lines
6.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Запуск Codex из командной строки
Для автора, у которого есть shell и установлен `codex`. Проверено на
codex-cli 0.163.0 (Linux, 2026-10-17): первый запуск, продолжение по id,
запись отчёта в обменный каталог.
## Перед первым запуском
На новой машине и после обновления Codex проверь, что команды внутри
песочницы вообще выполняются:
```bash
codex sandbox -c 'sandbox_mode="workspace-write"' -- sh -c 'echo SANDBOX_OK'
```
На Linux отказ вида `bwrap: ... Failed RTM_NEWADDR` обычно значит, что
AppArmor запрещает непривилегированные user namespaces. Это настройка машины,
а не ревью: сообщи пользователю и сошлись на
[требования песочницы](https://learn.chatgpt.com/docs/sandboxing#prerequisites).
Работающий веб-поиск о песочнице ничего не говорит.
## Первый запуск
```bash
# D — обменный каталог с готовым brief.md, S — каталог скилла
cat "$D/brief.md" "$S/prompts/mandate.md" "$S/prompts/lens-code.md" \
> "$D/prompt.md"
set -o pipefail
cat "$D/prompt.md" | codex exec --json --strict-config --approve-for-me \
--add-dir "$D" -m <model> -c 'model_reasoning_effort="<effort>"' \
-o "$D/final.md" - > "$D/log.jsonl" 2> "$D/err.txt"
```
- **Промпт — каналом через stdin** (`cat … | codex exec … -`): так он
доходит в любой среде. Поток событий и ошибки — в файлы; в свой контекст
читай только `final.md` и отчёт `REPORT`.
- **`--approve-for-me`** даёт песочницу `workspace-write` и сам одобряет
выход за неё: сеть, docker, команды вне каталога. Вместе с `-s` он не
принимается. Шире — `danger-full-access` — ревьюеру не нужно.
- **`--add-dir "$D"`** разрешает запись отчёта в обменный каталог.
- **Модель и глубину задавай явно.** Иначе они берутся из
`~/.codex/config.toml` и зависят от последней интерактивной сессии
пользователя. На 2026-10 для ревью кода обычно лучше всего подходит
`gpt-6.1-sol` с глубиной `high`. `gpt-6-astra` с `xhigh` сильнее и
заметно дороже: бери её по просьбе пользователя или когда ошибка особенно
дорога. Названия моделей быстро устаревают: при сомнении спроси
пользователя.
- **`--strict-config`** останавливает запуск при неизвестном ключе `-c`.
Без него опечатка молча заменяется настройкой по умолчанию.
## Ожидание
Ревью идёт от нескольких минут до получаса. Запускай команду фоном средствами
своей среды: в Claude Code — Bash с `run_in_background`, без `&` внутри
команды; среда разбудит тебя по завершении.
- **id сессии** — в первой строке лога:
`head -1 "$D/log.jsonl" | jq -r .thread_id`. Сохрани его сразу: по нему
идут перепроверка и спасение, если процесс умер.
- **Признак жизни** — рост `log.jsonl`. Долгая сборка или тесты внутри
песочницы событий не пишут, поэтому застывший лог — повод посмотреть, а не
приговор.
- **Вердикт без находок** проверь по логу: работа это или отписка.
`grep -c '"command_execution"' "$D/log.jsonl"` — число выполненных команд.
Голое APPROVED при нуле команд перезапускай.
## Затраты
Токены по каждому ходу пишутся в лог:
`jq -c 'select(.type=="turn.completed") | .usage' "$D/log.jsonl"`.
Стоимости в выводе нет.
## Следующие круги
Узкая перепроверка или полный проход по новой версии — продолжением той же
сессии. Что положить в поручение — в разделе «Следующие круги» SKILL.md.
```bash
cat "$D/recheck-prompt.md" | codex exec resume --json --strict-config \
-m <model> -c 'model_reasoning_effort="<effort>"' \
-o "$D/recheck-final.md" <thread-id> - \
> "$D/recheck-log.jsonl" 2> "$D/recheck-err.txt"
```
- **Только по явному id.** `--last` подхватит последнюю сессию, а при
нескольких ревьюерах это может быть чужая.
- Песочница и доступ к `$D` принадлежат сессии и сохраняются; ключей `-s`,
`--approve-for-me` и `--add-dir` у `resume` нет.
- Модель и глубину повтори явно — те же, что при первом запуске: иначе
подставятся значения из конфига, а смена глубины внутри сессии сбрасывает
кэш.
## Особенности ревьюеров Codex
- Мандат и формат отчёта держат надёжно.
- Бывает, требуют исправлений сверх цели задачи; в других прогонах все
починки выходили соразмерными. Проверяй соразмерность как обычно.
- Хорошо ловят уровень требований: недостающие критерии, наблюдаемость,
«формально отчитаться можно».
- Могут заглянуть в свою память (`~/.codex/memories/`) и подтянуть выводы
прошлых задач. Свежая сессия Codex поэтому не полностью свободна от
прошлого опыта.