Перейти к содержимому

5. Представление компонентов

Сначала представление описывает приложение снаружи, затем раскрывает его логические границы. Компоненты обозначают обязанности из принятых ADR, а не заданные пакеты, процессы или отдельные серверы.

Без раскрытия внутреннего устройства приложение позволяет людям и допущенным агентным клиентам находить и вызывать одни объявленные команды. Владелец CLI поставляет доверенные реализации и настройки; авторы расширений — независимо проверяемые выпуски. Люди и внешние службы являются участниками и зависимостями, а не внутренними компонентами. ADR-0007, ADR-0010, ADR-0013

ГраницаНаблюдаемая снаружи обязанность
CLI и необязательный MCPПредоставить одобренные команды, проверить ввод и вернуть окончательный исход через выбранный интерфейс
Поставка расширенийНайти одобренные выпуски, проверить описания и файлы, активировать целостное поколение команд
Личность и защищаемые ресурсыИспользовать выбранные интеграции владельца и текущие полномочия; установка и показ списка не дают права на любое действие
ИсполнениеВладеть каждым вызовом с ожиданием результата, его объявленной средой и поддерживаемыми ограничениями, отменой и очисткой

Эти обязанности общие для локального варианта и конфигураций с интеграциями. Они не требуют всех дополнительных поставщиков или отдельного сервера MCP для каждого расширения. ADR-0004, ADR-0005, ADR-0009, ADR-0013

Представление внутреннего устройства отделяет входные интерфейсы приложения от обязанностей встроенного ядра по командам, исполнению и доступу. Отдельные хранилища и поставщики опущены, чтобы сохранить ясные границы управления. Стрелки — логические зависимости, а не новый протокол. Подробный состав пакетов реализации здесь не выбирается.

Обязанности ядра и границы управления
Обязанности ядра и границы управленияЛогические зависимости загрузки, команд, жизненного цикла, исполнения, подготовки среды и допуска действий. Узлы обозначают обязанности, а не отдельные серверы.Загрузчик расширенийСостояние профиля иресурсовМодель команд и диспетчерSecurity Broker и допускдействийВладелец жизненного циклаПоставщик средывыполненияИсполнительСредства ядраУчётные данные и сеансывходаЦелостная публикацияпрофиляЗакреплённые команда ивыпускКаталог и проверка правНеизменяемый вызовТочная проверенная средаЗапуск, надзор, завершениеАктуальная проверкадействияРазрешённая операция ядраСвязанные личность иучётные данныеОбязанности ядра и границы управленияЛогические зависимости загрузки, команд, жизненного цикла, исполнения, подготовки среды и допуска действий. Узлы обозначают обязанности, а не отдельные серверы.Загрузчик расширенийСостояние профиля иресурсовМодель команд и диспетчерSecurity Broker и допускдействийВладелец жизненного циклаПоставщик средывыполненияИсполнительСредства ядраУчётные данные и сеансывходаЦелостная публикацияпрофиляЗакреплённые команда ивыпускКаталог и проверка правНеизменяемый вызовТочная проверенная средаЗапуск, надзор, завершениеАктуальная проверкадействияРазрешённая операция ядраСвязанные личность иучётные данные
Компоненты и основания

Модель команд и диспетчер · Загрузчик расширений · Владелец жизненного цикла · Исполнитель · Поставщик среды выполнения · 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 rukh-core
Модель команд и диспетчер command-model

Проверенные канонические команды и общие типизированные входы и результаты. Одна опубликованная версия формирует маршруты CLI и одобренные владельцем инструменты MCP.

Основание: ADR-0002 · ADR-0006 · ADR-0013

Связи

Загрузчик расширений extension-loader

Допустимый поиск, проверка выпусков, установка неизменяемых файлов и атомарная публикация настройки владельца, маршрутов CLI и допустимого представления MCP.

Основание: ADR-0005 · ADR-0007 · ADR-0009 · ADR-0013

Связи

Владелец жизненного цикла lifecycle-owner

Управляет порядком выполнения вызова, отменой, допуском действий и единственным окончательным результатом.

Основание: ADR-0002 · ADR-0004

Связи

Исполнитель executor

Зарегистрированное синхронное исполнение с закрытым управляемым IPC и явным профилем host-trusted или проверенным confined. Неподдерживаемые обязательные ограничения запрещают запуск.

Основание: ADR-0001 · ADR-0003 · ADR-0004 · ADR-0015

Связи

Поставщик среды выполнения runtime-provider

Доверенная интеграция для точного подбора среды, разрешённой подготовки и удержания ссылок. Внешний менеджер сред необязателен.

Основание: ADR-0008 · ADR-0010

Связи

Security Broker и допуск действий security-broker

Граница ядра для личности, прав, допустимого поиска и окончательного допуска с учётом полномочия задачи и проверок действия. Сервер брокера необязателен.

Основание: ADR-0005 · ADR-0009 · ADR-0012 · ADR-0014 · ADR-0016

Связи

Учётные данные и сеансы входа credentials

При необходимости входа ядро защищает учётные данные, закрепляет проверенную личность и согласует обновление и выход.

Основание: ADR-0011

Связи

Средства ядра core-facilities

Доверенные зарегистрированные операции, отображение ядром, типизированные результаты, журнал и аудит. Операции с последствиями объявляют контракт действия и сверки результата.

Основание: ADR-0002 · ADR-0010 · ADR-0013 · ADR-0016

Связи

Адаптер CLI cli-adapter

Формирует маршруты канонических команд, преобразует аргументы в общую запись входа и отображает зафиксированные результаты.

Основание: ADR-0002 · ADR-0013

Связи

Адаптер MCP mcp-adapter

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

Основание: ADR-0010 · ADR-0013

Связи

Полномочия задач и общий расход task-authority

Ядро выдаёт и согласует полномочия задач, сужающее делегирование, отзыв и общие измеримые резервы локально или через интеграцию. Планирование работы агента остаётся внешним.

Основание: ADR-0014

Связи

Фиксация действий и сверка результатов effect-coordinator

Согласует доверенную подготовку действия, точную привязку запроса и ресурса, обязательное разрешение или согласие, устойчивую запись отправки и разрешённую сверку неопределённого результата без повторения эффекта.

Основание: ADR-0016

Связи

Окружение и ресурсы

Состояние профиля и ресурсов profile-state

Ревизии профиля под контролем владельца, ссылки на артефакты и среды, данные аннулирования и согласованные записи задач, расходов и действий. Основа — локальное устойчивое хранилище без обязательного сервера базы данных.

Основание: ADR-0007 · ADR-0008 · ADR-0009 · ADR-0011 · ADR-0012 · ADR-0013 · ADR-0014 · ADR-0016

Связи

Процесс расширения extension-process

Экземпляр нативной или скриптовой команды под управлением выбранного профиля. Host-trusted сохраняет полномочия ОС; ограничения обещаются только в реально обеспечиваемых измерениях.

Основание: ADR-0001 · ADR-0003 · ADR-0004 · ADR-0015

Связи

Доверенные источники артефактов artifact-sources

Настроенные источники OCI, HTTPS, Git или одобренные локальные источники, предоставляющие файлы выпуска.

Основание: ADR-0007

Связи

Утверждённые каталоги и локальные правила catalog-rules

Проверенные объявления владельца. Базовый вариант — один статический каталог и явная локальная политика.

Основание: ADR-0009

Связи

Внешняя служба идентификации identity-service

Необязательная одобренная интеграция со стандартной, доменной или собственной службой идентификации. Требуется только при соответствующей настройке.

Основание: ADR-0005 · ADR-0011

Связи

Внешняя служба прав permission-service

Необязательный авторитетный поставщик AuthZEN или собственных правил. Вместо него можно явно выбрать локальную политику.

Основание: ADR-0005 · ADR-0009 · ADR-0012

Связи

Защищённые ресурсы protected-resources

Ресурсы, к которым обращаются допущенные доверенные операции ядра. Сохраняют собственные проверки доступа.

Основание: ADR-0002 · ADR-0005 · ADR-0012

Связи

Участники

Владелец CLI cli-owner

Собирает доверенные реализации и определяет полномочия настройки профиля.

Основание: ADR-0010

Связи

Пользователь CLI cli-user

Находит, устанавливает и вызывает команды в рамках выбранных правил.

Основание: ADR-0002 · ADR-0007 · ADR-0009

Связи

Автор расширения extension-author

Публикует объявленные команды и неизменяемые артефакты выпусков.

Основание: ADR-0006 · ADR-0007

Связи

Агент или программный клиент agent-client

Вызывает именованный CLI через MCP с независимо установленными полномочиями. Ответ модели и указанное клиентом имя не удостоверяют личность или согласие.

Основание: ADR-0013 · ADR-0014

Связи

Встроенные обработчики и адаптеры владельца — доверенный код, обязанный поддерживать отмену. Обычные расширения не могут перевести себя на этот путь. Пользовательские настройки сужают ограничения или меняют явно делегированные предпочтения, но не расширяют состав доверенных реализаций. ADR-0010

Security Broker независимо выбирает установление личности, авторизацию и поиск. Стандартные интеграции используют OIDC/OAuth для входа и AuthZEN для проверки прав; доменные или собственные службы подключаются зарегистрированными владельцем адаптерами либо преобразованием протоколов. Локальные каталоги и правила реализуют те же границы без удалённых служб. ADR-0005, ADR-0009

Приложение, ядро и адаптеры имеют разные эксплуатационные обязанности. Встраивание библиотеки не передаёт Rukh владение временем жизни всего приложения.

ГраницаОбязанность соответствующей реализации
Приложение → ядроЯвно передать потоки, единый координатор терминала и отмену от ОС; удерживать области вызовов, закрывать их и освобождать дескрипторы завершённых вызовов. Библиотека возвращает результаты, а не завершает приложение и не забирает глобальные обработчики сигналов
Ядро → доверенный поставщикПроверить зависимости и совместимость времени жизни до инициализации; создавать допущенных поставщиков по порядку, а при сбое освобождать только собственные экземпляры в обратном порядке. Вход и установка пакетов или сред — отдельные операции, а не скрытая работа запуска
Загрузчик/поставщик среды → хранилищеСогласовывать публикацию, ссылки и удаление в одной поддерживаемой границе хранения; неполный каталог или исчезнувший номер процесса не доказывает готовность или безопасность удаления
Ядро → обработчик внутри процессаТребовать поддержки отмены и ограниченного завершения. Неостанавливаемому обработчику нужна объявленная контролируемая привязка; перенос на другой поток не обеспечивает принудительную очистку

Эти обязанности определяют ADR-0007, ADR-0008 и ADR-0010. Эксплуатационные пределы относятся к этим контрактам, а не к предполагаемому отдельному администратору или серверному компоненту.

Полномочия задачи и допуск действий
Полномочия задачи и допуск действийПолномочие задачи сужает существующие права и согласует общий расход. Узлы обозначают обязанности ядра, а не обязательные внешние службы.Владелец CLIПолномочия задач и общийрасходАдаптер MCPSecurity Broker и допускдействийСостояние профиля иресурсовВладелец жизненного циклаФиксация действий исверка результатовУтверждённые правила илидопустимое согласиеЗакрепить вызывающего иобласть задачиОбласть, отзыв и резерврасходаОбщее состояние задач ирасходаАктуальная проверкадействияПовторная проверка переддействиемПолномочия задачи и допуск действийПолномочие задачи сужает существующие права и согласует общий расход. Узлы обозначают обязанности ядра, а не обязательные внешние службы.Владелец CLIПолномочия задач и общийрасходАдаптер MCPSecurity Broker и допускдействийСостояние профиля иресурсовВладелец жизненного циклаФиксация действий исверка результатовУтверждённые правила илидопустимое согласиеЗакрепить вызывающего иобласть задачиОбласть, отзыв и резерврасходаОбщее состояние задач ирасходаАктуальная проверкадействияПовторная проверка переддействием
Компоненты и основания

Владелец 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

Диаграмма

Перетаскивайте схему · + / − — масштаб · 0 — целиком · Esc — закрытьПеремещайте и увеличивайте схему двумя пальцами

100%