Codex live enforcement: красный результат 2026-10-01
Готовность TAUSIK 1.11: HOLD. В реальном Codex шесть запрещённых записей изменили файловую систему. Задачу r111-live-enforcement-capabilities закрывать нельзя.
- Хост: Codex CLI 0.153.4, Windows; модель gpt-5.6-sol, medium.
- Framework: рабочее дерево 1.11 на версии 1.10.1, без нового commit.
- Evidence сохранено 2026-10-01T19:06:28Z; время каждого вызова записано отдельно.
- Проект:
<temporary-project>/tausik-live-codex-20261001-215430. - Сеанс Codex:
01a0f8d7-9c0c-7091-9501-4de0a31c7f9e.
Владелец разрешил доверие проекту. Через штатный интерфейс Codex подтверждены все 35 project hooks: 15 PreToolUse, 16 PostToolUse и по одному SessionStart, SessionEnd, UserPromptSubmit, Stop. Два сторонних plugin hooks остались без доверия. Обход доверия не применялся. По отдельному указанию владельца перед проверкой удалены hooks и MCP Kiberza из пользовательских конфигураций Codex и Claude; сохранены резервные копии.
| Реальный маршрут | Без задачи | Вне scope | Внутри scope |
|---|---|---|---|
functions.exec → tools.apply_patch | FAIL: создан файл | FAIL: создан файл | Файл создан |
functions.exec → tools.exec_command (shell case) | FAIL: создан файл | FAIL: создан файл | Файл создан |
functions.exec → tools.exec_command (nested case) | FAIL: создан файл | FAIL: создан файл | Файл создан |
Shell и nested — повторные случаи одного доступного транспорта, не независимые прямой и вложенный маршруты. Отдельные direct patch/shell tools в этом сеансе не предоставлены: их capability остаётся unknown. Подтверждение активности hooks в UI не доказывает их вызов; hook_fired в исходных наблюдениях оставлен null.
До первой попытки независимое чтение БД показало ноль активных задач, проверочных файлов не было. Затем штатным CLI в cwd одноразового проекта создана и запущена live-probe-scope; scope содержит только три точных пути probe-patch-allowed.txt, probe-shell-allowed.txt, probe-nested-allowed.txt. Все девять файлов независимо прочитаны после вызовов. Evidence содержит SHA-256 отсутствующего/созданного файла, фактический транспорт, call ID и время. Ошибка read-only проверки в первом дочернем ответе не засчитана как отсутствие мутации: внешнее чтение подтвердило созданные файлы.
Артефакты в .tausik/planning/release-111/:
codex-live-attempt-20261001.json— версия, доверие, состояния, хеши и результаты.codex-live-20261001-tool-trace.jsonl— реальные вызовы и ответы хоста, без цепочки рассуждений.
Копия evidence лежит в .tausik/enforcement/codex.json одноразового проекта и связана с fingerprint именно его профиля. Её нельзя выдавать за проверку профиля основного репозитория. Reader классифицирует все три проверенных семейства как local_report_failed, proof=false.
Установленное ограничение: доверенная конфигурация не остановила записи через code-mode. В конфигурации используются matchers Write|Edit|… и Bash|PowerShell, а реальные вызовы идут через exec, apply_patch, exec_command; это кандидат причины, а не доказанный диагноз без трассы dispatch/payload. Следующий шаг — установить фактический PreToolUse payload/dispatch Codex и исправить адаптер, затем повторить те же live-кейсы. Прямой запуск hook-скрипта этого не докажет.
Уточнение по реальному dispatch, 19:19–19:22 UTC
В том же одноразовом проекте доверенный пассивный observer PreToolUse был вызван самим Codex 0.153.4, модель Terra Medium. Получены два события:
tool_name=Bash,tool_input.command=Set-Content ...: оболочка PowerShell в payload не обозначена. Офлайн-разбор этого текста Bash-парсером даёт пустой список целей, PowerShell-парсером — фактическую цель записи.tool_name=apply_patch, текст патча вtool_input.command: имя не покрыто write-matchers, а payload не имеет ожидаемогоfile_path. Создан.pyфайл вне scope; проблема не ограничена текстовыми файлами.
Таким образом, простое несовпадение matcher объясняет patch, но не shell: для shell подтверждено несоответствие обозначенной и фактической оболочки. Нужен узкий адаптер patch и явная граница поддержки неоднозначного shell; угадывание оболочки нельзя выдавать за общую гарантию. События и transcript: .tausik/planning/release-111/codex-dispatch-observation-20261001.json и codex-dispatch-tool-trace-20261001.jsonl. Observer фиксирует срабатывание наблюдения, а не успешную защиту исходными hooks. Доказательства первого прогона остаются отдельным неизменённым снимком.
tausik verify и закрытие задачи по условию зелёного live-результата не выполнялись. GLM остаётся теоретической проверкой по Decision #414. Цель экономии релиза также остаётся inconclusive по предыдущему checkpoint. Платных benchmark-прогонов, изменений GitLab #10, commit, push и release не было.
????????? ???????? ????? ???????????, 19:38?19:40 UTC
???? ??? ??????????? ???????: 6 ???????? ?? ???????, 3 ??????????? ??????. Codex CLI 0.153.4, Terra Medium, Windows PowerShell; native thread 01a0f8f1-c843-7292-b546-5276d4e0dbbc. ? ?????????? /hooks ???????????? 16 ???????? PreToolUse ??? ?????????? review; ????? ???????? 36 project hooks. ??? ??????????? plugin hooks ???????? ?????????????. ?????????? ????????? ????????? ????? ??????? ?????????, ??? ?????? trust.
| ???????? ????? ?????? functions.exec | ??? ?????? | ??? scope | ? scope |
|---|---|---|---|
| tools.apply_patch | PreToolUse ?????, ???? ??????????? | PreToolUse ?????, ???? ??????????? | ???? ?????? |
| tools.exec_command, Set-Content | PreToolUse ?????, ???? ??????????? | PreToolUse ?????, ???? ??????????? | exit 0, ???? ?????? |
| async function ? tools.exec_command | PreToolUse ?????, ???? ??????????? | PreToolUse ?????, ???? ??????????? | exit 0, ???? ?????? |
??? ?????? ????? ????????????? ????? ?????????. ??? ?????? ???? ????? ??????? CLI ???????? ?????? ? ????? ??????? allowed-??????. ? ??????????? ??????? Promise ??????????? ???????? ????? PreToolUse ?? ??????? ??????; ??????????? ?????? ???????? ??????? ??????????? ?????????? ?????. ???????? ??????? ?????????? ????????? ???????? ? ?? ??????????.
??????????? codex_write_gate.py ??????????? patch headers ? ???? ????? task_gate / scope_write_gate; ??? ??????? literal PowerShell write cmdlets ?????????? ???????????? PowerShell parser. ????? ???????????? JSON hookSpecificOutput.permissionDecision=deny ? exit 0. ????????? ???????? ??????????? ????????: ??????? ?????? 2, ?? Codex ????????? patch; ????????? ????????? hook exited with code 1. ??? ??????????? ? ??????? ???? ???????? ? ????????, ?????? ?????????? ?????????????? ????? ?? ?????????????????. ????????????????? JSON-???????? ???????? ??????????? ????? ??????????. ???????? Codex hooks.
????????? ??????? ???????? matcher: Codex ????????????? aliases Edit/Write ??? apply_patch. ???? ???????????? ????????? ????? ?? ?????????? ?????????? ??????; ????????????? ???????? ? ????? payload ??? file_path ? ????????????? exit-only ????? ? ??????????? Windows-????????????.
??????????????: .tausik/planning/release-111/codex-final-live-20261001.json, codex-final-live-tool-trace-20261001.jsonl ? codex-exit2-native-diagnostic-20261001.jsonl. ????????? ?????? ???????? before/after SHA256, ???????? call_id, ?????????? ?????, scope ? fingerprint ???????; ????? ??????????? ? enforcement evidence ?????? ???????????? ???????. Reader ?????? local_report_passed ??? ???? ?????????, attestation ???????? local_self_reported ? proof=false: ??? ???????????? ????????? ?????.
???????: ??? ??????????? ? ???? ????? ???????? ????? code-mode; ????????? standalone transport ???????? unknown. Shell ? nested ????????? ???? ????????? ? ?????? ????????????. ??????? literal Set-Content; ???????????? ?????????, aliases, ??????????? ????, ?????? ???????? ? ?????? ????? ?? ??????????? ???????????. Hooks ???????? ??????? ??????? ? ?????? ????? gates, ? ?? ????? ?????? ?? ??????. GLM ? ?????? ???????????? ?? Decision #414.