5. Представление компонентов
Сначала представление описывает приложение снаружи, затем раскрывает его логические границы. Компоненты обозначают обязанности из принятых ADR, а не заданные пакеты, процессы или отдельные серверы.
5.1 Внешний контракт CLI
Заголовок раздела «5.1 Внешний контракт CLI»Без раскрытия внутреннего устройства приложение позволяет людям и допущенным агентным клиентам находить и вызывать одни объявленные команды. Владелец CLI поставляет доверенные реализации и настройки; авторы расширений — независимо проверяемые выпуски. Люди и внешние службы являются участниками и зависимостями, а не внутренними компонентами. ADR-0007, ADR-0010, ADR-0013
| Граница | Наблюдаемая снаружи обязанность |
|---|---|
| CLI и необязательный MCP | Предоставить одобренные команды, проверить ввод и вернуть окончательный исход через выбранный интерфейс |
| Поставка расширений | Найти одобренные выпуски, проверить описания и файлы, активировать целостное поколение команд |
| Личность и защищаемые ресурсы | Использовать выбранные интеграции владельца и текущие полномочия; установка и показ списка не дают права на любое действие |
| Исполнение | Владеть каждым вызовом с ожиданием результата, его объявленной средой и поддерживаемыми ограничениями, отменой и очисткой |
Эти обязанности общие для локального варианта и конфигураций с интеграциями. Они не требуют всех дополнительных поставщиков или отдельного сервера MCP для каждого расширения. ADR-0004, ADR-0005, ADR-0009, ADR-0013
5.2 Внутреннее устройство
Заголовок раздела «5.2 Внутреннее устройство»Представление внутреннего устройства отделяет входные интерфейсы приложения от обязанностей встроенного ядра по командам, исполнению и доступу. Отдельные хранилища и поставщики опущены, чтобы сохранить ясные границы управления. Стрелки — логические зависимости, а не новый протокол. Подробный состав пакетов реализации здесь не выбирается.
Компоненты и основания
Модель команд и диспетчер · Загрузчик расширений · Владелец жизненного цикла · Исполнитель · Поставщик среды выполнения · Security Broker и допуск действий · Учётные данные и сеансы входа · Средства ядра · Состояние профиля и ресурсов
ADR-0001 · ADR-0002 · ADR-0003 · ADR-0004 · ADR-0005 · ADR-0007 · ADR-0008 · ADR-0009 · ADR-0010 · ADR-0011 · ADR-0012 · ADR-0013 · ADR-0014 · ADR-0015 · ADR-0016
Контракты компонентов и зависимости
Заголовок раздела «Контракты компонентов и зависимости»Справочник формируется из той же модели, что и диаграммы. Он разделяет внутренние компоненты, окружение и ресурсы, участников; каждая запись указывает обязанность, связи и определяющие ADR. Наличие внешнего участника в справочнике не делает его частью ядра.
CLI и ядро
Именованный CLI named-cli
Приложение владельца со встроенным Rukh, входом CLI и необязательным MCP. Локальный stdio не требует отдельной службы.
Основание: ADR-0010 · ADR-0013
Связи
- Содержит: Библиотека ядра Rukh, Адаптер CLI, Адаптер MCP
- Владелец CLI → Именованный CLI
Доверенная сборка - Пользователь CLI → Именованный CLI
Команды и взаимодействие
Библиотека ядра Rukh rukh-core
Встраиваемое управление командами, жизненным циклом, доступом и ресурсами для людей и программных клиентов.
Основание: ADR-0001 · ADR-0002 · ADR-0010 · ADR-0013 · ADR-0014 · ADR-0015 · ADR-0016
Связи
- В составе: Именованный CLI
- Содержит: Модель команд и диспетчер, Загрузчик расширений, Владелец жизненного цикла, Исполнитель, Поставщик среды выполнения, Security Broker и допуск действий, Учётные данные и сеансы входа, Средства ядра, Полномочия задач и общий расход, Фиксация действий и сверка результатов
Модель команд и диспетчер command-model
Проверенные канонические команды и общие типизированные входы и результаты. Одна опубликованная версия формирует маршруты CLI и одобренные владельцем инструменты MCP.
Основание: ADR-0002 · ADR-0006 · ADR-0013
Связи
- В составе: Библиотека ядра Rukh
- Модель команд и диспетчер → Состояние профиля и ресурсов
Закреплённые команда и выпуск - Модель команд и диспетчер → Владелец жизненного цикла
Неизменяемый вызов - Адаптер CLI → Модель команд и диспетчер
Представление CLI и общий вызов - Адаптер MCP → Модель команд и диспетчер
Представление MCP и общий вызов
Загрузчик расширений extension-loader
Допустимый поиск, проверка выпусков, установка неизменяемых файлов и атомарная публикация настройки владельца, маршрутов CLI и допустимого представления MCP.
Основание: ADR-0005 · ADR-0007 · ADR-0009 · ADR-0013
Связи
- В составе: Библиотека ядра Rukh
- Загрузчик расширений → Доверенные источники артефактов
Получить и проверить артефакты - Загрузчик расширений → Security Broker и допуск действий
Каталог и проверка прав - Загрузчик расширений → Состояние профиля и ресурсов
Целостная публикация профиля
Владелец жизненного цикла lifecycle-owner
Управляет порядком выполнения вызова, отменой, допуском действий и единственным окончательным результатом.
Основание: ADR-0002 · ADR-0004
Связи
- В составе: Библиотека ядра Rukh
- Модель команд и диспетчер → Владелец жизненного цикла
Неизменяемый вызов - Владелец жизненного цикла → Поставщик среды выполнения
Точная проверенная среда - Владелец жизненного цикла → Исполнитель
Запуск, надзор, завершение - Процесс расширения → Владелец жизненного цикла
Запрос операции в рамках вызова - Владелец жизненного цикла → Security Broker и допуск действий
Актуальная проверка действия - Владелец жизненного цикла → Фиксация действий и сверка результатов
Операция с закреплёнными последствиями
Исполнитель executor
Зарегистрированное синхронное исполнение с закрытым управляемым IPC и явным профилем host-trusted или проверенным confined. Неподдерживаемые обязательные ограничения запрещают запуск.
Основание: ADR-0001 · ADR-0003 · ADR-0004 · ADR-0015
Связи
- В составе: Библиотека ядра Rukh
- Владелец жизненного цикла → Исполнитель
Запуск, надзор, завершение - Исполнитель → Процесс расширения
Потоки и закрытый канал управления - Исполнитель → Защищённые ресурсы
Объявленная граница исполнения
Поставщик среды выполнения runtime-provider
Доверенная интеграция для точного подбора среды, разрешённой подготовки и удержания ссылок. Внешний менеджер сред необязателен.
Основание: ADR-0008 · ADR-0010
Связи
- В составе: Библиотека ядра Rukh
- Владелец жизненного цикла → Поставщик среды выполнения
Точная проверенная среда - Поставщик среды выполнения → Состояние профиля и ресурсов
Сохранение ссылок на среду
Security Broker и допуск действий security-broker
Граница ядра для личности, прав, допустимого поиска и окончательного допуска с учётом полномочия задачи и проверок действия. Сервер брокера необязателен.
Основание: ADR-0005 · ADR-0009 · ADR-0012 · ADR-0014 · ADR-0016
Связи
- В составе: Библиотека ядра Rukh
- Загрузчик расширений → Security Broker и допуск действий
Каталог и проверка прав - Security Broker и допуск действий → Утверждённые каталоги и локальные правила
Выбранные каталоги и правила - Security Broker и допуск действий → Внешняя служба идентификации
Необязательная служба идентификации - Security Broker и допуск действий → Внешняя служба прав
Необязательная служба прав - Security Broker и допуск действий → Учётные данные и сеансы входа
Связанные личность и учётные данные - Владелец жизненного цикла → Security Broker и допуск действий
Актуальная проверка действия - Security Broker и допуск действий → Средства ядра
Разрешённая операция ядра - Security Broker и допуск действий → Состояние профиля и ресурсов
Согласование действительности прав - Security Broker и допуск действий → Полномочия задач и общий расход
Область, отзыв и резерв расхода - Фиксация действий и сверка результатов → Security Broker и допуск действий
Повторная проверка перед действием
Учётные данные и сеансы входа credentials
При необходимости входа ядро защищает учётные данные, закрепляет проверенную личность и согласует обновление и выход.
Основание: ADR-0011
Связи
- В составе: Библиотека ядра Rukh
- Security Broker и допуск действий → Учётные данные и сеансы входа
Связанные личность и учётные данные - Учётные данные и сеансы входа → Состояние профиля и ресурсов
Согласование сеанса и выхода
Средства ядра core-facilities
Доверенные зарегистрированные операции, отображение ядром, типизированные результаты, журнал и аудит. Операции с последствиями объявляют контракт действия и сверки результата.
Основание: ADR-0002 · ADR-0010 · ADR-0013 · ADR-0016
Связи
- В составе: Библиотека ядра Rukh
- Security Broker и допуск действий → Средства ядра
Разрешённая операция ядра - Средства ядра → Защищённые ресурсы
Ресурс сохраняет свою проверку прав - Фиксация действий и сверка результатов → Средства ядра
Зарегистрированный запрос сверки
Адаптер CLI cli-adapter
Формирует маршруты канонических команд, преобразует аргументы в общую запись входа и отображает зафиксированные результаты.
Основание: ADR-0002 · ADR-0013
Связи
- В составе: Именованный CLI
- Пользователь CLI → Адаптер CLI
Аргументы CLI и отображение - Адаптер CLI → Модель команд и диспетчер
Представление CLI и общий вызов
Адаптер MCP mcp-adapter
Доверенный адаптер приложения: предоставляет одобренные инструменты текущей версии, проверяет точную привязку и возвращает ограниченные программные результаты через общий путь вызова.
Основание: ADR-0010 · ADR-0013
Связи
- В составе: Именованный CLI
- Агент или программный клиент → Адаптер MCP
Поиск и вызов инструментов - Адаптер MCP → Модель команд и диспетчер
Представление MCP и общий вызов - Адаптер MCP → Полномочия задач и общий расход
Закрепить вызывающего и область задачи
Полномочия задач и общий расход task-authority
Ядро выдаёт и согласует полномочия задач, сужающее делегирование, отзыв и общие измеримые резервы локально или через интеграцию. Планирование работы агента остаётся внешним.
Основание: ADR-0014
Связи
- В составе: Библиотека ядра Rukh
- Владелец CLI → Полномочия задач и общий расход
Утверждённые правила или допустимое согласие - Адаптер MCP → Полномочия задач и общий расход
Закрепить вызывающего и область задачи - Security Broker и допуск действий → Полномочия задач и общий расход
Область, отзыв и резерв расхода - Полномочия задач и общий расход → Состояние профиля и ресурсов
Общее состояние задач и расхода
Фиксация действий и сверка результатов effect-coordinator
Согласует доверенную подготовку действия, точную привязку запроса и ресурса, обязательное разрешение или согласие, устойчивую запись отправки и разрешённую сверку неопределённого результата без повторения эффекта.
Основание: ADR-0016
Связи
- В составе: Библиотека ядра Rukh
- Владелец жизненного цикла → Фиксация действий и сверка результатов
Операция с закреплёнными последствиями - Фиксация действий и сверка результатов → Security Broker и допуск действий
Повторная проверка перед действием - Фиксация действий и сверка результатов → Состояние профиля и ресурсов
Намерение действия и наблюдаемый результат - Фиксация действий и сверка результатов → Средства ядра
Зарегистрированный запрос сверки
Окружение и ресурсы
Состояние профиля и ресурсов profile-state
Ревизии профиля под контролем владельца, ссылки на артефакты и среды, данные аннулирования и согласованные записи задач, расходов и действий. Основа — локальное устойчивое хранилище без обязательного сервера базы данных.
Основание: ADR-0007 · ADR-0008 · ADR-0009 · ADR-0011 · ADR-0012 · ADR-0013 · ADR-0014 · ADR-0016
Связи
- Загрузчик расширений → Состояние профиля и ресурсов
Целостная публикация профиля - Модель команд и диспетчер → Состояние профиля и ресурсов
Закреплённые команда и выпуск - Учётные данные и сеансы входа → Состояние профиля и ресурсов
Согласование сеанса и выхода - Security Broker и допуск действий → Состояние профиля и ресурсов
Согласование действительности прав - Поставщик среды выполнения → Состояние профиля и ресурсов
Сохранение ссылок на среду - Полномочия задач и общий расход → Состояние профиля и ресурсов
Общее состояние задач и расхода - Фиксация действий и сверка результатов → Состояние профиля и ресурсов
Намерение действия и наблюдаемый результат
Процесс расширения extension-process
Экземпляр нативной или скриптовой команды под управлением выбранного профиля. Host-trusted сохраняет полномочия ОС; ограничения обещаются только в реально обеспечиваемых измерениях.
Основание: ADR-0001 · ADR-0003 · ADR-0004 · ADR-0015
Связи
- Исполнитель → Процесс расширения
Потоки и закрытый канал управления - Процесс расширения → Владелец жизненного цикла
Запрос операции в рамках вызова
Доверенные источники артефактов artifact-sources
Настроенные источники OCI, HTTPS, Git или одобренные локальные источники, предоставляющие файлы выпуска.
Основание: ADR-0007
Связи
- Автор расширения → Доверенные источники артефактов
Объявленные выпуски - Загрузчик расширений → Доверенные источники артефактов
Получить и проверить артефакты
Утверждённые каталоги и локальные правила catalog-rules
Проверенные объявления владельца. Базовый вариант — один статический каталог и явная локальная политика.
Основание: ADR-0009
Связи
- Security Broker и допуск действий → Утверждённые каталоги и локальные правила
Выбранные каталоги и правила
Внешняя служба идентификации identity-service
Необязательная одобренная интеграция со стандартной, доменной или собственной службой идентификации. Требуется только при соответствующей настройке.
Основание: ADR-0005 · ADR-0011
Связи
- Security Broker и допуск действий → Внешняя служба идентификации
Необязательная служба идентификации
Внешняя служба прав permission-service
Необязательный авторитетный поставщик AuthZEN или собственных правил. Вместо него можно явно выбрать локальную политику.
Основание: ADR-0005 · ADR-0009 · ADR-0012
Связи
- Security Broker и допуск действий → Внешняя служба прав
Необязательная служба прав
Защищённые ресурсы protected-resources
Ресурсы, к которым обращаются допущенные доверенные операции ядра. Сохраняют собственные проверки доступа.
Основание: ADR-0002 · ADR-0005 · ADR-0012
Связи
- Средства ядра → Защищённые ресурсы
Ресурс сохраняет свою проверку прав - Исполнитель → Защищённые ресурсы
Объявленная граница исполнения
Участники
Владелец CLI cli-owner
Собирает доверенные реализации и определяет полномочия настройки профиля.
Основание: ADR-0010
Связи
- Владелец CLI → Именованный CLI
Доверенная сборка - Владелец CLI → Полномочия задач и общий расход
Утверждённые правила или допустимое согласие
Пользователь CLI cli-user
Находит, устанавливает и вызывает команды в рамках выбранных правил.
Основание: ADR-0002 · ADR-0007 · ADR-0009
Связи
- Пользователь CLI → Именованный CLI
Команды и взаимодействие - Пользователь CLI → Адаптер CLI
Аргументы CLI и отображение
Автор расширения extension-author
Публикует объявленные команды и неизменяемые артефакты выпусков.
Основание: ADR-0006 · ADR-0007
Связи
- Автор расширения → Доверенные источники артефактов
Объявленные выпуски
Агент или программный клиент agent-client
Вызывает именованный CLI через MCP с независимо установленными полномочиями. Ответ модели и указанное клиентом имя не удостоверяют личность или согласие.
Основание: ADR-0013 · ADR-0014
Связи
- Агент или программный клиент → Адаптер MCP
Поиск и вызов инструментов
5.3 Границы доверенных интеграций
Заголовок раздела «5.3 Границы доверенных интеграций»Встроенные обработчики и адаптеры владельца — доверенный код, обязанный поддерживать отмену. Обычные расширения не могут перевести себя на этот путь. Пользовательские настройки сужают ограничения или меняют явно делегированные предпочтения, но не расширяют состав доверенных реализаций. ADR-0010
Security Broker независимо выбирает установление личности, авторизацию и поиск. Стандартные интеграции используют OIDC/OAuth для входа и AuthZEN для проверки прав; доменные или собственные службы подключаются зарегистрированными владельцем адаптерами либо преобразованием протоколов. Локальные каталоги и правила реализуют те же границы без удалённых служб. ADR-0005, ADR-0009
Приложение, ядро и адаптеры имеют разные эксплуатационные обязанности. Встраивание библиотеки не передаёт Rukh владение временем жизни всего приложения.
| Граница | Обязанность соответствующей реализации |
|---|---|
| Приложение → ядро | Явно передать потоки, единый координатор терминала и отмену от ОС; удерживать области вызовов, закрывать их и освобождать дескрипторы завершённых вызовов. Библиотека возвращает результаты, а не завершает приложение и не забирает глобальные обработчики сигналов |
| Ядро → доверенный поставщик | Проверить зависимости и совместимость времени жизни до инициализации; создавать допущенных поставщиков по порядку, а при сбое освобождать только собственные экземпляры в обратном порядке. Вход и установка пакетов или сред — отдельные операции, а не скрытая работа запуска |
| Загрузчик/поставщик среды → хранилище | Согласовывать публикацию, ссылки и удаление в одной поддерживаемой границе хранения; неполный каталог или исчезнувший номер процесса не доказывает готовность или безопасность удаления |
| Ядро → обработчик внутри процесса | Требовать поддержки отмены и ограниченного завершения. Неостанавливаемому обработчику нужна объявленная контролируемая привязка; перенос на другой поток не обеспечивает принудительную очистку |
Эти обязанности определяют ADR-0007, ADR-0008 и ADR-0010. Эксплуатационные пределы относятся к этим контрактам, а не к предполагаемому отдельному администратору или серверному компоненту.
5.4 Границы задач и внешних действий
Заголовок раздела «5.4 Границы задач и внешних действий»Компоненты и основания
Владелец CLI · Владелец жизненного цикла · Security Broker и допуск действий · Состояние профиля и ресурсов · Адаптер MCP · Полномочия задач и общий расход · Фиксация действий и сверка результатов
ADR-0002 · ADR-0005 · ADR-0012 · ADR-0013 · ADR-0014 · ADR-0016
Адаптеры команд приводят входные данные к общему виду; полномочия задачи ограничивают допустимые запросы; Security Broker получает текущие сведения о личности и правах; окончательный допуск согласует эти решения с общими резервами. Описание цели — диагностические данные, а не разрешение. ADR-0013, ADR-0014
Координатор действий связывает значимое действие с точными реализацией, ресурсом и данными, затем фиксирует отправку и наблюдаемый результат. Он использует общий окончательный допуск и защищённое локальное состояние, не требуя отдельной службы. При неизвестном результате защитные записи и резервы сохраняются до обоснованной сверки. ADR-0016
Исполнитель обеспечивает только гарантии подтверждённого профиля исполнения. Прямые обращения к ОС в доверенном процессе находятся за границей проверок средств ядра. ADR-0015