---
read_when:
    - Проектирование обнаружения, продолжения и архивирования сессий Codex
    - Изменение нативного интерфейса каталога сеансов или RPC Gateway
    - Расширение контроля Codex на сопряжённые узлы
summary: Архитектура и границы продукта для управления нативными сессиями Codex из OpenClaw.
title: Контроль Codex
x-i18n:
    generated_at: "2026-07-13T18:46:30Z"
    model: gpt-5.6
    postprocess_version: locale-links-v1
    prompt_version: 24
    provider: openai
    source_hash: 78528afd31c18fc84e0adb6479a688da7df6d0a5c04e539d253c84d3a17a5f53
    source_path: specs/codex-supervision.md
    workflow: 16
---

# Контроль Codex

## Цель

Контроль Codex позволяет оператору OpenClaw обнаруживать нативные сеансы Codex и,
когда это безопасно, создавать локальную ветвь через обычный интерфейс чата OpenClaw.
Codex App Server по-прежнему управляет потоком и циклом модели. OpenClaw предоставляет
каталог парка, аутентифицированный интерфейс оператора, привязку сеансов и доставку в каналы.

Эта функция относится к официальному плагину `codex`. Отдельного
плагина Supervisor или второй реализации протокола Codex нет.

## Граница продукта

Каталог регистрируется всякий раз, когда активен плагин Codex. Включите инструменты
контроля для агентов с помощью:

```text
plugins.entries.codex.config.supervision.enabled = true
```

Активная начальная версия продукта намеренно меньше долгосрочного плана
управления парком:

- Выводить только неархивированные потоки Codex.
- Группировать локальные строки и строки подключённых Node с явным согласием по стабильному идентификатору хоста.
- Создавать обычную ветвь чата с заблокированной моделью из сохранённого или простаивающего
  локального для Gateway потока, запускать его полный поток среды Codex при первом ходе либо открывать чат,
  созданный для более ранней ветви.
- Архивировать сохранённый или простаивающий локальный для Gateway поток только после явного
  подтверждения отсутствия другого исполнителя.
- Показывать активные локальные источники без элементов управления созданием новой ветви или архивированием,
  при этом по-прежнему позволяя открыть существующий контролируемый чат.
- Показывать новейшие строки каждого хоста на основной боковой панели, сохранять полный каталог на
  странице сеансов и предоставлять ограниченное чтение транскриптов с курсорной пагинацией для
  локальных строк и строк подключённых Node.
- Изолировать сбои каталога по хостам.

Каталог представляет собой коллекцию неархивированных элементов. Строка в нём всё ещё может иметь
статус хода: простаивающий, активный, `notLoaded` или ошибка.

Контроль для агентов остаётся опциональным. Пошаговая начальная настройка пытается установить и включить его
после успешного обнаружения нативной установки Codex и прохождения интерактивной проверки
выбранной серверной частью инференса независимо от того, какую основную серверную часть выбрал
пользователь. Контроль активируется, только если эта оппортунистическая настройка плагина
завершается успешно. Явно отключённый плагин, блокировка политикой или
`supervision.enabled: false` сохраняют приоритет для инструментов контроля, но
не отключают операторский каталог сеансов.

## Владение

Плагин `codex` управляет всем поведением Codex App Server:

- обнаружение конечной точки и жизненный цикл подключения
- инициализация протокола и проверки версий
- получение списка, чтение, возобновление, архивирование потоков и обработка событий
- мосты подтверждений и пользовательского ввода
- привязки нативных потоков к сеансам OpenClaw
- принудительное применение модели и среды выполнения только для Codex после продолжения

Control UI и Gateway используют принадлежащий этому плагину сервис. Они не читают
файлы развёртывания Codex напрямую и не реализуют ещё один клиент App Server.

Локальная топология по умолчанию:

```text
Codex Desktop -> частный App Server через stdio -> домашний каталог Codex пользователя
                                                    ^
Плагин Codex для OpenClaw -> подключение к App Server для контроля
  (по умолчанию управляемый stdio домашнего каталога пользователя; явные настройки appServer соблюдаются)
  -> пассивный каталог источников и чтение
  -> фиксация снимка -> каноническая ветвь источника appServer
  -> внедрение видимой истории и каждый последующий ход контролируемого чата

Обычные сеансы Codex в OpenClaw -> по умолчанию управляемый stdio домашнего каталога агента
  -> обычные полные потоки среды выполнения -> чат OpenClaw и доставка в каналы
```

Включение контроля не изменяет обычную среду выполнения Codex: по умолчанию она остаётся
ограниченной областью агента. Отдельное подключение для контроля по умолчанию
использует управляемый stdio домашнего каталога пользователя, поэтому его операции с каталогом и снимками видят нативные
сохранённые потоки. Явные настройки подключения `appServer` соблюдаются. Когда
`homeScope` не задан, подключение для контроля разрешает его в `"user"` для stdio
или Unix и в `"agent"` для WebSocket. Задавайте `appServer.homeScope: "user"`
явно только тогда, когда обычная среда выполнения также должна использовать общий нативный домашний каталог
Codex. Исключением является чат, принятый из группы Codex на боковой панели: его частная
привязка контроля сохраняет чтение источника, создание канонической ветви и последующие
ходы в подключении для контроля. Текущее состояние и владение остаются
локальными для процесса; поток, неизвестный процессу контроля OpenClaw, считается `notLoaded`,
даже когда Codex Desktop активно его выполняет.

Codex имеет экспериментальный канонический локальный демон с отдельным
контрактом начальной загрузки, управляемым установщиком. Эта функция не должна неявно загружать,
объявлять своим или предполагать наличие этого демона.

## Поток каталога

Универсальный метод Gateway `sessions.catalog.list` передаёт запрос поставщику каталога
`codex`, который всегда запрашивает `archived: false`, а также
интерактивные виды источников `cli` и `vscode`. Он объединяет:

1. Локальные для Gateway результаты `thread/list` от App Server контроля,
   который по умолчанию использует управляемый stdio домашнего каталога пользователя.
2. Результаты `codex.appServer.threads.list.v1` от каждого подключённого Node с явным согласием.

Для выбора транскрипта используется `thread/turns/list` с `itemsView: "full"` локально или
версионированная команда `codex.appServer.thread.turns.list.v1` на выбранном
Node. Каждый ответ содержит не более 20 сохранённых ходов и непрозрачные
курсоры вперёд и назад. Control UI запрашивает страницы от новых к старым, отображает каждую страницу в
хронологическом порядке и добавляет более старые страницы в начало. Он никогда не использует в качестве запасного варианта
неограниченный `thread/read`. OpenClaw также отклоняет любую страницу сериализованных элементов размером более
20 MiB, прежде чем она сможет пройти через транспорт Node или Gateway.

Нативная реализация подключённого Node для macOS поддерживает только незаданное значение/значение по умолчанию либо
явный `appServer.transport: "stdio"` с незаданной/стандартной областью контроля или
явным `appServer.homeScope: "user"`. Она передаёт настроенные `command`, `args`
и нормализованный `clearEnv` дочернему процессу. При `"unix"`, `"websocket"`
или явно заданном `homeScope: "agent"` она не объявляет ни возможность каталога,
ни команду; прямой вызов также завершается с запретом по умолчанию. Она никогда не должна предоставлять домашний каталог
Codex пользователя для конфигурации с областью агента или подменять явную конечную точку локальным stdio.

Проекция каталога нормализует идентификаторы, заголовок, cwd, состояние, флаги активного ожидания,
временные метки, источник, поставщика модели, версию Codex и ветвь Git. Она
не возвращает предварительный просмотр транскрипта, ходы, пути развёртывания, пути к домашнему каталогу Codex,
удалённые репозитории Git, SHA коммитов, необработанные конечные точки или необработанные ошибки App Server. Ответы
с транскриптами содержат только явно запрошенную страницу элементов App Server и её
непрозрачные курсоры.

Сбои хостов остаются локальными для результата каждого хоста. Отключённый Node или недоступный
локальный App Server не удаляет исправные хосты со страницы. Доступность подключения — это
свойство хоста, а не состояние потока: результат хоста со сбоем не содержит свежих
строк сеансов и не проецирует `offline` на нативные потоки.

Обнаружение каталога пассивно. Получение списка или чтение метаданных не должно вызывать
`thread/resume`, подписывать клиент OpenClaw на запросы активных потоков или
отвечать на запрос подтверждения.

Поиск выполняется только по заголовку и без учёта регистра. Для каждой возвращаемой страницы каталога
Gateway и подключённый Mac сканируют ограниченное число нативных страниц, не передавая
запрос в App Server, поскольку нативный поиск также может находить совпадения в предварительном просмотре
транскрипта. Возвращаемый нативный курсор позволяет вызывающей стороне продолжить сканирование.

## Граница операторского CLI

Плагин регистрирует три команды оболочки, использующие Gateway:

```text
openclaw codex sessions [--search <text>] [--host <id>] [--limit <count>] [--cursor <cursor>] [--json] [gateway-options]
openclaw codex continue <thread-id> [--json] [gateway-options]
openclaw codex archive <thread-id> --confirm-no-other-runner [--json] [gateway-options]
```

`[gateway-options]` — это `--url <url>`, `--token <token>`, `--timeout <ms>` и
унаследованный переключатель `--expect-final`. Для получения списка сеансов тайм-аут по умолчанию составляет 75,000 ms;
для продолжения и архивирования — 30,000 ms;
`--expect-final` не оказывает дополнительного влияния на эти унарные RPC. Поиск сеансов
выполняется только по заголовку и без учёта регистра; каждый ответ сканирует ограниченную цепочку нативных
страниц, а `--cursor` продолжает получение более старых результатов. Ограничение по умолчанию составляет 50 на хост
и принимает значения от 1 до 100, а курсору требуется одно стабильное назначение `--host`.
Ни одна команда не принимает параметр archived/include-archived. Только `sessions` может обращаться к подключённым хостам;
`continue` и `archive` всегда отправляют `hostId: "gateway:local"`, а архивирование
требует явного флага подтверждения.

Пространство имён оболочки не является пространством имён среды выполнения `/codex` внутри чата. В
частности, `/codex sessions --host <node>` выводит файлы сеансов Codex CLI на одном
Node, `/codex threads` выводит потоки App Server для подключения текущей беседы,
а `/codex resume` или `/codex bind` изменяет привязку этой беседы.
Эти команды не заменяют `sessions.catalog.continue`, и команд среды выполнения
`/codex continue` или `/codex archive` не существует.

## Локальное продолжение

Для сохранённой или простаивающей локальной для Gateway строки интерфейс вызывает
`sessions.catalog.continue` с `catalogId: "codex"`, а также идентификаторами хоста и
потока. Плагин:

1. Повторно использует существующий контролируемый чат, если у источника он уже есть.
2. В противном случае проецирует ограниченную историю пользователя и ассистента вплоть до последнего
   сохранённого терминального хода источника (завершённого, прерванного или неудачного) в новый
   чат OpenClaw и регистрирует ожидающую ветвь среды выполнения.
3. Сохраняет ожидающую политику блокировки только моделей Codex, а не конкретный выбор модели или
   поставщика, а также частную область подключения для контроля, и
   возвращает `sessionKey` OpenClaw.

Проекция истории выбирает новейший хвост видимых сообщений пользователя и ассистента
с жёсткими ограничениями: 200 сообщений, суммарно 512 KiB текста UTF-8 и
64 KiB на сообщение. Она заменяет входные данные изображений и локальных изображений на
`[Image attachment]`, никогда не копирует содержимое или пути изображений и исключает рассуждения,
вызовы инструментов и результаты инструментов.

Интерфейс переходит в обычный чат с этим ключом сеанса. Канонического потока среды выполнения
ещё не существует. При первом обычном ходе чата среда устанавливает настоящие
обработчики подтверждений, уточняющих запросов, событий и доставки Codex, а затем:

1. Через подключение для контроля вызывает нативный `thread/fork` без переопределения модели
   или поставщика и фиксирует сохранённый снимок источника. Текущее состояние
   `ConfigManager` в Codex выбирает модель и поставщика, а ответ ветвления
   сообщает фактическую пару. Если модель отличается от последней модели, записанной
   в источнике, Codex выдаёт стандартное предупреждение о различии моделей.
2. В том же подключении запускает канонический полный поток среды выполнения Codex с
   `threadSource: "appServer"`, cwd OpenClaw, политикой, конфигурацией, окружением,
   полным набором инструментов среды выполнения OpenClaw и в точности той моделью и поставщиком,
   которые вернуло ветвление для этого первоначального запуска.
3. Внедряет ограниченную видимую историю пользователя и ассистента через это
   подключение, фиксирует каноническую привязку, не удаляя её область контроля,
   выполняет ход и архивирует временное ответвление.

До первого хода чат представляет собой заблокированную ожидающую ветвь с видимым
зеркалом истории; после этого каждый ход модели выполняется через канонический поток среды выполнения
Codex в подключении для контроля. Ветвь не является полной копией нативного
развёртывания: рассуждения источника, вызовы инструментов и результаты инструментов намеренно
исключаются. Если фиксация снимка или создание канонического потока завершается сбоем, ожидающая
ветвь остаётся доступной для повторной попытки. Гонка привязки, отключённый контроль либо недоступное
или несовместимое подключение для контроля приводит к запрету по умолчанию до выполнения хода,
а не к переключению на обычную среду выполнения из домашнего каталога агента.

Это гарантирует выбор, принадлежащий Codex, а не сохранение исторической
модели источника. Возвращённая форком пара используется для запуска канонического
потока, а Codex сохраняет нативные модель и провайдера этого потока. При последующих
возобновлениях переопределения модели и провайдера OpenClaw не передаются, поэтому Codex
восстанавливает сохранённую пару. Если отдельный нативный элемент управления Codex изменяет
канонический поток, OpenClaw принимает этот сохранённый нативный выбор. Внешняя модель
OpenClaw и цепочка резервных вариантов никогда его не заменяют.

Изменение модели, удаление сеанса и операции сброса/создания нового сеанса завершаются
безопасным отказом для контролируемого Чата с заблокированной моделью. Изменение `/codex model <model>`, `/codex
bind`, `/codex resume` (включая Node `--bind here`), а также `/codex detach` или
`/codex unbind` тоже завершается безопасным отказом, поскольку эти операции заменяют или очищают привязку. Запрос
`/codex model`, а также `/codex fast`, `/codex permissions` и `/codex
threads` остаются доступными. Инструмент агента `codex_threads` не может присоединить новый
форк или архивировать привязанный нативный поток. Чтение списка и только метаданных остаётся
доступным; для полей транскрипта требуется `supervision.allowRawTranscripts`, а для
переименования, разархивирования, отдельного форка и архивирования несвязанного потока требуется
`supervision.allowWriteControls`. Ни один из вариантов не может заменить заблокированную привязку.
В противном случае удаление или сброс записи OpenClaw привели бы к утрате нативной
привязки и созданию либо разрешению универсального потока за сеансом, выглядящим как сеанс Codex.
Поэтому обслуживание хранения сохраняет записи с заблокированной моделью, даже когда они
превышают обычные ограничения по возрасту, количеству или дисковому бюджету. Отключение или удаление
владеющего плагина также сохраняет блокировку и маркер владения плагином. Чат остаётся
недоступным и завершает операции безопасным отказом, пока тот же плагин не будет снова включён; очистка никогда
не преобразует его в обычный сеанс модели.

Это действие никогда не возобновляет и не изменяет источник. Временный форк закрепляет
снимок состояния; он не является долговременным потоком продолжения. Запуск отдельного
канонического потока среды выполнения при первом ходе не позволяет OpenClaw стать
конкурирующим источником записи лишь потому, что локальное для процесса состояние не обнаружило
ход, принадлежащий Desktop. Зеркало видимой истории и закреплённый снимок могут не включать работу,
которая ещё не завершена в активном источнике. Исходный источник CLI или VS Code
остаётся доступным как для нативных каталогов, так и для каталогов OpenClaw. Каноническая
ветвь остаётся нативным потоком Codex в хранилище контроля, но нативные клиенты
могут фильтровать её тип источника `appServer`, поэтому видимость в Codex Desktop не является
контрактом.

## Поведение архивирования

Для сохранённой или бездействующей локальной строки Gateway `sessions.catalog.archive` с
`catalogId: "codex"` требует
явного `confirmNoOtherRunner: true`, заново считывает текущее локальное для процесса
состояние, продолжает только для `idle` или `notLoaded`, вызывает нативный `thread/archive`
и возвращает успешный результат только после принятия операции Codex. Затем строка исчезает
из неархивированного каталога.

Активное состояние или состояние ошибки из нового чтения отклоняет архивирование. То же относится к
инициализируемой или ожидающей контролируемой ветви из источника: первый ход Чата
должен материализовать её каноническую ветвь, прежде чем источник можно будет архивировать. Известный
активный владелец привязки OpenClaw для точной цели или любой неархивированный
порождённый потомок также препятствует архивированию. OpenClaw постранично обходит экспериментальное
отношение `thread/list ancestorThreadId` Codex и завершает операцию безопасным отказом при ошибках
запроса или ответа, циклах курсоров или потоков и исчерпании предела безопасности. Нативное архивирование может
завершить загруженную работу родительского потока и потомков, поэтому архивирование не является быстрым способом
прерывания. Чтение, перечисление потомков и вызовы архивирования не атомарны.
Независимый клиент всё ещё может владеть строкой или начать работу с ней, даже если локально она выглядит
бездействующей или имеет состояние `notLoaded`. Подтверждение отсутствия другого исполнителя охватывает неизвестные клиенты и
эту гонку до появления в Codex условного архивирования или межпроцессной аренды.
Архивирование сопряжённого Node запрещено.

В каталоге Codex нет представления архивированных потоков. Поток, восстановленный с помощью
`thread/unarchive` в другой авторизованной владельцем поверхности Codex, снова становится доступным
в неархивированном каталоге.

## Безопасность активного потока

Codex сериализует изменения потока между клиентами одного App Server, но
не предоставляет эксклюзивную межпроцессную аренду исполнителя или владельца подтверждения.
Независимые stdio App Server могут добавлять данные в один и тот же журнал выполнения, при этом каждый видит
только собственное состояние в памяти. Запросы подтверждения также могут поступать каждому подписчику
одного сервера, а первый допустимый ответ завершает запрос.

Поэтому:

- пассивные клиенты каталога не подписываются на подтверждения и не отклоняют их автоматически
- строки, которые сейчас обозначены как активные, не предоставляют ни новую ветвь, ни архивирование
- несопоставленный источник становится ветвью видимой истории, канонический поток среды
  выполнения которой никогда не возобновляет источник
- `notLoaded` отображается как неизвестная активность и может быть архивирован только после
  осознанного подтверждения отсутствия другого исполнителя
- локальное архивирование требует этого подтверждения и нового чтения `idle` или `notLoaded`,
  с учётом протокольной гонки между чтением и архивированием

Прерывание и передача управления между несколькими клиентами являются будущими продуктовыми решениями. Они не
подразумеваются самим отображением активной строки.

## Граница сопряжённого Node

Вызов Node сейчас поддерживает только режим «запрос/ответ». Он может безопасно возвращать ограниченные
метаданные каталога и страницы ходов транскрипта, но не может передавать долгоживущий поток событий, запросы
подтверждения, вызовы инструментов, отмену и приращения ответа ассистента, необходимые для выполнения
среды Codex.

Поэтому контракт Node поддерживает страницы списка и ходов транскрипта. Удалённые
строки остаются доступными для чтения, но **Продолжить** и **Архивировать** недоступны независимо от состояния бездействия. Для
настоящего удалённого продолжения требуются исполнитель на стороне Node и потоковый мост, которые
сохраняют те же инварианты подтверждения и привязки, что и локальная среда выполнения.

## Разрешения

Каждый компьютер предоставляет согласие локально. Включение Gateway не разрешает другому
Node читать его метаданные Codex. Возможность Node должна пройти обычное сопряжение
и подтверждение политикой команд.

Для просмотра списка парка и транскриптов используется область Gateway `operator.write`,
поскольку эти операции вызывают сопряжённые Node. Локальное продолжение и архивирование являются
аутентифицированными действиями оператора и по-прежнему зависят от проверок узла и состояния.

Доступ автономного агента и отдельного MCP настраивается отдельно. Поставляемые
контракты инструментов `codex_endpoint_probe`, `codex_sessions_list`, `codex_session_read`,
`codex_session_send` и `codex_session_interrupt` по-прежнему принадлежат
плагину `codex`. При включённом контроле необработанное чтение транскрипта `codex_threads`
и поля списка, полученные из транскрипта, также требуют
`supervision.allowRawTranscripts`; каждый форк, переименование, архивирование
или разархивирование `codex_threads` требует `supervision.allowWriteControls`. Обе политики по умолчанию
отключены.

## Совместимость

`openclaw doctor --fix` переносит поставленную конфигурацию `plugins.entries.codex-supervisor`,
включая конечные точки и политики транскриптов/записи, а также разрешающие и запрещающие ссылки плагина, в
`plugins.entries.codex.config.supervision`. При конфликтах явные значения канонического назначения
имеют приоритет. После миграции код среды выполнения использует только каноническую форму плагина
`codex`.

Официальный плагин сохраняет ровно пять инструментов совместимости Supervisor:
`codex_endpoint_probe`, `codex_sessions_list`, `codex_session_read`,
`codex_session_send` и `codex_session_interrupt`. По умолчанию список сеансов включает только
загруженные сеансы; параметра `loaded_only` нет. `include_stored: true` добавляет
неархивированные строки базы данных состояния с ограничением для каждой конечной точки через `max_stored_sessions`
(по умолчанию 200, допустимый диапазон от 1 до 1,000); это значение не ограничивает загруженные
строки. Поля и операции чтения, полученные из транскрипта, по-прежнему контролируются
`allowRawTranscripts`; отправка и прерывание по-прежнему контролируются `allowWriteControls`.

Отправка в режиме совместимости никогда не запускает и не возобновляет бездействующий поток. `mode: "start"`
всегда отклоняется; `"auto"` и `"steer"` управляют только доступным для чтения активным ходом.
Для прерывания также требуется активный доступный для чтения ход. Продолжение бездействующего потока направляется
в нативный каталог Codex, чтобы полная среда выполнения владела подтверждениями, инструментами и привязкой.
Отдельный устаревший адаптер MCP получает эти же инструменты из официального
плагина и является единственным путём, учитывающим сохранённые устаревшие переменные среды
политик.

Июльский интерфейс каталога, метод Gateway, возможность Node и регистрация CLI
не поставлялись со старым идентификатором плагина. Они напрямую переходят во владение `codex`
без второго фасада среды выполнения.

## Будущая работа

- потоковый исполнитель и мост событий на стороне Node для удалённого продолжения
- явные аренды исполнителя и владельца подтверждения для одновременной передачи управления между клиентами
- удалённое архивирование после появления аренды владения исполнителем или эквивалентного механизма изоляции
- прерывание и более подробное наблюдение за активным сеансом
- аудируемая передача управления между Codex Desktop, CLI и OpenClaw

Просмотр архивов не входит в запланированную боковую панель контроля. Нативные поверхности Codex
остаются способом восстановления архивированных потоков.

## Приёмочные тесты

- Включение супервизии отображает список неархивированных локальных сессий.
- Архивированные сессии никогда не появляются в ответе каталога или пользовательском интерфейсе.
- Работоспособные хосты остаются видимыми при сбое другого хоста; недоступный хост
  не возвращает свежих строк вместо того, чтобы приписывать сессии вымышленный статус «не в сети».
- Сохранённая или простаивающая локальная строка создаёт зеркало чата с блокировкой
  модели и среды выполнения только для Codex; первый ход фиксирует временный снимок и запускает
  канонический полный поток стенда, а повторный выбор Continue открывает существующий чат.
- В первом ходе при ответвлении снимка не задаются переопределения модели и провайдера,
  а канонический запуск фиксируется на точной паре, возвращённой Codex, даже если Codex предупреждает,
  что его текущая модель отличается от последней зарегистрированной модели источника.
- Ожидающие и зафиксированные привязки под супервизией используют соединение супервизии
  для доступа к источнику, создания канонической ветви и каждого последующего хода; обычные
  сессии Codex остаются привязанными к агенту.
- При последующих возобновлениях переопределения модели и провайдера OpenClaw не задаются,
  сохраняется канонический постоянный выбор Codex, принимаются отдельные нативные изменения этого потока,
  а внешняя модель OpenClaw или цепочка резервных вариантов никогда не подставляется.
- При отключении супервизии или утрате жизненного цикла привязки либо соединения операция
  завершается отказом вместо переноса чата в обычный стенд из домашнего каталога агента.
- Чат под супервизией с заблокированной моделью нельзя удалить, пока он защищает нативную
  привязку.
- В чат зеркалируются не более 200 сообщений пользователя и ассистента общим объёмом
  512 KiB и не более 64 KiB на сообщение. Изображения заменяются заполнителями; рассуждения источника,
  вызовы инструментов, результаты инструментов, данные изображений и локальные пути не клонируются.
- Поток ветвления никогда не возобновляет исходный поток.
- Исходный источник сохраняет право отображаться в обоих каталогах. Каноническая нативная
  ветвь использует вид источника `appServer` и не гарантированно отображается в
  Codex Desktop.
- Для активных локальных источников нельзя создать ветвь или архивировать их; существующий
  чат под супервизией по-прежнему можно открыть.
- Строки с неизвестной активностью могут создавать ветвь без подтверждения; для архивации
  требуется явное подтверждение отсутствия другого исполнителя.
- Источник с инициализируемой или ожидающей ветвью под супервизией нельзя архивировать,
  пока первый ход чата не материализует каноническую ветвь.
- Известный активный владелец привязки для точной цели или любой неархивированный порождённый
  потомок блокирует архивацию; при ошибке перечисления потомков операция завершается отказом, а
  явное подтверждение по-прежнему отвечает за неизвестные клиенты и состояние гонки между
  проверкой статуса и архивацией.
- Подтверждённая архивация сохранённого или простаивающего локального источника удаляет строку
  после успешного завершения нативной операции.
- Строки сопряжённых узлов остаются видимыми без Continue или Archive.
- Пассивное отображение списка никогда не подписывается на подтверждения потока и не отвечает на них.
- Устаревшая конфигурация Supervisor мигрирует в каноническую форму конфигурации Codex.
- По умолчанию устаревший список содержит только загруженные элементы, перечисление сохранённых
  элементов соблюдает ограничение соответствующей конечной точки, а отправка в режиме совместимости
  никогда не запускает и не возобновляет простаивающий поток.
