6. Представление поведения
Представление прослеживает взаимодействие компонентов при выбранных операциях. Каждый сценарий указывает начало и существенные отклонения; если не сказано иначе, диаграмма показывает успешный путь. Отказ проверки или принятая отмена прекращает последующие действия по определяющему ADR, а не продолжает движение по следующим стрелкам.
6.1 Загрузка и обновление расширений
Заголовок раздела «6.1 Загрузка и обновление расширений»Начало: пользователь или другая отдельно разрешённая операция запрашивает установку либо обновление расширения.
Поиск, установка, активация и вызов имеют отдельные проверки. Видимый кандидат ещё не является проверенным артефактом или разрешением на все команды. Доставка каталога независима от доставки файлов: адаптеры OCI, HTTPS и Git возвращают общий выпуск для проверки. ADR-0005, ADR-0007, ADR-0009
Компоненты и основания
Загрузчик расширений · Security Broker и допуск действий · Состояние профиля и ресурсов · Доверенные источники артефактов
Ошибка на любом шаге прекращает путь. Обновления не перезаписывают файлы работающих вызовов. Одна activeProfileRevision связывает настройки владельца и поколение команд. Неопределённая фиксация сверяется по идентичности операции, а не повторяется вслепую; удерживаемые и неопределённые ресурсы нельзя удалять.
Путь установки также охватывает следующие отклонения:
| Событие | Необходимое продолжение |
|---|---|
| Вызов совпал по времени с обновлением | Захватить зафиксированную ревизию и ссылки на её ресурсы вместе. Вызов сохраняет выпуск и среду; новую ревизию могут использовать только последующие обращения, а текущие проверки доступа продолжают действовать |
| Два изменения начались от одной ревизии профиля | Фиксировать только относительно ожидаемой ревизии. Конфликт не смешивает части деревьев команд и не заменяет победившую конфигурацию |
| Не прошли проверка, распаковка или проверка вместимости | Не публиковать неполный выпуск или поколение-кандидат; сохранить текущий зафиксированный профиль без продления его действительности |
| Приложение остановилось во время публикации профиля | Восстановить надёжно записанную транзакцию и установить её исход перед следующим изменением; отсутствие подтверждения не доказывает неудачу публикации |
Это правила хранения и публикации из ADR-0007. Установка из Git или OCI не запускает сборочные скрипты издателя, обработчики checkout или контейнеры; требующему сборки расширению нужны подготовленные артефакты или отдельно разрешённый путь сборки.
6.2 Исполнение команды
Заголовок раздела «6.2 Исполнение команды»Начало: вызывающая сторона обращается к объявленной команде активного профиля.
Управляемая команда получает типизированный ввод, один раз разобранный ядром. Явная прямая передача сохраняет массив аргументов без обработки оболочкой; при произвольных аргументах нужны права на всю программу. Альтернативные имена сохраняют каноническую идентичность и область доступа. ADR-0002, ADR-0006
Последовательность показывает успешный управляемый execute. Отказ проверки или принятая отмена ведёт к ограниченному завершению вместо следующих стрелок.
Компоненты и основания
Модель команд и диспетчер · Владелец жизненного цикла · Исполнитель · Поставщик среды выполнения · Security Broker и допуск действий · Средства ядра · Состояние профиля и ресурсов · Процесс расширения
ADR-0001 · ADR-0002 · ADR-0003 · ADR-0004 · ADR-0005 · ADR-0007 · ADR-0008 · ADR-0010 · ADR-0012 · ADR-0013 · ADR-0014 · ADR-0015 · ADR-0016
Нативное исполнение не требует языкового поставщика, если его привязке не нужен движок. Готовую среду скрипта поставщик проверяет и удерживает ссылкой; только отсутствующая поддерживаемая среда проходит разрешённую подготовку. ADR-0008
Если двум допущенным вызовам нужна одна отсутствующая среда, поддерживающий это поставщик может объединить подготовку в одну работу с собственными закреплёнными планом и сроком. Каждый ожидающий сохраняет свои права и срок; отмена одного не отменяет действующий запрос другого. Потеря владельца подготовки оставляет незавершённое состояние для сверки, а не готовую запись кэша или автоматически повторяемую установку. Объединение между процессами ядра требует объявленной поддержки координатора; иначе конкурирующий запрос получает предусмотренный ограниченный отказ из-за занятости. ADR-0008
Для управляемого процесса в Windows средство запуска должно подготовить закрытый канал, разрешённое наследование дескрипторов и надзор за процессом до продолжения приостановленного дочернего процесса. Если выбранное окружение не допускает такой подготовки, дочерний процесс останавливается, а канал закрывается; переход к незащищённому исполнению, управляющим сообщениям в stdout или неутверждённому транспорту недопустим. ADR-0003
| Окружение вызывающего | Путь данных и взаимодействия |
|---|---|
| Интерактивный CLI | Ядро владеет терминалом и передаёт ввод допущенному диалогу или представлению; конкурирующий запрос не забирает ввод другого вызова |
| CLI в конвейере или без терминала | Перенаправленные байты остаются данными команды, диагностика идёт отдельно, конец ввода обрабатывается по объявленному контракту. Обязательное неподдерживаемое взаимодействие завершается отказом без скрытого диалога или придуманного ответа |
| MCP | Протокольные потоки принадлежат адаптеру приложения; расширение получает объявленные программные данные и возвращает согласованный результат. Его обычный вывод считывается в пределах программного профиля, а не добавляется в контекст агента как угаданный результат инструмента |
Пути сохраняют смысл команды, но не делят владение терминалом и не предполагают одинаковой привязки потоков. ADR-0002, ADR-0010, ADR-0013
6.3 Просмотр справки команды
Заголовок раздела «6.3 Просмотр справки команды»Начало: вызывающая сторона запрашивает справку или статическое дополнение. Базовая справка и статическое дополнение читают объявления без попытки исполнения. Необязательная контекстная справка — отдельный describe со своими правами, уже готовой средой и проверяемым структурированным ответом. Он не передаёт execute, не устанавливает среду и не обновляет учётные данные. Возврат к базовой справке, отмена и ошибки сохраняют смысл ADR-0002.
6.4 Установление и аннулирование полномочий
Заголовок раздела «6.4 Установление и аннулирование полномочий»Начало: явный вход или выход, обновление учётных данных, защищаемая операция либо наблюдаемое изменение политики.
Вход устанавливает подтверждённую связь доверенной стороны и субъекта, а не разрешение на команду. Обновление токена не заменяет эту личность и не продлевает закреплённый срок её подтверждения. Выход фиксирует аннулирование перед очисткой; позднее обновление не восстанавливает сеанс. ADR-0011
У каждого защищаемого действия есть окончательная точка допуска после долгих проверок и обязательного аудита. Локальная закреплённая политика, однократные внешние решения и явно ограниченное повторное использование проходят эту точку. Наблюдённый отзыв запрещает новые допуски; устаревший ответ не снимает сохранённое требование актуальности источника. Уже допущенный внешний эффект нельзя считать отменённым. ADR-0012
При сбое обязательного поиска вызывающий получает недоступный или неполный результат, а не пустой успешный каталог. При сбое поставщика доступа новым защищаемым действиям нужны подтверждения, допустимые по уже выбранному контракту действительности; сбой не разрешает устаревшее повторное использование и не заменяет его локальными правилами. Заблокированное или недоступное обязательное хранилище учётных данных также даёт явный отказ; неинтерактивный вызов не может неожиданно открыть запрос разблокировки или входа. Запрет, невозможность установить решение и явное требование аутентификации сохраняют разный смысл. ADR-0005, ADR-0011, ADR-0012
6.5 Вызов инструмента через MCP
Заголовок раздела «6.5 Вызов инструмента через MCP»Начало: допущенный клиент получает текущий список инструментов и вызывает одну точную объявленную привязку.
Компоненты и основания
Модель команд и диспетчер · Владелец жизненного цикла · Агент или программный клиент · Адаптер MCP · Полномочия задач и общий расход
ADR-0002 · ADR-0004 · ADR-0007 · ADR-0010 · ADR-0013 · ADR-0014
Список возвращает текущее одобренное представление без запуска кода расширения. Вызов разрешает точную привязку инструмента, проверяет структурированные данные и связывает независимо установленную вызывающую сторону с задачей. Далее используется тот же синхронный жизненный цикл, что и для CLI. Метаданные соединения и текст модели не заменяют проверку личности. ADR-0013, ADR-0014
Устаревшая привязка, недостаточные полномочия или неподдерживаемое взаимодействие останавливают путь. При отмене транспорт прекращает ответ по правилам выбранного транспорта MCP, а ядро выполняет ограниченное по времени завершение и сохраняет результат. Повторное соединение не повторяет вызов. Постоянно работающий узел MCP не означает фоновых задач расширений. ADR-0004, ADR-0013
6.6 Фиксация значимого внешнего действия
Заголовок раздела «6.6 Фиксация значимого внешнего действия»Начало: команда запрашивает операцию, подчинённую контракту внешних действий. Диаграмма показывает успешный допуск. Отказ, истёкшее согласие, отмена или сбой обязательного аудита предотвращают последующую отправку. Неопределённый результат сохраняет защитное состояние.
Компоненты и основания
Владелец жизненного цикла · Security Broker и допуск действий · Средства ядра · Состояние профиля и ресурсов · Защищённые ресурсы · Полномочия задач и общий расход · Фиксация действий и сверка результатов
ADR-0002 · ADR-0004 · ADR-0005 · ADR-0012 · ADR-0014 · ADR-0016
Подготовка связывает конкретные ресурсы и данные, не резервируя неограниченных будущих прав. При окончательном допуске ядро повторно проверяет полномочия и условия ресурса и резервирует общий расход задачи. Отправка и сверка используют идентификатор действия, выданный ядром, а не ID транспортного запроса. ADR-0014, ADR-0016
После потери ответа ресурс уже мог измениться. Ядро фиксирует неопределённость, предотвращает автоматический повтор и при наличии поддержки использует отдельно разрешённую операцию чтения состояния. Общая гарантия однократного исполнения или отката не подразумевается. Неподдерживаемые обязательные требования приводят к отказу до действия.
6.7 Отмена, сбой и завершение
Заголовок раздела «6.7 Отмена, сбой и завершение»Начало: отмена вызывающей стороной, закрытие области владельца, истечение срока вызова или сбой в любом сценарии исполнения. Жизненный цикл: Подготовка → Запуск → Работа → Завершение → Завершено; более ранние отказ, сбой и отмена также ведут к завершению. Первая принятая причина отмены сохраняется. Срок завершения один и не возобновляется. Результат — succeeded, command_failed, rejected, execution_failed либо cancelled. Неполная очистка и неопределённые эффекты остаются явными; автоматического повтора команды нет. ADR-0004
Завершение закрывает допуск новых защищаемых действий. Ядро учитывает оставшийся вывод, обязательный аудит и использование ресурсов в первоначальном бюджете. Последующая сверка может уточнить внешнее действие, но не открыть завершённый вызов заново и не изменить его зафиксированный исход. ADR-0002, ADR-0016
Лимит одновременной работы может быть исчерпан до создания вызова; приложение получает ошибку допуска, а не выдуманный исход команды или запись в неограниченной очереди. В допущенном вызове очереди вывода и наблюдения не могут занять ресурсы, отведённые отмене и завершению. Если управление перестало продвигаться, сеанс завершается ошибкой, а надзор ограничивает остановку. Закрытие владеющей области приложения прекращает новые вызовы, завершает допущенную работу, затем освобождает зависимые собственные экземпляры в оставшийся срок закрытия. Неподтверждённая очистка остаётся явной и сохраняет защитные ссылки. ADR-0003, ADR-0010