10. Требования к качеству
Этот раздел делает цели качества QG-01–QG-05 проверяемыми на основе принятых ADR. Сценарии задают наблюдаемые реакции и критерии приёмки; они не сообщают о готовом продукте и не принимают новую архитектуру.
10.1 Дерево качества и приоритеты проверки
Заголовок раздела «10.1 Дерево качества и приоритеты проверки»| Цель | Направления качества | Сценарии |
|---|---|---|
| QG-01 — Полномочия | Текущие права, точная идентичность, целостность артефактов, конфиденциальность и обеспечиваемые ограничения | Q02, Q07–Q11, Q16, Q17 |
| QG-02 — Сбой и восстановление | Атомарная публикация, ограниченная остановка, сохранение неопределённости, пределы ресурсов и надёжный аудит | Q03, Q04, Q10, Q13, Q18 |
| QG-03 — Расширяемость | Независимые выпуски расширений, заменяемые поставщики, версионированные контракты и явно поддержанные платформенные привязки | Q05, Q15, Q17, Q19 |
| QG-04 — Простота локального использования | Статическая справка, обычное поведение CLI, неинтерактивная работа и необязательные интеграции организации | Q01, Q12, Q15 |
| QG-05 — Отзывчивость | Задержка минимального вызова, ограниченные очереди и отдельные измерения подготовки и зависимостей | Q06, Q13, Q14 |
P1 выделяет проверки полномочий, целостности данных, владения и достоверности результата: нарушение может допустить запрещённое действие, потерять данные или ложно сообщить об успехе. P2 выделяет удобство, заменяемость и производительность в этих границах. Это приоритеты проверки по последствиям отказа, а не новый порядок выпуска или разрешение не выполнять требования P2.
Критерий отсутствия нарушений — инвариант, проверяемый на объявленном наборе случаев и последовательностей сбоев; успешный прогон не доказывает его для любой нагрузки. Выбранный предел определяется указанным ADR и действующим профилем владельца; более строгие применимые ограничения имеют приоритет. Тайм-аут или квота задают правило допуска/остановки, а не обещание задержки или ёмкости. Если продуктовый показатель не согласован, сценарий указывает предмет измерения и оставляет целевое значение открытым.
10.2 Сценарии качества
Заголовок раздела «10.2 Сценарии качества»
Q01 — Базовая справка без среды
Заголовок раздела «Q01 — Базовая справка без среды»P2 · QG-04. ADR-0002, ADR-0006.
| Элемент | Сценарий |
|---|---|
| Источник | Пользователь CLI или клиент статического дополнения команд |
| Стимул | Запросить базовую справку или статические сведения о команде при отсутствии среды расширения |
| Объект | Проверенное описание, проверка видимости и отображение справки ядром |
| Среда | Допущенные локальные метаданные; среда не установлена; разрешённая и запрещённая видимость; поддержанные языки |
| Реакция | Показать разрешённые статические сведения без исполнения расширения, подготовки среды или начала входа. Контекстное дополнение остаётся отдельным вызовом. |
| Критерий | Ни одного запуска расширения, попытки подготовки или неявного входа; никакого раскрытия защищённых метаданных при отказе проверки видимости. Соблюдены пределы проверки описания. |
| Проверка и подтверждение | Регистрировать обращения к границам запуска, подготовки и входа; сравнивать маршруты и языковой запасной вариант с выводом. ADR-0002 содержит эталонные проверки справки; полный путь описания и инструментов ещё не проверен. |
Q02 — Отказ поставщика, истечение срока или отзыв
Заголовок раздела «Q02 — Отказ поставщика, истечение срока или отзыв»P1 · QG-01. ADR-0005, ADR-0011, ADR-0012.
| Элемент | Сценарий |
|---|---|
| Источник | Поставщик полномочий, политика владельца или координатор сеансов входа |
| Стимул | Запрет, недоступность, истечение срока, отзыв или запоздалое разрешение конкурируют с допуском ожидающего действия |
| Объект | Привязанное решение, сеанс входа и окончательный допуск |
| Среда | Каждый выбранный режим пригодности; параллельные ядра; задержанный аудит; скачок часов или потеря согласованности |
| Реакция | Повторно проверить текущие барьеры отзыва, точный контекст и оставшуюся пригодность при фактической отправке. При недоступности повторное использование допустимо лишь в пределах заранее выбранного контракта bounded-reuse. |
| Критерий | Ни одного действия после отзыва, упорядоченного до допуска, вне исходной области или по просроченным/чужим полномочиям; никаких переходов к разрешающему режиму. Соблюдены пределы решения, задержки отправки и координации. |
| Проверка и подтверждение | Управлять порядком гонок вокруг транзакции допуска; подавать старые ответы, недоступное состояние и изменения часов. Прежние имитации поставщиков покрывают лишь часть отказов; проверки координации и пригодности ADR-0011/0012 не выполнены. |
Q03 — Обновление при вызове или сбой публикации
Заголовок раздела «Q03 — Обновление при вызове или сбой публикации»P1 · QG-02. ADR-0007, ADR-0009.
| Элемент | Сценарий |
|---|---|
| Источник | Одновременные обновления владельца, сбой хранения или перезапуск ядра |
| Стимул | Публиковать настройки/команды при удерживаемых вызовами ссылках; прервать запись или потерять её подтверждение |
| Объект | Активный профиль, неизменяемые выпуски, журнал фиксации и защитные ссылки |
| Среда | Локальное хранение с объявленной гарантией устойчивости; конкурирующие записи, чтения и сборка неиспользуемых ресурсов |
| Реакция | Показывать одну зафиксированную пару настроек и команд; сохранять привязки активных вызовов. Сверять неизвестную транзакцию без повтора, возврата к старой политике или преждевременного удаления. |
| Критерий | Нет смешанных ревизий, перезаписи новым состоянием из старой основы или удаления удерживаемого содержимого. Восстановление сообщает проверенную фиксацию, подтверждённое отсутствие фиксации либо явную неопределённость/повреждение, но не недоказанный успех. |
| Проверка и подтверждение | Вносить сбой на каждой границе записи, сброса и публикации; состязать захват ссылок с удалением и исчерпывать квоты хранения. Проверки хранения и восстановления ADR-0007/0009 не выполнены. |
Q04 — Отмена во время вывода, аудита или очистки
Заголовок раздела «Q04 — Отмена во время вывода, аудита или очистки»P1 · QG-02. ADR-0002, ADR-0003, ADR-0004.
| Элемент | Сценарий |
|---|---|
| Источник | Пользователь, владеющая область, срок вызова или сбой исполнения |
| Стимул | Остановка конкурирует с завершением, заблокированным выводом, обязательным аудитом, потомками или фиксацией результата |
| Объект | Владелец жизненного цикла, результат вызова и оставшийся бюджет завершения |
| Среда | Управляемые и обычные процессные вызовы; от подготовки до финализации; штатная остановка и аварийная потеря владельца |
| Реакция | Сохранить первую принятую причину отмены, закрыть допуск и использовать один непродлеваемый срок остановки. Сохранить неизвестные эффекты и ссылки. Погибший владелец не создаёт зафиксированный результат задним числом. |
| Критерий | Не более одного зафиксированного результата; нет новых защищаемых действий после начала финализации и перезапуска таймера очистки. Остановка, завершение потоков и аудит делят пределы ADR-0003/0004. Один лишь EOF stdin не отменяет вызов. |
| Проверка и подтверждение | Записывать монотонное время фаз, допуска и фиксации; проверять гонки первых причин и потерю владельца. Прежние эталонные проверки частичны; поздние уточнения жизненного цикла и проверки ADR-0004 не выполнены. |
Q05 — Замена поставщика или встраивание ядра
Заголовок раздела «Q05 — Замена поставщика или встраивание ядра»P2 · QG-03. ADR-0005, ADR-0008, ADR-0010.
| Элемент | Сценарий |
|---|---|
| Источник | Владелец CLI или разработчик доверенной интеграции |
| Стимул | Заменить поставщика с эквивалентными объявленными возможностями или собрать другое встраивающее приложение |
| Объект | Доверенные регистрации, контракты поставщиков, смысл вызовов и владение |
| Среда | Явная миграция настроек; параллельные старые/новые профили; собственные и заимствованные экземпляры поставщиков |
| Реакция | Проверить обязательные контракты до публикации; сохранить объявления расширений и канонический смысл. Активные вызовы сохраняют привязки; неподдержанные гарантии приводят к явному отказу. |
| Критерий | Нет расхождений смысла в общих проверках соответствия, скрытой смены привязки или освобождения заимствованных экземпляров. Эквивалентная замена не требует отдельного клиента поставщика в расширении или переписывания его объявления. |
| Проверка и подтверждение | Выполнить одинаковые входы, отказы и последовательности отмены для обоих адаптеров/приложений; записать изменённые места интеграции и недостающие возможности. Целевой срок разработки не согласован; проверки реализации ADR-0008/0010 не выполнены. |
Q06 — Минимальный процессный вызов после прогрева
Заголовок раздела «Q06 — Минимальный процессный вызов после прогрева»P2 · QG-05. ADR-0001, ADR-0003.
| Элемент | Сценарий |
|---|---|
| Источник | Вызывающая сторона минимальной эталонной процессной нагрузки |
| Стимул | Создать процесс, выполнить минимальную операцию и закрыть его; обменяться малыми/большими эталонными сообщениями IPC |
| Объект | Инициализация процесса/адаптера, полный жизненный цикл и установленное IPC |
| Среда | Сопоставимая рабочая станция, точный проверенный адаптер и прогретые кеши; без установки среды, удалённого поставщика прав и реальной работы команды |
| Реакция | Завершить выбранный жизненный цикл, не исключая проверки, допуск или обязательную очистку ради улучшения времени. |
| Критерий | Соблюдены неизменённые пределы p95 из ADR-0001 для готовности, полного вызова и обоих размеров IPC. Отдельно для каждого адаптера показаны медиана/p95, максимумы, ошибки и число образцов. |
| Проверка и подтверждение | Повторить записанную методику выборки; сохранить исходные измерения и параметры среды. В ADR-0003 p95 готовности и полного вызова Python превышают цели; принятие их не ослабило. |
Q07 — Инструмент изменился после получения списка
Заголовок раздела «Q07 — Инструмент изменился после получения списка»P1 · QG-01. ADR-0013, ADR-0007.
| Элемент | Сценарий |
|---|---|
| Источник | MCP-клиент и параллельная публикация профиля/политики |
| Стимул | Вызвать ранее перечисленный инструмент после изменения его профиля, выпуска или привязки видимости |
| Объект | Производное представление MCP, точное имя инструмента, курсор и захват вызова |
| Среда | Одновременные получение списка, вызов и публикация; кешированные имена; разные вызывающие стороны и сохраняющиеся активные вызовы |
| Реакция | Безопасно отклонить устаревшее или невидимое имя, потребовать новое обнаружение и не выбирать замену по похожему отображаемому имени. Допущенные вызовы сохраняют привязки и текущие проверки действий. |
| Критерий | Нет отправки к подменённой реализации и утечек метаданных другой стороны; получение списка не запускает расширения/подготовку; CLI и MCP имеют один источник профиля. Недействительные курсоры не смешивают ревизии. |
| Проверка и подтверждение | Состязать страницы списка и захват точного имени с публикацией и изменением видимости; проверять идентичность исполнения, а не только надпись. Проверки представления и адаптера ADR-0013 не выполнены. |
Q08 — Поддельные полномочия или одновременный расход дочерних задач
Заголовок раздела «Q08 — Поддельные полномочия или одновременный расход дочерних задач»P1 · QG-01. ADR-0014, ADR-0012.
| Элемент | Сценарий |
|---|---|
| Источник | Агент, дочерняя задача или параллельный процесс ядра |
| Стимул | Подделать привязку задачи/действующей стороны, расширить делегирование, одновременно потратить остаток или переподключиться после расхода |
| Объект | Доверенная выдача, цепочка задач, пересечение текущих прав и общий журнал допуска |
| Среда | Независимо привязанный выдающий; несколько процессов/потомков; перезапуск, истечение срока, отзыв и сохранённые резервы |
| Реакция | Связать полномочия при окончательном допуске; атомарно списать учитываемые попытки и зарезервировать обеспечиваемый максимальный расход у всех предков. Применять пределы выдачи к автоматическим корням; истечение полномочий закрывает новые допуски, но не создаёт тайм-аут процесса. |
| Критерий | Нет расширения области, перерасхода или сброса баланса. Потраченный и зарезервированный расход вместе укладываются в каждый предел; неизвестные эффекты сохраняют резерв. Неизвестный максимум стоимости не удовлетворяет обязательному жёсткому пределу. |
| Проверка и подтверждение | Состязать независимые процессы, повторные ссылки и выдачу корней; перезапускать на каждой границе журнала. Проверять выбранные пределы цепочки, срока и хранения. Реализация выдающего/координатора не подтверждена; общий предел независимых разрешённых корней требует явной общей политики. |
Q09 — Обязательная изоляция недоступна
Заголовок раздела «Q09 — Обязательная изоляция недоступна»P1 · QG-01. ADR-0015, ADR-0008.
| Элемент | Сценарий |
|---|---|
| Источник | Требования команды, профиль владельца или изменение состояния платформы |
| Стимул | Потребовать ограничения, которые исполнитель не может установить, либо заменить подготовленный ресурс до запуска |
| Объект | Точный план ограничений, привязка среды/исполняемого файла и контролируемая область исполнения |
| Среда | Каждая заявленная привязка ОС/среды; потомки; изменяемые заимствованные среды; отдельно разрешённая подготовка |
| Реакция | Подтвердить все обязательные ограничения до запуска расширения либо отказать. Обычное явно доверенное исполнение host-trusted остаётся возможным с его реальными правами ОС. |
| Критерий | Нет запуска при отсутствующих обязательных ограничениях, ослабляющего запасного пути или неподтверждённых заявлений. Проверяется каждое объявленное ограничение, включая потомков и прямой доступ; неизвестное завершение удерживает ссылки. |
| Проверка и подтверждение | На конкретной платформе пытаться нарушить ограничения файлов, сети, наследования и ресурсов при точном плане. ADR-0015 не подтверждает готовый адаптер; контроль процесса и публикация MCP не доказывают изоляцию. |
Q10 — Действие отправлено, ответ потерян
Заголовок раздела «Q10 — Действие отправлено, ответ потерян»P1 · QG-01, QG-02. ADR-0016, ADR-0014.
| Элемент | Сценарий |
|---|---|
| Источник | Защищаемая служба, отказ транспорта или сбой при фиксации эффекта |
| Стимул | Потерять ответ, повторить разрешение или подменить данные/ресурс/предусловия после одобрения |
| Объект | Точная привязка эффекта, одноразовое разрешение, устойчивое намерение отправки и резерв расхода |
| Среда | Параллельные вызывающие стороны; сбои до/после устойчивого допуска и отправки; свойства идемпотентности/согласованности конкретной службы |
| Реакция | Допустить лишь одобренную привязку; сохранить неизвестные эффекты и расход. Сверять по разрешённым доказательствам без повтора команды или изменения первоначального результата. |
| Критерий | Не более одной фиксации на разрешение; нет отправки при изменённой привязке или неподтверждённом допуске. Нет автоматического повтора, ложного доказательства отсутствия эффекта или освобождения неизвестного расхода. Локальные записи не обещают универсальное exactly-once исполнение службы. |
| Проверка и подтверждение | Вносить сбои на каждой границе фиксации; менять потерю ответа, срок ключа, данные и целевой объект. Считать реальные эффекты службы отдельно от результатов вызовов. Проверки журнала, адаптеров и сверки не выполнены. |
Q11 — Изменённая или недопустимая публикация
Заголовок раздела «Q11 — Изменённая или недопустимая публикация»P1 · QG-01. ADR-0006, ADR-0007, ADR-0009.
| Элемент | Сценарий |
|---|---|
| Источник | Издатель, источник каталога/артефакта или некорректный пакет |
| Стимул | Изменить байты за ссылкой; передать неодобренный хеш, неверное описание, конфликт маршрутов или опасный архив |
| Объект | Привязка доверия владельца, проверенные метаданные, область распаковки и дерево команд кандидата |
| Среда | Локальные файлы и одобренные адаптеры источников; перенаправленные/перемещённые ссылки; сжатые данные сверх размера |
| Реакция | Независимо проверить полномочия, точные байты, пути, схемы и смонтированные маршруты до активации. Проверки издателя или компиляция KCL не заменяют проверку клиента. |
| Критерий | Нет исполнения/активации отклонённого содержимого, записи вне собственной временной области или частичных изменений активного дерева. Соблюдены объявленные и фактические пределы размера и ограниченный срок проверки. |
| Проверка и подтверждение | Менять хеши, псевдонимы, платформы и пути архива; проверять граничные размеры и независимо заданное доверие владельца. Базовый вариант не требует службы подписей. Проверки ADR-0006/0007/0009 не выполнены. |
Q12 — Терминал, конвейеры и работа без интерфейса
Заголовок раздела «Q12 — Терминал, конвейеры и работа без интерфейса»P1 · QG-04, QG-02. ADR-0002, ADR-0010, ADR-0013.
| Элемент | Сценарий |
|---|---|
| Источник | Пользователь, потребитель конвейера или неинтерактивный вызывающий CLI/MCP |
| Стимул | Перенаправить двоичные потоки, закрыть потребителя, запросить ввод без одобренного терминала, изменить размер или отменить активное представление |
| Объект | Потоки команды, привязка терминала, владение диалогом/представлением и stdout протокола |
| Среда | Независимое перенаправление stdout/stderr; физические терминалы и приложения без интерфейса; конкурирующие взаимодействия |
| Реакция | Сохранить перенаправленные байты, безопасно показать текст в терминале и направлять клавиатурный ввод только через ядро. Отказать при отсутствии обязательного взаимодействия; не выдумывать ответ и не открывать скрытый терминал. |
| Критерий | Перенаправленные данные команды сохраняют байты без вставок UI/управляющего протокола или неявного использования конвейера как ответов. Выбранная владельцем диагностика stderr учитывается отдельно; stdout MCP содержит только его протокол. Один владелец активного ввода; восстановление терминала и значимый ввод соблюдают объявленные пределы доставки/очистки. |
| Проверка и подтверждение | Сравнивать двоичные образцы; проверять фокус, отмену с клавиатуры, размер, устаревшие события и восстановление терминала. Модель ADR-0002 не использует физический терминал; терминалы и вспомогательные технологии требуют отдельных подтверждений. |
Q13 — Заполненные очереди и параллельные вызовы
Заголовок раздела «Q13 — Заполненные очереди и параллельные вызовы»P1 · QG-02, QG-05. ADR-0003, ADR-0010, ADR-0013.
| Элемент | Сценарий |
|---|---|
| Источник | Многословное расширение, медленный потребитель вывода или параллельные вызывающие стороны |
| Стимул | Заполнить ожидающие запросы, очереди вывода/журналов, наблюдателей или ёмкость вызовов одновременно с отменой |
| Объект | Ограниченные разборщики/очереди, резерв жизненного цикла, дескрипторы вызовов приложения и запись транспорта |
| Среда | На выбранном пределе и на единицу выше; одновременные чтение/запись; застрявшие частичные кадры |
| Реакция | Отклонить лишний допуск, учитывать разрешённые потери журналов и сохранять продвижение управления. Не терять значимый ввод молча; закрыть отказавший транспорт и завершить принадлежащую ему работу. |
| Критерий | Ни один настроенный предел очереди/параллелизма не превышен; прогресс не перезапускает таймеры частичного чтения/записи. Отмена/завершение соблюдают существующие сроки. Показаны пики RAM/CPU/дескрипторов; квоты не задают общий предел памяти процесса или пропускную способность. |
| Проверка и подтверждение | Заполнять каждый предел отдельно и в сочетаниях; записывать пики очередей, отказы и обязательства очистки. ADR-0003 подтверждает часть канала/нагрузки; ёмкость встраивающего приложения и MCP ещё не проверена. |
Q14 — Холодная подготовка и медленные зависимости
Заголовок раздела «Q14 — Холодная подготовка и медленные зависимости»P2 · QG-05, QG-02. ADR-0005, ADR-0007, ADR-0008.
| Элемент | Сценарий |
|---|---|
| Источник | Первый допущенный вызывающий, поставщик среды/источника или внешних полномочий |
| Стимул | Запустить команду с отсутствующей/холодной средой, задержанной передачей или ответом метаданных; отменить одного общего ожидающего |
| Объект | Разрешённый план подготовки, готовность/ссылка среды и обращения к зависимостям |
| Среда | Кешированные и отсутствующие артефакты; локальные и удалённые источники; параллельные вызовы с одним точным ключом |
| Реакция | Подготовить только одобренный план; один раз опубликовать проверенную готовность; сохранить владение других разрешённых ожидающих. Остановиться по фиксированному сроку или квоте, не удаляя удерживаемые/неопределённые данные. |
| Критерий | Соблюдены выбранные пределы фаз, подготовителей и кеша; нет повторной публикации конкурирующим подготовителем или запуска расширения на незавершённом состоянии. Время разрешения, передачи, проверки, захвата, полномочий и запуска измеряется отдельно; общий SLO холодного запуска не согласован. |
| Проверка и подтверждение | Менять состояние кеша, задержки служб, отсутствие прогресса передачи, отмену и сбои подготовителя; записывать байты, резервы и ожидания. Проверки поставщиков среды и хранения не выполнены; использование mise для сайта не подтверждает продукт. |
Q15 — Локальная работа и интеграция организации
Заголовок раздела «Q15 — Локальная работа и интеграция организации»P2 · QG-03, QG-04. ADR-0001, ADR-0005, ADR-0009, ADR-0011.
| Элемент | Сценарий |
|---|---|
| Источник | Владелец небольшой команды или разработчик интеграции организации |
| Стимул | Использовать одобренный локальный каталог, затем явно добавить обязательные адаптеры идентификации/прав или платформы |
| Объект | Каталог, профиль владельца, объявления расширений и платформенные/сервисные привязки |
| Среда | Локальные артефакты без обязательной удалённой службы; отдельно настроенные корпоративные/CI-профили; точная комбинация ОС/среды/хранилища |
| Реакция | Сохранить полезный локальный вариант без обязательного входа, службы идентификации/прав, сервера БД или KCL на клиенте. Добавлять интеграции через зарегистрированные контракты; явно отказывать при неподдержанной привязке или недоступной обязательной службе. |
| Критерий | Локальная проверка не запускает незапрошенную инфраструктуру/вход; эквивалентные интеграции сохраняют смысл расширений. Каждая заявленная возможность платформы проходит свои проверки; общей гарантии автономной работы или всех платформ это не даёт. |
| Проверка и подтверждение | Выполнить одинаковые команды с локальной политикой и объявленными адаптерами организации, записав реальные требования к адресам и хранилищам. Ранние имитации идентификации и проверки Windows/WSL не доказывают корпоративную или общую платформенную поддержку. |
Q16 — Секреты, обновление учётных данных и выход
Заголовок раздела «Q16 — Секреты, обновление учётных данных и выход»P1 · QG-01. ADR-0011, ADR-0012.
| Элемент | Сценарий |
|---|---|
| Источник | Поставщик идентификации, хранилище секретов или параллельное управление учётной записью |
| Стимул | Заблокировать хранилище, потерять ответ обновления, сменить учётную запись или выйти во время возврата старой записи |
| Объект | Защищённые ссылки учётных данных, поколения сеансов, семейство обновления и использование данных для точного запроса |
| Среда | Постоянный и явно выбранный временный режимы; несколько ядер; неинтерактивный CI с зарегистрированной служебной идентичностью; одобренные адресаты и аудитории |
| Реакция | Сохранить устойчивый отзыв и неопределённость, запретить повтор возможно использованного refresh token и удерживать общие учётные данные за одобренными ограниченными адаптерами. Выдача ограниченных данных имеет отдельный контракт полномочий. Не переходить к открытому хранению или другой учётной записи. |
| Критерий | Нет восстановления старого сеанса или неразрешённого применения учётных данных. Общие учётные данные идентификации/служб/реестров не выходят в расширения; отдельно разрешённые ограниченные данные сохраняют контракт адресата/области/срока. Ни те, ни другие не попадают в диагностику. Один обмен обновления на допущенную попытку семейства; подтверждённый выход закрывает последующие допуски. |
| Проверка и подтверждение | Использовать узнаваемые тестовые секреты; исследовать определённые каналы вывода/хранения; состязать обновление, выход и перезапуск на границах публикации. Не выводить из этого изоляцию произвольного доверенного кода ОС. Проверки учётных данных/координатора не выполнены. |
Q17 — Несовпадение контракта или сеанса
Заголовок раздела «Q17 — Несовпадение контракта или сеанса»P1 · QG-01, QG-03. ADR-0003, ADR-0006, ADR-0013.
| Элемент | Сценарий |
|---|---|
| Источник | Адаптер расширения или клиент CLI/MCP |
| Стимул | Передать неподдержанную версию/возможность, чужой сеанс, неправильный кадр или значение с неоднозначным представлением |
| Объект | Статические проверки возможностей, частный сеанс, типизированные входы/результаты и адаптер внешнего протокола |
| Среда | Каждая объявленная комбинация привязки/среды; разбитые кадры, параллельные запуски и старые/новые совместимые версии |
| Реакция | Отклонить известную несовместимость до запуска; несовпадение инициализации не допускает вызова обработчика. Разбирать поддержанные значения один раз без скрытой потери точности, ослабления версии или замены канала. |
| Критерий | Нет обращений к обработчику до подтверждения, подмены полномочий между сеансами или принятия неподдержанного результата. Эквивалентные типизированные входы CLI/MCP сохраняют значения, умолчания и явно заданные ID; частный IPC и внешний MCP разделены. |
| Проверка и подтверждение | Проверять неверные кодировки, границы чисел, повторные ID/ключи, изоляцию наследуемых дескрипторов и схемы результатов. ADR-0003 покрывает конкретные адаптеры Go/Python на Windows; описание и уточнения MCP ещё не проверены. |
Q18 — Диагностика и отказ обязательного аудита
Заголовок раздела «Q18 — Диагностика и отказ обязательного аудита»P1 · QG-02, QG-01. ADR-0002, ADR-0003, ADR-0016.
| Элемент | Сценарий |
|---|---|
| Источник | Журнал расширения, получатель диагностики или служба обязательного аудита |
| Стимул | Подделать метаданные журнала, включить известный секрет, заблокировать доставку или вызвать отказ аудита до/после действия |
| Объект | Корреляция от ядра, маршрутизация диагностики, обязательство аудита и окончательный результат |
| Среда | Параллельные вызовы; локальные/удалённые получатели; перегрузка, отмена и уже допущенный внешний эффект |
| Реакция | Отделить текст издателя от доверенных метаданных; скрыть известные секреты и ограничить обычную доставку. Обязательный предварительный аудит разрешает отправку только после подтверждения; отказ последующего аудита не допускает ложного успеха и сохраняет неопределённость. |
| Критерий | Нет подмены метаданных или байтов диагностики в stdout команды/протокола. Защищённое действие не начинается до обязательного подтверждения предварительного аудита; невыполненное обязательство не даёт обычного успеха. Потери диагностики учитываются и не продлевают остановку. |
| Проверка и подтверждение | Вызывать отказы получателей и проверять доверенную корреляцию, типизированную причину и результат вместо доверия тексту журнала. Эталонные модели покрывают часть отказов аудита; устойчивый аудит/хранение и гарантии служб эффектов ещё не проверены. |
Q19 — Независимое развитие расширения
Заголовок раздела «Q19 — Независимое развитие расширения»P2 · QG-03. ADR-0001, ADR-0006, ADR-0007, ADR-0010, ADR-0013.
| Элемент | Сценарий |
|---|---|
| Источник | Команда разработчиков обычного расширения команд |
| Стимул | Опубликовать совместимый выпуск с добавленной/изменённой командой или подкомандой; отдельно потребовать возможность, отсутствующую в старом ядре |
| Объект | Выпуск расширения, смонтированное дерево команд/псевдонимов, общий контракт входов и необязательное представление MCP |
| Среда | Существующая сборка именованного CLI и доверенные регистрации; активные вызовы с прежним выпуском; поддержанные и неподдержанные версии контрактов |
| Реакция | Допустить и активировать совместимый выпуск без пересборки CLI или изменения зарегистрированных в нём интеграций. Сохранить каноническую идентичность и смысл прав; проверить явную пригодность/публикацию MCP. Отклонить конфликты или неподдержанные обязательные возможности без ослабления или частичной публикации. |
| Критерий | Сборка приложения и общий смысл входов не меняются при обычном совместимом обновлении; нет неоднозначных маршрутов, меняющих права псевдонимов или скрытой смены выпуска активного вызова. CLI и выбранное представление MCP следуют одному зафиксированному профилю. |
| Проверка и подтверждение | Установить два совместимых выпуска в одной сборке приложения, сохранить активный старый вызов, затем проверить конфликты и обязательную неподдержанную возможность. Сравнить маршруты, типизированные входы, права и привязки выпусков; записать реальные места изменений/трудозатраты без обещания числа часов. Совместные проверки публикации и MCP не выполнены. |
10.3 Воспроизводимые условия проверки
Заголовок раздела «10.3 Воспроизводимые условия проверки»Результат имеет смысл только вместе с записанными нагрузкой и границей. Ниже приведены классы измерения, а не дополнительная поддерживаемая ёмкость или SLA продукта.
| Класс | Что задавать, записывать и менять | Необходимые наблюдения |
|---|---|---|
| Минимальный процесс после прогрева | Эталонная нагрузка ADR-0001/0003, версии адаптера/среды, размеры данных, прогрев и выборка | Распределения готовности, полного жизненного цикла и установленного IPC; для сравнения сохраняются исходные границы таймеров |
| Холодный локальный путь | Запуск ядра и состояние кеша ОС; наличие среды; установленные/некешированные артефакты; число и размер описаний/команд | Раздельное время приложения, метаданных/доверия, подготовки и исполнения; реальные передачи, запуски и работа с файлами |
| Рост локальных метаданных | Элементы каталога, команды, псевдонимы, языки, размер/глубина входов и число страниц от малого примера до выбранных пределов | Задержка проверки/справки/списка, память, реакция на отмену и точный отказ при превышении каждого предела |
| Зависимые службы | Тип адаптера/адресата, выбранный режим пригодности, внесённая задержка, отказ, согласованность и состояние учётных данных/хранилища | Время ядра отдельно от зависимостей, решения допуска, число тайм-аутов/ошибок и отсутствие неразрешённого запасного пути/повтора |
| Параллелизм и насыщение | Активные вызовы/ядра/корни, общие ключи подготовки, заполнение очередей, медленные потребители и состав данных | Число допусков/отказов, пики очередей/ресурсов, сохранение общего бюджета, наблюдения за распределением обслуживания и поведением остановки |
| Сбой и восстановление | Точная точка сбоя до/после записи, сброса, допуска, отправки или подтверждения; привязка файловой системы/платформы | Авторитетное состояние после восстановления, удерживаемые ссылки/резервы, фактическое число эффектов и достоверная неопределённость |
Записываются оборудование, ОС/файловая система, режим терминала, ревизии адаптера/сборки/настроек, пределы владельца, определение кеша, фоновая нагрузка, часы, метод вычисления процентилей и исходные образцы. Ошибочные попытки и тайм-ауты показываются отдельно; медленные успешные образцы не отбрасываются. Для новых классов указываются медиана/p95/p99 при достаточной выборке, максимумы, пропускная способность, CPU, пиковая память, диск/временное хранение и число дескрипторов, где это применимо. Измерения описывают проверенные условия; успешность определяет только согласованный порог применимого ADR.
Каждый выбранный предел проверяется на границе и сразу за ней, включая сочетания, где действует меньший предел сообщения, вызова, задачи или владельца. Последовательности сбоев должны охватывать параллельные процессы и перезапуск там, где контракт требует устойчивой координации. В результате проверки указываются тестовые условия, наблюдаемый итог и сохранённые подтверждения; отображение диаграммы или проверка документации не подтверждают соответствие продукта.
10.4 Подтверждения и открытые показатели
Заголовок раздела «10.4 Подтверждения и открытые показатели»| Записанное подтверждение | Что оно подтверждает и чего не подтверждает |
|---|---|
| ADR-0001, 2026-09-20 | Исторические измерения минимального прогретого пути Go/Node и реализуемость процессного варианта. Общие проверки прошли в записанных средах Windows/Ubuntu; проверки терминала/дерева Windows сохранили 3 отказа изменения размера в строковом вводе Node. Временных прототипов и исходных измерений больше нет в этом репозитории. |
| ADR-0002, 2026-09-20 | 137 эталонных проверок Windows/Node покрывают выбранную семантику, реальные потоки дочернего процесса и модель взаимодействия без физического терминала. Поставщики, аудит и события UI управляются тестом; это не готовый терминальный интерфейс или промышленный SDK. |
| ADR-0003, 2026-09-21 | 126 проверок покрывают записанный эталон наследуемого канала Windows Go/Python. p95 готовности Python 166.002 мс и полного вызова 185.434 мс превышают неизменённые пределы сравнения; установленное IPC соблюдает свои пределы. Поздние уточнения жизненного цикла и CLI/MCP этим прогоном не покрыты. |
| ADR-0004–0016 | Принятие устанавливает контракты. Указанные проверки реализации остаются невыполненными; прежние модели не подтверждают устойчивую координацию, промышленных поставщиков, MCP, изоляцию или сверку эффектов. |
Следующие показатели приёмки ещё требуют конкретного решения о развёртывании/нагрузке и измерений; этот раздел не назначает им новые значения:
| Открытый показатель | Что определить до заявления о поддержке |
|---|---|
| Отзывчивость реальной команды | Сквозные цели задержки/ошибок для холодного/прогретого и локального/зависимого от служб пути, с границами фаз и характерными командами; эталонное IPC их не задаёт |
| Поддерживаемые условия работы | Устойчивая пропускная способность, масштаб каталогов/профилей/задач и общие пределы CPU/RAM/диска/дескрипторов для точных сочетаний платформы/адаптера; существующие квоты остаются защитными пределами |
| Доступность интерфейса и платформы | Матрица проверок физического терминала/клавиатуры/размера и вспомогательных технологий, поддержанные сочетания ОС/среды/хранения и любой заявляемый стандарт доступности |
| Корпоративная работа | Необходимые адресаты, возможности прокси/частных центров сертификации и хранилищ учётных данных, политика пригодности без связи, сроки распространения/отзыва и гарантии внешних служб для выбранного развёртывания |
| Непрерывность работы | Цели доступности, времени восстановления и потери данных, устойчивое хранение/доступ к аудиту и обслуживание хранилищ сверх принятых контрактов восстановления; общего SLA или универсальных RTO/RPO сейчас нет |
Последствия этих пробелов приведены в рисках и техническом долге. Точные поля, квоты, сроки и коды ошибок определяются исходными ADR.