2. Архитектурные ограничения
Эти ограничения следуют из назначения Rukh и окружающих его систем. Они сужают выбор, но не предписывают реализацию. Принятые способы их учёта находятся в разделе 4. Стратегия решения и ADR.
2.1 Продуктовые и организационные ограничения
Заголовок раздела «2.1 Продуктовые и организационные ограничения»| Ограничение | Следствие для архитектуры | Требование / основание |
|---|---|---|
| Владелец CLI и издатели расширений выпускают версии независимо | Добавление обычных команд не может требовать пересборки приложения или языка реализации ядра. Независимая публикация всё равно требует явно поддерживаемого контракта интеграции. | REQ-01, REQ-02; ADR-0001, ADR-0010 |
| Один продукт предназначен небольшим командам и организациям | Полезная локальная конфигурация не может зависеть от эксплуатации служб идентификации, прав или базы данных. Подключение таких служб не должно требовать смены идентичности расширений и контрактов команд. | REQ-04; ADR-0009 |
| Организации сохраняют собственные системы личности и полномочий ресурсов | Rukh должен подключаться через поддерживаемые стандарты или собственные интеграции. Одобрение пакета и правка локального файла не создают корпоративное право. | REQ-03, REQ-04; ADR-0005 |
| Людям и агентам нужны одни установленные прикладные возможности | Интеграция агента не может требовать второй реализации каждой команды или заменять объявленный ввод произвольной строкой оболочки. Предоставление команды и права каждого вызывающего остаются отдельными понятиями. | REQ-05; ADR-0013 |
| CLI участвует во вводе и выводе других программ | Конвейеры, перенаправленные данные, терминал, код завершения и отмена ограничивают способы исполнения. Транспорт не может занимать стандартные потоки команды для несовместимых целей. | REQ-02, REQ-06; ADR-0001, ADR-0002 |
Эти требования не предписывают отдельные подразделения, непрерывную интеграцию, конкретное размещение исходников или коммерческий продукт идентификации. Владелец может вести одобренные каталоги и правила как проверяемые файлы, в том числе публикуя их вручную. ADR-0009
2.2 Ограничения среды исполнения
Заголовок раздела «2.2 Ограничения среды исполнения»| Внешнее условие | Граница, которую должен учитывать Rukh | Основание |
|---|---|---|
| Учётные записи ОС, правила запуска процессов и возможности сред различаются | Даже поддерживаемая команда может не запускаться в конкретном окружении. Ядро определяет действительную совместимость и разрешения, а не выводит их из названия языка или платформы. | ADR-0001, ADR-0008 |
| Программа может напрямую обращаться к ресурсам от имени своей учётной записи ОС | Контроль процесса и проверка операций ядра сами по себе не ограничивают прямую работу с файлами, сетью и дочерними процессами. Более строгие обязательные ограничения требуют обеспечивающих их механизмов платформы. | ADR-0015 |
| Каталоги, правила и внешние учётные записи меняются независимо от работающей команды | Сохранённое описание, ранее выполненный вход и прежнее разрешение не подтверждают бессрочное право. Локальные записи не могут остановить изменение другой системы. | ADR-0005, ADR-0011, ADR-0012 |
| Внешняя операция может завершиться до потери ответа | Для произвольных ресурсов ядро не может доказать откат, устранить законные повторные действия по совпадению аргументов или обеспечить выполнение ровно один раз. Возможность сверки зависит от сведений ресурса и поддерживаемых контрактов. | ADR-0016 |
| Ввод и рассуждения агента не устанавливают полномочия | Описания инструментов, полученные данные и заявленная цель могут влиять на вызывающего, но не выдавать права. Rukh контролирует собственные пути вызовов, а не другие инструменты агента и действия вне этих путей. | ADR-0013, ADR-0014 |
2.3 Решения и неуточнённые требования развёртывания
Заголовок раздела «2.3 Решения и неуточнённые требования развёртывания»Базовое исполнение процессами, статический формат описания, подготовка на KCL, закрытый IPC и выбранные протоколы личности — принятые способы решения, а не навязанные извне технологии. Их альтернативы и пределы остаются в разделе 9.
Принятые записи не устанавливают полную матрицу поддерживаемых ОС и сред, не подтверждают адаптеры ограничения платформ и не определяют правовые обязательства отдельных организаций или договорённости о доступности служб. Если интеграции нужна такая гарантия, её необходимо установить для реального развёртывания; эталонный эксперимент не заменяет подтверждение. Текущие пробелы проверки перечислены в разделе 11. Риски и технический долг.