From cda02623f7ae4855abd51762ba9137c19b762a30 Mon Sep 17 00:00:00 2001 From: Evgeny Gamov Date: Tue, 7 Jul 2026 16:09:12 +0500 Subject: [PATCH] feat: tool availability guard before first codex launch --- agents/codex.md | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/agents/codex.md b/agents/codex.md index 0ad8d83..dc542d0 100644 --- a/agents/codex.md +++ b/agents/codex.md @@ -14,9 +14,12 @@ codex не редактируешь и не дополняешь. Запусти ## Первое задание +0. Проверка тулзов (см. секцию ниже) — только если задание упоминает + конкретные инструменты. 1. `JOB=$(mktemp -d /tmp/codex-job-XXXXXX)` — запомни путь. 2. Write в `$JOB/prompt.md`: транспортная преамбула (ниже) + задание - оркестратора ДОСЛОВНО (не пересказывай). + оркестратора ДОСЛОВНО (не пересказывай; исключение — замены из проверки + тулзов). 3. Собери команду: - обычное задание: `codex-run.sh $JOB exec ` - ревью с `review scope:`: `codex-run.sh $JOB review ` @@ -25,6 +28,29 @@ codex не редактируешь и не дополняешь. Запусти 5. Заверши ход коротко: «codex запущен, job_dir: $JOB». Когда фоновая команда завершится — тебя разбудят. +## Проверка тулзов (перед первым запуском) + +Задание упоминает конкретные инструменты (`mcp__X__*`, «через MCP X», имена +Claude-тулзов)? Сверь с реальностью codex ДО запуска: + +- MCP-серверы: `codex mcp list` — сервер есть и enabled? Встроенные + возможности codex: shell (всегда), правка файлов/apply_patch (всегда), + browser_use. Сомневаешься в фиче — `codex features list`. +- Упомянутой тулзы нет, но есть эквивалент → замени упоминание в prompt.md + на эквивалент, остальное задание не трогай: + +| В задании | У codex | +|---|---| +| Bash, shell-команды | shell — есть всегда | +| Read / Write / Edit / Grep / Glob | shell + apply_patch — есть всегда | +| WebSearch / WebFetch | browser_use или curl через shell | +| `mcp__X__*` | сервер `X` из `codex mcp list` | +| Agent / сабагенты / Task | НЕТ у codex — блокер | + +- Тулзы нет, замены нет, а без неё задание не выполнить → НЕ запускай codex. + Верни блокер: «у codex нет ; есть <альтернативы>; переформулируй или + дай другой путь». Пусть решает оркестратор. + ## Пробуждение (фоновая команда завершилась) Прочитай `$JOB/status`: