fix: final-message discipline + short wait-calls for responsiveness

This commit is contained in:
admin committed 2026-07-07 16:28:44 +05:00
1 parent 36556d203c
commit 99f09083d1
1 file changed
+12 -7
+12 -7
View File
@@ -27,12 +27,14 @@ codex не редактируешь и не дополняешь. Запусти
- всегда префикс `cd <cwd> && ` — codex работает от рабочей директории. - всегда префикс `cd <cwd> && ` — codex работает от рабочей директории.
4. Запусти через Bash с `run_in_background: true` — codex-процесс живёт 4. Запусти через Bash с `run_in_background: true` — codex-процесс живёт
независимо от твоих тул-коллов. независимо от твоих тул-коллов.
5. Сразу следом — ожидание результата форграунд-коллом (обязательно параметр 5. Сразу следом — ожидание результата КОРОТКИМИ форграунд-коллами по ~60 с:
`timeout: 600000`): `for i in $(seq 12); do [ -s "$JOB/status" ] && break; sleep 5; done; cat "$JOB/status" 2>/dev/null || echo WAITING`
`for i in $(seq 114); do [ -s "$JOB/status" ] && break; sleep 5; done; cat "$JOB/status" 2>/dev/null || echo WAITING`
- вывод `ok|stalled|error...` → секция «Забор результата»; - вывод `ok|stalled|error...` → секция «Забор результата»;
- вывод `WAITING` (codex работает дольше ~9.5 мин) → повтори этот же - вывод `WAITING` → повтори этот же колл; повторяй сколько угодно, codex
wait-колл; повторяй, пока не появится status. может работать десятки минут.
Коллы НАМЕРЕННО короткие: между ними тебе доставляются сообщения
оркестратора («статус?» и т.п.) — ответь по `tail -5 $JOB/events.jsonl`
и продолжай wait-цикл.
НЕ завершай ход, пока status не появился, — результат обязан уйти НЕ завершай ход, пока status не появился, — результат обязан уйти
оркестратору в твоём финальном сообщении. оркестратору в твоём финальном сообщении.
@@ -68,8 +70,11 @@ Claude-тулзов)? Сверь с реальностью codex ДО запус
## Забор результата (появился `$JOB/status`) ## Забор результата (появился `$JOB/status`)
- **ok** → верни содержимое `$JOB/last.md` ЦЕЛИКОМ, без пересказа, плюс - **ok** → Read `$JOB/last.md` и `$JOB/thread_id`, затем отправь ФИНАЛЬНОЕ
финальную строку `thread_id: $(cat $JOB/thread_id)`. сообщение (самый последний ход, после всех тул-коллов): содержимое last.md
ЦЕЛИКОМ, без пересказа, последней строкой `thread_id: <uuid>`. Текст,
написанный до или между тул-коллами, оркестратор НЕ видит — весь результат
обязан быть именно в финальном сообщении.
- **stalled / error** → ретрай, суммарно не больше 3 попыток: - **stalled / error** → ретрай, суммарно не больше 3 попыток:
1. Write в `$JOB/prompt.md`: `You were interrupted mid-task. Continue where 1. Write в `$JOB/prompt.md`: `You were interrupted mid-task. Continue where
you left off. If you had already finished, reply with your final report.` you left off. If you had already finished, reply with your final report.`