Перейти к содержанию

Каталог требований

Ненормативное представление. Источником правды остаются документы, на которые ссылается таблица. Страница генерируется при сборке сайта.

Используйте поиск страницы для фильтрации по ID, уровню, заголовку, области применения или пути документа.

ID Уровень Требование Применяется к
AI-DEV-001 MUST Машинообнаружимая точка входа проекту с возможностью ai-assisted-development
AI-DEV-002 MUST Обновление контекста перед изменением началу новой задачи или продолжению работы после изменения ветки, manifest либо инструкций
AI-DEV-003 SHOULD Результат и проверка до реализации изменению поведения, контракта, данных или сборки
AI-DEV-004 MUST Остановка при недостатке полномочий или контекста конфликту требований, отсутствующему manifest, неясному публичному контракту или действию вне явно предоставленных полномочий
AI-DEV-005 SHOULD Связность изменения diff, создаваемому агентом для одной задачи
AI-DEV-006 MUST Воспроизводимое evidence утверждению агента о соответствии или успешной проверке
AI-DEV-007 MUST NOT Передача данных модели prompt, context, attachment, tool output и telemetry, передаваемым ИИ-модели или её провайдеру
AI-DEV-008 MUST Минимальные полномочия агента identity, credentials, filesystem и network среды агента
AI-DEV-010 SHOULD Атрибуция участия агента merge request, в котором ИИ-агент создал или изменил код, конфигурацию, схему либо проектную документацию
AI-DEV-011 MUST Минимизация контекста модели данным, разрешённым для передачи модели по AI-DEV-007
ARC-PAT-001 SHOULD Обоснованная архитектурная абстракция добавлению проектного интерфейса, слоя или модуля, не заданного внешним контрактом
ARC-PAT-002 SHOULD Направление зависимости прикладной границы компоненту с прикладным правилом и адаптером транспорта, хранилища, framework или внешнего provider
ARC-PAT-003 MUST Единый путь применения прикладного правила операции, выполняющей изменение состояния или внешний эффект после проверки доступа, инварианта, идемпотентности либо транзакционного условия
ARC-PAT-004 SHOULD Ациклические зависимости проектных модулей компоненту с двумя и более проектными модулями и статическими зависимостями между ними
ARC-PAT-005 MUST Закрытая поверхность проектного модуля компоненту с двумя и более проектными модулями, разделяющими прикладные ответственности
ARC-PAT-006 MUST Владение состоянием проектного модуля устойчивому состоянию, через которое проектный модуль обеспечивает прикладной инвариант
ARC-PAT-007 MUST Карта доменных контекстов проекту с двумя и более прикладными ответственностями, разделёнными между модулями или сервисами, либо с разным смыслом одного термина
ARC-PAT-008 MUST Однозначная терминология контекста прикладному понятию, используемому в доменном контексте и его контрактах
ARC-PAT-009 MUST Преобразование между доменными моделями обмену между доменными контекстами с различающимися моделями, терминами или правилами
ARC-PAT-010 MUST Граница атомарного инварианта изменению состояния, для которого несколько прикладных условий должны выполняться атомарно
ARC-SVC-001 MUST Обоснованная граница сервиса созданию или сохранению независимо развёртываемого сервиса
ARC-SVC-002 MUST Владение поведением и контрактами каждому независимо развёртываемому сервису
ARC-SVC-003 MUST Закрытая поверхность взаимодействия входящему или исходящему межсервисному взаимодействию
ARC-SVC-004 MUST Граница изменения данных устойчивым данным, изменяемым независимо развёртываемым сервисом
ARC-SVC-005 MUST Независимая поставка изменению независимо развёртываемого сервиса
ARC-SVC-006 MUST Контракт отказа зависимости каждой обязательной или необязательной межсервисной зависимости
ARC-SVC-007 MUST Явная стратегия межсервисного чтения операции, результат которой объединяет данные двух и более независимо развёртываемых сервисов
ARC-SVC-008 MUST Ограниченная синхронная композиция межсервисному чтению с синхронной композицией
ARC-SVC-009 MUST Контракт производной модели чтения сохранённому представлению данных, полученных от другого сервиса
ARC-SVC-010 MUST Свежесть данных для обязательного решения решению об авторизации, финансовом результате, прикладном инварианте или необратимом эффекте на основании производной модели чтения
ARC-SVC-011 MUST Решение о выделении сервиса началу выделения ответственности в отдельный сервис
ARC-SVC-012 MUST Владение на каждом этапе выделения каждому этапу выделения сервиса
ARC-SVC-013 MUST Единственный путь прикладной записи изменяющей операции во время выделения сервиса
ARC-SVC-014 MUST Перенос и сверка данных копированию существующих данных в целевой сервис
ARC-SVC-015 MUST Переключение и удаление прежнего пути переключению потребителей на целевой сервис и завершению выделения
BE-COMP-001 MUST Обратно совместимое изменение изменению действующей версии API
BE-COMP-002 MUST Миграция несовместимой версии введению новой несовместимой версии API
BE-COMP-003 MUST Проверка и публикация контракта каждому изменению API
BE-CONF-001 MUST Версионируемая базовая конфигурация конфигурации приложения
BE-CONF-002 MUST Порядок объединения источников загрузке конфигурации
BE-CONF-003 MUST Переопределение переменными окружения параметрам, переопределяемым переменными окружения
BE-CONF-004 MUST Типизация и проверка при старте итоговой конфигурации приложения
BE-CONF-005 MUST Секреты вне репозитория и артефакта секретам и аутентификационным данным
BE-CONF-007 MUST Минимизация доступа к секретам загрузке и использованию секретов
BE-CONF-008 SHOULD Безопасная диагностика загруженной конфигурации диагностике результата загрузки конфигурации
BE-CONF-010 MUST Сообщения об ошибках конфигурации ошибкам загрузки и проверки конфигурации
BE-CONF-011 SHOULD Неизвестные переменные окружения переменным окружения с объявленным префиксом приложения
BE-CONF-012 MUST Динамическая конфигурация и feature flags конфигурации backend, изменяющей поведение запущенного процесса без поставки нового артефакта
BE-CONF-013 MUST Управляемый rollout feature flag feature flag, постепенно включаемому для части операций, пользователей или tenant
BE-HLTH-001 MUST Раздельные проверки состояния каждому экземпляру долгоживущего backend-процесса в среде, поддерживающей проверки состояния
BE-HLTH-002 MUST Семантика liveness проверке liveness
BE-HLTH-003 MUST Семантика readiness проверке readiness
BE-HLTH-004 MUST Состояние при запуске периоду от запуска процесса с проверками по BE-HLTH-001 до окончания инициализации
BE-HLTH-005 MUST Состояние при завершении периоду штатного завершения процесса с проверками по BE-HLTH-001
BE-HLTH-006 MUST Ограниченность проверки выполнению liveness и readiness
BE-HLTH-007 MUST Изоляция и защита интерфейсов доступу и содержимому интерфейсов состояния
BE-HLTH-008 MUST Наблюдаемость проверок логам, трассам и метрикам проверок состояния
BE-HLTH-009 SHOULD Стандартные HTTP-пути проверок HTTP-интерфейсу liveness и readiness
BE-HTTP-001 MUST Ограничение HTTP-запроса каждому входящему HTTP-запросу
BE-HTTP-002 MUST Единый контракт ошибок каждому неуспешному ответу опубликованного HTTP API
BE-HTTP-003 MUST Идемпотентность изменяющих операций повторяемому запросу, создающему необратимый эффект
BE-HTTP-004 MUST Ограниченные коллекции HTTP endpoint, коллекция которого может превысить установленный максимальный размер одного ответа
BE-HTTP-005 MUST Машинно-проверяемый контракт каждому опубликованному HTTP endpoint
BE-HTTP-006 MUST Семантика метода и статуса каждой операции HTTP API
BE-HTTP-007 MUST Валидация до выполнения path, query, headers и телу входящего запроса
BE-HTTP-010 MUST Конкурентное изменение ресурса операции, способной перезаписать конкурентное изменение
BE-HTTP-011 MUST Контракт ограничения частоты HTTP endpoint с ограничением частоты или квотой запросов
BE-JOB-001 MUST Подтверждение после результата сообщению с явным подтверждением обработки
BE-JOB-002 MUST Идемпотентная повторная обработка сообщению, допускающему повторную доставку
BE-JOB-003 MUST Ограниченные повторы и терминальный результат неуспешной обработке сообщения
BE-JOB-004 MUST Порядок и конкурентность параллельной обработке сообщений
BE-JOB-005 MUST Срок актуальности работы job или сообщению, результат которого после определённого момента теряет смысл либо становится небезопасным
BE-JOB-006 MUST Владение зарезервированной работой обработке, для которой broker или scheduler выдаёт ограниченную по времени reservation, visibility timeout или lease
BE-JOB-007 MUST Независимый результат элементов batch получению или обработке нескольких независимо подтверждаемых сообщений одним batch
BE-JOB-008 MUST Контракт планового запуска job, запускаемой scheduler по времени или календарному расписанию
BE-MIG-001 MUST Совместимость поэтапного развёртывания изменению схемы, используемой несколькими версиями приложения
BE-MIG-002 MUST Безопасное выполнение миграции каждой production-миграции
BE-MIG-003 MUST Единственное управляемое выполнение выполнению production-миграций
BE-MIG-004 MUST Восстановление и проверка данных миграции, изменяющей или удаляющей данные
BE-RES-001 MUST Конечные тайм-ауты каждому сетевому вызову и ожиданию внешней зависимости
BE-RES-002 MUST Ограниченные повторы автоматическим retry
BE-RES-003 MUST Отмена операции отмене запроса, job или обработчика сообщения
BE-RES-004 MUST Ограничение распространения отказа зависимости, отказ которой способен исчерпать ресурсы
BE-RSRC-001 MUST Конечные лимиты пулам, очередям, буферам, соединениям и конкурентным операциям
BE-RSRC-002 MUST Поведение при насыщении достижению лимита ресурса
BE-RSRC-003 MUST Наблюдаемость насыщения каждому ограниченному ресурсу
BE-SHUT-001 MUST Единая процедура завершения штатному сигналу остановки процесса
BE-SHUT-002 MUST Прекращение допуска новой работы началу штатного завершения
BE-SHUT-003 MUST Дренирование выполняемой работы операциям, начатым до прекращения допуска новой работы
BE-SHUT-004 MUST Ограниченный срок завершения всей процедуре штатного завершения
BE-SHUT-005 MUST Порядок закрытия ресурсов сетевым серверам, исполнителям и внешним ресурсам процесса
BE-SHUT-006 MUST Завершение телеметрии логгеру, OpenTelemetry SDK и Sentry SDK процесса
BE-SHUT-007 MUST Результат и наблюдаемость завершения результату штатной процедуры завершения
BE-START-001 MUST Fail-fast инициализация обязательной конфигурации и зависимости при старте
BE-START-002 MUST Порядок готовности переходу процесса в ready
BE-START-003 MUST Наблюдаемость запуска результату процедуры запуска
BE-STATE-001 MUST Явная модель состояния каждому устойчиво хранимому состоянию компонента
BE-STATE-002 MUST Отсутствие локальной исключительности изменяемому состоянию в памяти или локальной файловой системе
BE-STATE-003 MUST Конкурентное изменение двум операциям, изменяющим один логический объект
BE-STATE-004 MUST Совместимость формата состояния изменению persisted schema или сериализованного формата
BE-STATE-005 MUST Идемпотентное восстановление операции операции, которая может прерваться после частичной записи
BE-STATE-006 MUST Fencing владельца lease writer, считающему себя единственным владельцем по distributed lock, lease или leader election
BE-STATE-007 MUST Согласованность независимых фиксаций бизнес-операции, обязательные эффекты которой фиксируются в двух или более системах без общей атомарной транзакции
BE-TST-006 MUST Область unit-теста unit-тестам
BE-TST-007 SHOULD Сценарии unit-тестирования unit-тестам бизнес-логики и преобразований
BE-TST-008 SHOULD Использование test doubles в unit-тестах mock, stub, fake и spy в unit-тестах
BE-TST-009 MUST Реальная инфраструктура integration-теста integration-тестам базы данных, broker, cache, файлового или сетевого протокола
BE-TST-010 MUST Подмена внешней системы в integration-тесте интеграции с системой вне контроля проекта
BE-TST-011 MUST Изоляция integration-тестов integration-тестам с изменяемым состоянием
BE-TST-012 MUST Границы integration-тестирования точкам взаимодействия backend-компонента
BE-TST-013 MUST Область e2e-теста автоматизированным e2e-тестам
BE-TST-014 SHOULD Минимальный критичный e2e-набор e2e-стратегии проекта
BE-TST-015 MUST Среда e2e-тестирования запуску e2e-тестов
DATA-AN-001 MUST Определение аналитической метрики каждой публикуемой метрике или dimension
DATA-AN-002 MUST Grain и ключ результата аналитической модели или витрине
DATA-AN-003 MUST Время и поздние данные модели, зависящей от времени
DATA-AN-004 MUST Null, неизвестное и нулевое значение измерению и агрегату
DATA-AN-005 SHOULD Защита от регрессии модели изменению опубликованной модели или метрики
DATA-BACK-001 MUST Проектные RPO и RTO production-данным и состоянию, потеря которых нарушает обязательный результат или которые нельзя восстановить из другого источника в требуемый срок
DATA-BACK-002 MUST Полнота и защита backup резервной копии
DATA-BACK-003 MUST Срок хранения и удаление backup и его копиям
DATA-BACK-004 MUST Регулярная проверка восстановления каждому механизму backup
DATA-BACK-005 MUST Наблюдаемость и отказ backup выполнению backup и restore
DATA-CLS-001 MUST Политика классификации каждому проекту, обрабатывающему пользовательские, аутентификационные, платёжные, коммерчески чувствительные или регулируемые данные
DATA-CLS-002 MUST Маскирование и минимизация передаче данных в логи, трассы, метрики, события ошибок, аудит и аналитические системы
DATA-CLS-003 MUST Изменение политики добавлению класса, поля или изменению правил обработки
DATA-ID-001 MUST UUIDv7 для нового технического идентификатора новому полю технического идентификатора, впервые добавляемому в хранимую модель после подключения требования, если условие DATA-ID-003 не выполняется
DATA-ID-002 MUST Каноническое представление во внешнем контракте сериализации технического идентификатора по DATA-ID-001 или DATA-ID-003 в HTTP API, GraphQL, gRPC, событии, сообщении или экспортируемом файле
DATA-ID-003 MUST UUIDv4 при запрете раскрытия времени генерации новому полю технического идентификатора, для которого политика по DATA-CLS-001 запрещает получателю идентификатора узнавать момент его генерации
DATA-ID-004 MUST NOT Идентификатор не является средством доступа техническому идентификатору, который получатель предъявляет для выбора сущности во внешней операции
DATA-ID-005 MUST NOT UUID не задаёт бизнес-время и глобальный порядок запросу, отчёту или прикладной логике, использующим UUIDv7 для определения времени или порядка
DATA-ID-006 MUST Стабильность, уникальность и конфликт идентификатора жизненному циклу сущности с техническим идентификатором
DATA-ID-007 MUST Представление отсутствующего идентификатора отсутствующему значению технического идентификатора в хранимой модели или внешнем контракте
DATA-LED-001 MUST Явная модель записи и источник истины каждому provider возможности financial-ledger
DATA-LED-002 MUST Неизменяемость posting и исправление принятому ledger posting
DATA-LED-003 MUST Атомарность и идемпотентность операции команде, создающей один или несколько ledger postings
DATA-LED-004 MUST Точное денежное представление сумме, валюте и вычислению ledger
DATA-LED-005 MUST Balance projection и сверка сохранённому остатку или query model финансового ledger
DATA-LED-006 MUST Разделение ledger и audit финансовой операции и её ledger postings
DATA-LED-007 MUST Авторитетный event store финансовому ledger, выбравшему Event Sourcing
DATA-LED-008 MUST Детерминированный replay и эволюция событий event-sourced финансовому ledger
DATA-PIPE-001 MUST Версионируемый контракт dataset каждому входному и выходному dataset
DATA-PIPE-002 MUST Совместимость изменения схемы изменению входного или выходного контракта
DATA-PIPE-003 MUST Детерминированное преобразование преобразованию входной записи или snapshot
DATA-PIPE-004 MUST Идемпотентный restart и replay повторной обработке диапазона входных данных
DATA-PIPE-005 MUST Обработка невалидных данных записи, не соответствующей схеме или инварианту
DATA-PIPE-006 MUST Сверка полноты тестированию результата pipeline
DEP-CI-001 MUST Pipeline точного commit pipeline merge и release
DEP-CI-002 MUST Воспроизводимая конфигурация pipeline обязательному pipeline
DEP-CI-003 MUST Назначение проверок merge и release проекту, выпускающему артефакт
DEP-CI-005 SHOULD Диагностические результаты обязательной автоматизированной проверке
DEP-IMG-001 SHOULD Многоэтапный Dockerfile image, в котором компилируется приложение, устанавливаются зависимости или преобразуются runtime-файлы
DEP-IMG-002 MUST Происхождение runtime-файлов файлам, копируемым в runtime image
DEP-IMG-003 MUST Минимальное содержимое runtime image финальной стадии Dockerfile
DEP-IMG-004 MUST Зафиксированные базовые images каждой инструкции FROM
DEP-IMG-005 SHOULD Детерминированные системные packages установке системных packages в build- и runtime-стадиях
DEP-IMG-006 MUST Безопасная передача секретов сборки build credentials и закрытым зависимостям
DEP-IMG-007 MUST Безопасная runtime-стадия финальной стадии Dockerfile
DEP-IMG-011 MUST Метаданные финального image финальной стадии Dockerfile
DEP-IMG-012 SHOULD Минимальный базовый runtime image финальной стадии Dockerfile
DEP-IMG-013 SHOULD Предпочтительные registry и digest каждой инструкции FROM
DEP-ROL-001 MUST Поэтапная замена экземпляров развёртыванию новой версии сервиса
DEP-ROL-002 MUST Совместимость соседних версий периоду одновременной работы старой и новой версии
DEP-ROL-003 MUST Критерии продвижения переходу между этапами deployment
DEP-ROL-004 MUST Проверяемый rollback каждой production-поставке
DEP-ROL-005 MUST Завершение старых экземпляров удалению экземпляра во время deployment
DEP-ROL-006 MUST Ограниченный canary cohort production canary-развёртыванию
DEP-ROL-007 MUST Продвижение и остановка canary переходу canary между этапами
DEP-ROL-008 MUST Переключение blue/green production blue/green-развёртыванию
DEP-SUP-001 SHOULD Сканирование уязвимостей release pipeline и фактическому release-артефакту
DEP-SUP-002 MUST Актуальность базы уязвимостей каждому blocking scan
DEP-SUP-003 SHOULD SBOM release-артефакта каждому release-артефакту с зависимостями
DEP-SUP-004 SHOULD Неизменяемая идентификация артефакта публикации и развёртыванию release image
DEP-SUP-005 MUST Provenance сборки release image и доступным материалам сборки
DEV-ADR-001 MUST Содержание ADR-исключения каждому ADR, оформляющему исключение из требования
DEV-ADR-002 MUST Жизненный цикл ADR каждому ADR проекта
DEV-ADR-003 MUST Связь решения с изменением изменению, которое требует ADR
DEV-ADR-004 MUST Условия обязательного архитектурного решения изменению запускаемого или публикуемого компонента
DEV-ADR-005 MUST Альтернативы и компромиссы ADR, обязательному по DEV-ADR-004
DEV-ADR-006 MUST Сценарий критичной характеристики ADR, меняющему характеристику, которая ограничивает release по SLO, security contract, capacity limit или recovery contract
DEV-BUILD-001 MUST Сборка из идентифицированного состояния обязательной CI-сборке
DEV-BUILD-002 MUST Отсутствие изменения исходной рабочей копии обязательной CI-сборке
DEV-BUILD-003 MUST Идентификация артефакта поставляемому артефакту
DEV-BUILD-004 MUST Продвижение без пересборки артефакту, продвигаемому между тестовой и production-средой
DEV-BUILD-005 MUST Защита сборочных входов сборке с секретами или внешними входами
DEV-CLI-001 MUST Стабильный интерфейс команды имени команды, subcommands, options, аргументам и exit codes
DEV-CLI-002 MUST Разделение вывода и диагностики stdout, stderr и machine-readable output
DEV-CLI-003 MUST Неинтерактивность и отмена использованию CLI в CI и скриптах
DEV-CLI-004 MUST Защита credentials CLI, принимающему credential или секрет
DEV-DEP-001 MUST Источник, версия и целостность toolchain, runtime и каждой прямой или транзитивной зависимости
DEV-DEP-002 MUST Лицензии и поддержка toolchain, runtime и dependency graph, влияющим на сборку или production
DEV-DEP-003 MUST Необходимость зависимости добавлению или сохранению прямой зависимости
DEV-DEP-004 SHOULD Сканирование уязвимостей зависимостей dependency graph, влияющему на сборку или production
DEV-DOC-001 MUST Корневой README репозиторию запускаемого или публикуемого компонента
DEV-DOC-002 MUST Актуализация вместе с изменением изменению назначения проекта, ответственности или состава компонентов, публичного контракта, поддерживаемого запуска либо обязательной проверки
DEV-DOC-003 MUST Воспроизводимая машинно-производимая документация машинно-производимой справочной документации проекта
DEV-PROF-001 MUST Базовый профиль проекта каждому проекту с manifest стандартов
DEV-PROF-002 MUST Профиль вида компонента каждому элементу components
DEV-PROF-003 MUST Профиль возможности каждому элементу capabilities
DEV-REL-001 MUST Единый источник версии компонента каждому release или deployment компонента
DEV-REL-002 MUST Контракт service.version компоненту, публикующему telemetry с service.version
DEV-REL-003 SHOULD Схема публичного версионирования публичному SDK, CLI, package или другому продукту, для которого потребитель выбирает версию
DEV-REL-004 MUST Release notes для потребителя release, который изменяет используемый внешним потребителем контракт, поведение, требования к эксплуатации или security-свойство
DEV-REL-005 MUST Уведомление об устаревании планируемому удалению или несовместимому изменению публичного либо межкомандного контракта
DEV-REV-001 MUST Изменение через защищённую ветку основной и release-веткам проекта
DEV-REV-002 MUST Независимое одобрение существенного риска изменению security-границы, публичного контракта, миграции, целостности данных, восстановления или production-полномочий
DEV-REV-003 MUST Проверяемый предмет review merge request, изменяющему поведение или контракт
DEV-REV-004 MUST Автоматизированные lint и format исходному и сгенерированному тексту, для которого проект объявил правила lint или format
DEV-RUN-003 MUST Изоляция целевой среды процессам приложения в тестовой и production-среде
DEV-RUN-004 SHOULD Воспроизводимый локальный запуск репозиторию запускаемого приложения
DEV-RUN-008 MUST Разделение локальной и целевой конфигурации локальной, CI/CD- и deployment-конфигурации
DEV-RUN-009 MUST Безопасные входы локального запуска локальному запуску приложения
DEV-SDK-001 MUST Объявленная публичная поверхность каждому публикуемому SDK
DEV-SDK-002 MUST Совместимость публичного API изменению опубликованного SDK
DEV-SDK-003 MUST Соответствие протокольному контракту SDK, инкапсулирующему API или протокол
DEV-SDK-004 MUST Минимальный и воспроизводимый package release package SDK
DEV-VER-001 MUST Проверяемый результат изменения каждому изменению поведения, контракта, данных или сборки
DEV-VER-002 MUST Усиленная проверка существенного риска изменению security-границы, публичного контракта, миграции, целостности данных или восстановления
DEV-VER-003 MUST Назначение обязательных проверок CI-проверкам проекта
DEV-VER-004 MUST Нестабильная проверка проверке, дающей разные результаты для одинаковых входов
DEV-VER-005 SHOULD Достаточность без дублирования выбору нескольких способов проверки одного изменения
DEV-VER-006 MUST Детерминированная автоматизированная проверка автоматизированной проверке backend-, worker-, data-pipeline- или frontend-компонента, используемой как evidence для merge или release
DEV-VER-007 MUST Изоляция данных проверки автоматизированной проверке backend-, worker-, data-pipeline- или frontend-компонента вне production, которая читает или изменяет данные
DEV-VER-008 MUST Автоматическая проверка архитектурного инварианта архитектурному инварианту принятого ADR или применимого требования, который определяется из исходного кода, dependency graph, schema, конфигурации или release-артефакта
DEV-VER-009 MUST Ограниченная ручная проверка инварианта архитектурному инварианту, который технически невозможно проверить автоматически
DEV-VER-010 MUST Минимальный consumer contract consumer contract, используемому как evidence совместимости независимо поставляемых consumer и provider
DEV-VER-011 MUST Проверка кандидата provider release-кандидату provider с активными consumer contracts
DEV-VER-012 MUST Жизненный цикл consumer contract каждому consumer contract
DOC-CLR-001 MUST Явная область документа каждому нормативному документу
DOC-CLR-002 MUST Одна проверяемая норма на требование каждому нормативному требованию
DOC-CLR-003 MUST Единая терминология всем материалам репозитория
DOC-CLR-004 SHOULD Обоснованное использование визуализации материалам со сложными связями
DOC-CLR-005 MUST Нормативный текст имеет приоритет таблицам, схемам и другим справочным представлениям
DOC-CLR-006 MUST Отдельное хранение примеров примерам кода, конфигурации, payload и интеграции
DOC-CLR-007 MUST NOT Запрет прямого переиспользования примеров ИИ-агентам и разработчикам, использующим examples/
DOC-CLR-008 MUST Синхронное обновление представлений изменению требования, связанного со справочными материалами
DOC-CLR-009 MUST Минимально достаточный набор требований добавлению или пересмотру нормативного требования
DOC-CLR-010 MUST Уровень обязательности по последствиям выбору MUST, SHOULD или MAY
DOC-CLR-011 MUST Положительные признаки применимости области нормативного документа и отдельного требования
DOC-CLR-012 MUST Контракт вместо способа реализации проектированию нормативного требования
DOC-CLR-013 MUST Удаление требования без повторного использования ID требованию, которое больше не регулирует необходимый риск или решение
FE-API-001 MUST Объявленный контракт и версия backend API каждой интеграции с backend API
FE-API-002 MUST Толерантный потребитель API обработке ответа backend API
FE-API-003 MUST Конечные тайм-ауты вызовов каждому вызову backend API
FE-API-004 MUST Ограниченные повторы автоматическим retry вызова backend API
FE-API-005 MUST Сопоставление ошибок для пользователя неуспешному результату вызова backend API
FE-API-006 MUST Отмена запроса отмене вызова backend API
FE-API-007 MUST Корреляция и распространение контекста трассы запросу к backend API внутри отслеживаемой frontend-операции
FE-API-008 MUST Свежесть данных после изменения прав данным, доступ к которым ограничен правами пользователя
FE-AXS-001 MUST Соответствие WCAG 2.2 AA публичным и клиентским пользовательским сценариям
FE-AXS-002 MUST Семантическая разметка и управление с клавиатуры интерфейсу приложения
FE-AXS-003 MUST Автоматизированные проверки в CI компонентам и страницам приложения
FE-AXS-004 SHOULD Ручная проверка вспомогательными технологиями критичным пользовательским сценариям
FE-AXS-005 SHOULD Доступность внутренних интерфейсов внутренним и административным пользовательским сценариям, для которых WCAG 2.2 AA не установлен законом или контрактом
FE-BUILD-003 MUST Source maps для атрибуции ошибок production-сборке, предназначенной для расследования ошибок
FE-BUILD-004 MUST Целостность и хеширование статических ресурсов каждому статическому ресурсу production-артефакта
FE-BUILD-005 MUST Минимальное содержимое production bundle финальному production-артефакту
FE-COMP-001 MUST Объявленная матрица поддержки браузеров целевой среде выполнения приложения
FE-COMP-002 MUST Соответствие сборки объявленной матрице выходным файлам сборки
FE-COMP-003 MUST Feature detection и контролируемая деградация использованию API браузера, необязательного для основного сценария
FE-COMP-004 MUST Обратно совместимое изменение матрицы изменению действующей матрицы поддержки браузеров
FE-COMP-005 SHOULD Контроль соответствия матрицы реальным пользователям данным о браузерах реальных пользователей
FE-CONF-001 MUST Разделение build-time и runtime конфигурации конфигурации приложения
FE-CONF-002 MUST Отсутствие секретов в клиентском bundle browser bundle, HTML и передаваемым клиенту данным
FE-CONF-003 MUST Типизация и проверка конфигурации итоговой конфигурации приложения
FE-CONF-004 MUST Runtime конфигурация из доверенного источника runtime параметрам, загружаемым приложением
FE-CONF-005 MUST Отсутствие секретов и отладочного вывода в production диагностическому выводу в браузере
FE-ERR-001 SHOULD Канал сбора ошибок решению о централизованном сборе расследуемых ошибок
FE-ERR-002 MUST Автоматически собираемые ошибки верхней границе выполнения в браузере
FE-ERR-005 MUST Идентификация приложения, выпуска и ошибки каждому событию ошибки
FE-ERR-006 MUST Корреляция с трассой и сессией событию ошибки внутри активной трассы или сессии
FE-ERR-007 MUST Защита чувствительных данных событиям, breadcrumbs, user context и дополнительным данным
FE-ERR-009 MUST Отказоустойчивость SDK отправке событий ошибок
FE-EXT-001 MUST Реестр и изменение стороннего кода каждому стороннему browser-компоненту
FE-EXT-002 MUST Consent и локальные идентификаторы сторонней обработке, для которой политика требует consent
FE-EXT-003 MUST Ограниченное влияние и отключение загрузке и выполнению стороннего browser-компонента
FE-FORM-001 MUST Контракт поля формы каждому полю, значение которого передаётся в прикладную операцию
FE-FORM-002 MUST Единственный результат отправки отправке формы, создающей прикладной эффект
FE-FORM-003 MUST Черновик и несохранённое изменение форме с autosave, локальным черновиком или предупреждением о несохранённых данных
FE-INTL-001 MUST Внешнее хранение пользовательских строк пользовательскому интерфейсу приложения
FE-INTL-002 MUST Объявленные локали и отступление поддерживаемым языкам приложения
FE-INTL-003 MUST Формат сообщений и множественное число сообщениям с параметрами и числами
FE-INTL-004 MUST Направление текста и расположение приложениям с поддержкой локалей разного направления текста
FE-NAV-001 MUST URL как контракт навигации пользовательскому состоянию, включённому в browser history или предназначенному для прямого открытия
FE-NAV-002 MUST Результат перехода и изменение маршрута разрешению маршрута и изменению опубликованного URL
FE-NAV-003 SHOULD Фокус и позиция после перехода client-side переходу без полной загрузки документа
FE-OBS-001 SHOULD Канал RUM и Web Vitals решению о сборе RUM и Web Vitals
FE-OBS-002 SHOULD Канал распределённых трасс решению о сборе распределённых трасс из браузера
FE-OBS-003 MUST Идентификация ресурса и выпуска всем сигналам телеметрии приложения
FE-OBS-005 MAY Корреляция сессии данным о сессии
FE-OBS-006 MUST Ограниченная кардинальность и объём именам и атрибутам RUM и трасс
FE-OBS-007 MUST Согласие и приватность сбору телеметрии о пользователе
FE-OBS-008 MUST Отказоустойчивость SDK телеметрии RUM SDK и OTLP exporter
FE-OFF-001 MUST Жизненный цикл данных browser storage прикладным данным в localStorage, sessionStorage, IndexedDB, Cache Storage или эквивалентном browser-хранилище, переживающим владельца страницы либо доступным нескольким browser-контекстам
FE-OFF-002 MUST Объявленный offline-результат приложению, заявляющему пользовательскую работу без сети
FE-OFF-003 MUST Повторная синхронизация и конфликт изменению, сохранённому для последующей синхронизации
FE-OFF-004 MUST Release lifecycle service worker и PWA приложению с service worker или устанавливаемым PWA
FE-PERF-001 SHOULD Измерение Core Web Vitals production-приложению
FE-PERF-002 SHOULD Бюджет размера bundle production-сборке
FE-PERF-003 SHOULD Стратегия загрузки ресурсов ресурсам production-приложения
FE-PERF-004 SHOULD Регрессия производительности в CI CI pipeline проекта
FE-PROF-001 MUST Машинно-читаемый профиль рендеринга каждому frontend-приложению
FE-PROF-002 MUST Разделение клиентского и доверенного кода проекту с SSR, SSG или edge
FE-PROF-003 MUST Детерминированная гидратация HTML, который продолжает выполнение в браузере
FE-PROF-004 MUST Изоляция данных запросов SSR и edge состоянию, создаваемому при обработке запроса SSR или edge
FE-PROF-005 MUST Воспроизводимость SSG данным и страницам, создаваемым при SSG
FE-PROF-007 MUST Безопасная сериализация клиентского состояния данным, встраиваемым в HTML для hydration или client runtime
FE-SEC-002 MUST Content Security Policy каждой поставляемой странице приложения
FE-SEC-003 MUST Предотвращение XSS отображению данных в DOM
FE-SEC-004 MUST Хранение токенов и сессии хранению учётных данных в браузере
FE-SEC-005 MUST Авторизация выполняется на backend каждой защищённой операции
FE-SEC-006 MUST Целостность внешних скриптов скриптам и ресурсам, загружаемым из внешних источников
FE-SEC-007 MUST Безопасность cross-origin взаимодействия postMessage, встраиванию во фрейм и cross-origin запросам
FE-SEC-008 MUST Защита от open redirect перенаправлению по URL из пользовательского ввода
FE-SEO-001 MUST Явная политика индексирования внешне доступному маршруту frontend-приложения
FE-SEO-002 MUST Индексируемое представление и metadata индексируемой странице
FE-SEO-003 MUST Crawl inventory и изменение URL приложению хотя бы с одной индексируемой страницей
FE-SEO-004 SHOULD Проверяемая цель GEO индексируемому содержимому, для которого заявлена цель видимости в генеративной поисковой выдаче
FE-TST-006 MUST Область unit-теста unit-тестам
FE-TST-007 SHOULD Область component-теста component-тестам
FE-TST-008 MUST Contract-тест против backend API клиенту backend API
FE-TST-009 MUST Область и среда e2e-теста автоматизированным e2e-тестам
INF-ARC-001 MUST Разрешение архитектурной ссылки каждой ссылке вида architecture:<ID> или ограниченному диапазону
INF-ARC-002 MUST Границы между приложением и инфраструктурой проектированию deployment-конфигурации
INF-ARC-003 MUST Владение нормой и порядок изменения требованию или изменению на границе приложения и инфраструктуры
INF-ART-001 MUST Единственный release image release image для non-production или production
INF-ART-002 SHOULD Неизменяемая ссылка non-production и production deployment
INF-ART-003 MUST Метаданные происхождения release image
INF-ART-004 SHOULD Release gate сканирования уязвимостей release image
INF-ART-005 MUST Retention и rollback container registry с production images
INF-ART-006 MUST Доступность Registry production deployment
INF-ART-007 MUST Архитектура процессора цели с schedulable-узлами нескольких CPU architectures либо image, поддерживающему несколько platforms
INF-ART-008 SHOULD Проверка источника на границе deployment production-платформе, поддерживающей policy проверки image при deployment
INF-BCK-001 MUST Цели восстановления каждой production-цели с capability persistent-data
INF-BCK-002 MUST Копия вне отказного домена production backup
INF-BCK-003 MUST Velero для ресурсов Kubernetes production Kubernetes-цели с capability persistent-data
INF-BCK-004 MUST Longhorn для HA блочного хранилища persistent volume, которому требуется отказоустойчивое блочное хранение внутри Kubernetes-кластера
INF-BCK-005 MUST Longhorn backup не равен репликации production volume Longhorn
INF-BCK-006 MUST Регулярная проверка восстановления production backup
INF-BCK-007 MUST Согласованность данных backup изменяемого persistent state
INF-BCK-008 MUST Защита backup production backup
INF-BCK-009 MUST Наблюдаемость backup production backup job
INF-BCK-010 MUST Порядок полного восстановления production disaster recovery
INF-CMP-001 MUST Явный профиль Compose каждой Compose-цели
INF-CMP-002 MUST Воспроизводимый запуск Compose-проекту
INF-CMP-003 MUST Изоляция и публикация портов Compose service
INF-CMP-004 MUST Секреты и данные Compose service
INF-CMP-005 MUST GitLab Runner для удалённой цели deployment Compose через GitLab CI
INF-CMP-006 MUST Local-данные и credentials local Compose-цели
INF-CMP-007 MUST Production Docker host production Compose-цели
INF-CMP-008 MUST Restart и журналирование удалённой Compose-цели
INF-CMP-009 MUST Ресурсные границы удалённой Compose-цели
INF-CMP-010 MUST Упрощённый локальный стек local Compose-цели, заменяющей или исключающей production компоненты
INF-DAT-001 MUST Явно управляемый экземпляр PostgreSQL, Valkey, NATS JetStream или MinIO
INF-DAT-002 MUST Роль приложения доступу приложения к production PostgreSQL
INF-DAT-003 MUST Роль данных и исчерпание памяти production Valkey
INF-DAT-004 MUST Ресурсный контракт и quorum JetStream JetStream streams, Object Store и Key/Value Store
INF-DAT-005 MUST Контракт bucket production MinIO bucket
INF-DAT-006 MUST Изоляция потребителей общему платформенному сервису
INF-DAT-007 MUST Шифрование и server identity соединению с production PostgreSQL, Valkey, NATS JetStream или MinIO через сеть
INF-DAT-008 MUST Наблюдаемость data service production data service
INF-DAT-009 SHOULD Изоляция сообщений и replay JetStream consumer с конечной политикой повторов
INF-DAT-010 MUST Бюджет соединений PostgreSQL клиентским соединениям production PostgreSQL
INF-DAT-011 MUST Failover и fencing PostgreSQL production PostgreSQL профиля high-availability
INF-DAT-012 MUST Failover и потеря записей Valkey production Valkey профиля high-availability
INF-DAT-013 MUST Управляемая конфигурация consumer broker-side JetStream consumer
INF-DAT-014 MUST Отказные домены MinIO production MinIO профиля high-availability
INF-DAT-015 MUST Identity миграции PostgreSQL изменению schema production PostgreSQL
INF-DAT-016 MUST Изоляция service writer доступу двух или более независимо развёртываемых сервисов к общему физическому data service
INF-DAT-017 MUST Версионированная конфигурация доставки production MinIO bucket notification в области architecture:INT-HOOK-006
INF-DAT-018 MUST Ёмкость и влияние отказа очереди production MinIO bucket notifications в области architecture:INT-HOOK-006
INF-DAT-019 MUST Обнаружение задержки и потери production MinIO bucket notifications в области architecture:INT-HOOK-006
INF-DEC-001 MUST План удаления удалению production-цели или stateful-компонента
INF-DEC-002 MUST Порядок отзыва ресурсов выводу цели из эксплуатации
INF-DEC-003 MUST Сохранение истории завершённому production decommission
INF-DLV-001 MUST Управляемый pipeline каждой цели non-production и production
INF-DLV-002 MUST GitLab Agent прямому Kubernetes deployment из GitLab CI
INF-DLV-003 MUST GitOps reconciliation цели с профилем gitops
INF-DLV-004 MUST Защита production production deployment
INF-DLV-005 MUST Сериализация изменений deployment одной цели
INF-DLV-006 MUST Проверяемый diff изменению non-production или production
INF-DLV-007 MUST Продвижение между средами release, проходящему несколько целей
INF-DLV-008 MUST Согласованность нескольких репозиториев конфигурации вне репозитория приложения
INF-DLV-009 MUST Local-доставка цели с delivery local
INF-IAC-001 MUST Версионируемый источник цели с capability infrastructure-as-code
INF-IAC-002 MUST Plan перед apply изменению non-production или production
INF-IAC-003 MUST Состояние и блокировка stateful IaC-инструменту
INF-IAC-004 MUST Drift production-ресурсам, управляемым IaC
INF-K8S-001 MUST Декларативный workload каждому Kubernetes-развёртыванию
INF-K8S-002 MUST Health probes контейнеру приложения, имеющему архитектурные health checks
INF-K8S-003 MUST Ресурсы и безопасный runtime каждому контейнеру приложения
INF-K8S-004 MUST Service account каждому workload
INF-K8S-005 MUST Завершение процесса workload с долгими запросами или фоновой обработкой
INF-K8S-006 MUST Изменение ConfigMap и Secret workload, использующему ConfigMap или Secret
INF-K8S-007 MUST Миграция как отдельная операция release с миграцией данных
INF-K8S-008 MUST Ограниченный Job и CronJob Kubernetes Job и CronJob
INF-K8S-009 MUST Управляемое постоянное состояние workload, записывающему сохраняемые данные
INF-LHN-001 MUST Обоснованный выбор Longhorn capability longhorn
INF-LHN-002 MUST Storage-узлы и диски production Longhorn
INF-LHN-003 MUST Реплики и topology production Longhorn volume
INF-LHN-004 MUST StorageClass и жизненный цикл volume Longhorn StorageClass
INF-LHN-005 MUST Обслуживание и обновление production Longhorn
INF-LHN-006 MUST Наблюдаемость Longhorn production Longhorn
INF-MAN-001 MUST Manifest проекта каждому проекту, поставляемому по этому стандарту
INF-MAN-002 MUST Отдельное объявление каждой цели проекту с несколькими средами или runtime
INF-MAN-003 MUST Единая зафиксированная версия стандартов ссылкам на корпоративные стандарты
INF-MAN-004 MUST Источник deployment-конфигурации каждой цели
INF-MAN-005 MUST Обоснование ограниченного production-профиля production-цели с runtime compose
INF-MAN-006 MUST Семантика capability каждой цели
INF-NET-001 MUST Публикация через APISIX HTTP(S)-сервису, публикуемому через ingress за пределы Kubernetes-кластера
INF-NET-002 MUST TLS и cert-manager ingress в non-production и production
INF-NET-003 MUST Сетевой доступ по необходимости production namespace при поддержке NetworkPolicy платформой
INF-NET-004 MUST Внутренняя адресация межсервисному трафику внутри Kubernetes
INF-NET-005 MUST Управляемый DNS endpoint non-production и production
INF-NET-006 MUST Защита публичного маршрута capability public-ingress
INF-OBS-001 MUST Корпоративный маршрут сигналов production workload
INF-OBS-002 MUST Идентификация deployment телеметрии workload
INF-OBS-003 MUST Dashboard и alerts production-цели
INF-OBS-004 MUST Ограничение доступа и хранения инфраструктурной телеметрии
INF-OBS-005 MUST Наблюдаемость платформенных компонентов production Kubernetes-платформе
INF-OBS-006 MUST Доставка телеметрии не блокирует workload Vector и OpenTelemetry Collector на пути приложения
INF-OBS-007 MUST Сигналы non-production release non-production-цели, используемой как release gate
INF-OPS-001 MUST Runbook критичного отказа production-цели
INF-OPS-002 MUST Аварийный доступ production-платформе
INF-OPS-003 MUST Управление инцидентом production-инциденту
INF-OPS-004 MUST Проверка после изменения изменению production
INF-OPS-005 MUST Плановое обслуживание production platform, data service или Docker host
INF-OPS-006 MUST Периодический review доступа production GitLab, cluster, data service и backup storage
INF-OWN-001 MUST Владелец и маршрут связи каждой цели non-production и production
INF-OWN-002 MUST Операционный README каждой production-цели
INF-PKG-001 MUST Поддерживаемый формат Kubernetes-конфигурации приложения
INF-PKG-002 MUST Разделение общей конфигурации и среды нескольким целям одного приложения
INF-PKG-003 MUST Детерминированный render CI-проверке конфигурации
INF-PKG-004 MUST Проверка до применения merge request с Kubernetes-конфигурацией
INF-PKG-005 MUST Отсутствие секретных значений в render Helm/Kustomize render и diff
INF-PKG-006 MUST Удаление и переименование ресурсов изменению identity Kubernetes-ресурса
INF-PLT-001 MUST Идентификация и границы платформы каждой Kubernetes-платформе
INF-PLT-002 MUST Изоляция целей Kubernetes-развёртываниям
INF-PLT-003 MUST Синхронизация времени и DNS узлам production-платформы
INF-PLT-004 MUST Управляемые обновления платформы production-платформе
INF-PLT-005 MUST Инвентаризация и декларативность конфигурации платформы
INF-PLT-006 MUST Основание профиля high-availability платформе, размещающей production-цель high-availability
INF-PLT-007 MUST Восстановление платформы production Kubernetes-платформе
INF-PLT-008 MUST Квоты и резерв платформы общей production-платформе
INF-PLT-009 MUST Admission policy production production Kubernetes-платформе
INF-PLT-010 MUST Жизненный цикл self-managed узла Kubernetes-узлу, ОС и container runtime которого эксплуатирует владелец платформы
INF-PLT-011 MUST Граница административного доступа к узлу self-managed Kubernetes-узлу
INF-REL-001 MUST План поставки production release
INF-REL-002 MUST Rolling update Kubernetes Kubernetes Deployment в профиле high-availability
INF-REL-003 MUST Single-instance deployment production-цели single-instance
INF-REL-004 MUST Проверяемый rollback или roll-forward каждой production-поставке
INF-REL-005 MUST Фиксация результата завершившемуся production deployment
INF-REL-006 MUST Порядок конфигурации, секрета и приложения release, изменяющему более одного из image, ConfigMap, Secret, schema данных или route
INF-REL-007 MUST Compose release удалённой Docker Compose-цели
INF-REL-008 MUST Очистка старых revisions завершённому release
INF-REL-009 MUST Маршрутизация и evidence canary инфраструктурной реализации production canary по architecture:DEP-ROL-006 и architecture:DEP-ROL-007
INF-REL-010 MUST Жизненный цикл blue/green revisions инфраструктурной реализации production blue/green по architecture:DEP-ROL-008
INF-RES-001 MUST Проверяемая ёмкость production-цели
INF-RES-002 MUST High-availability workload stateless workload профиля high-availability
INF-RES-003 SHOULD Автоматическое масштабирование переменной нагрузке профиля high-availability
INF-RES-004 MUST Плановый disruption production Kubernetes-платформе
INF-RES-005 MUST Проверяемая модель отказа production-цели high-availability
INF-RES-006 MUST Single-instance как ограничение production-цели single-instance
INF-RES-007 MUST Защита от eviction и pressure production Kubernetes workload
INF-RES-008 MUST Ёмкость горизонтального масштабирования production Kubernetes workload с автоматическим горизонтальным масштабированием
INF-RES-009 MUST Масштабирование фоновой обработки автоматически масштабируемому consumer или worker, обрабатывающему сохраняемую очередь либо поток
INF-SEC-001 MUST Допустимые источники секретов runtime-секретам
INF-SEC-002 MUST Sealed Secrets SealedSecret
INF-SEC-003 MUST Vault секрету HashiCorp Vault
INF-SEC-004 MUST Kubernetes Secret напрямую создаваемому Kubernetes Secret
INF-SEC-005 MUST Ротация и отзыв production credential
INF-SEC-006 MUST Минимальные полномочия Registry runtime image
INF-SEC-007 MUST Базовый аудит изменений production
INF-SEC-008 MUST Шифрование Kubernetes Secrets в datastore production Kubernetes-платформе
INF-SEC-009 MUST GitLab CI/CD Variables secret в GitLab CI/CD Variable
INF-SEC-010 MUST Минимальная доставка секрета в Pod Pod с несколькими containers или несколькими secrets
INF-SEC-011 SHOULD Периодическая проверка базовых уязвимостей image, продолжающему работать в production
INF-SEC-012 MUST Изоляция production-данных local и non-production
INF-SEC-013 MUST Доступность источника секретов production Vault, Sealed Secrets controller или иному компоненту доставки secrets
INF-SEC-014 SHOULD Предпочтительный Registry production runtime image
INF-SEC-015 MUST Шифрование мест хранения production-данным класса, для которого политика по architecture:DATA-CLS-001 требует шифрования при хранении
INF-SEC-016 MUST Жизненный цикл ключа данных ключу шифрования, реализующему INF-SEC-015
INF-SEC-017 SHOULD Федеративная workload identity Kubernetes workload, обращающемуся к внешнему API, который поддерживает федеративную workload identity
INT-CACHE-001 MUST Явная политика кэширования динамическому HTTP-представлению, которое browser, reverse proxy или shared cache может сохранить
INT-CACHE-002 MUST Cache key и разграничение доступа представлению в shared cache
INT-CACHE-003 MUST Freshness, revalidation и invalidation изменяемому кэшируемому представлению
INT-EVT-001 MUST Версионируемая схема каждому публикуемому событию
INT-EVT-002 MUST Совместимость схемы изменению действующей версии события
INT-EVT-003 MUST Семантика доставки producer и consumer внешнего message broker
INT-EVT-004 MUST Корреляция и защита данных metadata и payload события
INT-EVT-005 MUST Атомарная публикация изменения событию, сообщающему об изменении транзакционных данных
INT-EVT-008 MUST Backpressure producer прикладной очереди между producer и broker client
INT-EVT-009 SHOULD Контракт dead-letter и replay сообщениям, исчерпавшим политику повторной обработки
INT-EVT-010 MUST Минимальные полномочия клиента конфигурации identity producer и consumer в проекте
INT-EVT-011 MUST Владение topology и subscription destination, stream, queue, subscription и consumer group внешнего message broker
INT-EVT-012 MUST Backlog, retention и восстановление асинхронному каналу, потеря или задержка которого влияет на обязательный бизнес-результат
INT-EVT-013 MUST Устаревшие события и версия состояния consumer, строящему изменяемое состояние из событий, которые могут доставляться повторно или не по порядку
INT-EVT-014 MUST Сверка критичной асинхронной проекции асинхронно построенной проекции, расхождение которой нарушает финансовый результат, права доступа, обязательный аудит или другой критичный контракт
INT-EVT-015 MUST Явное назначение события каждому публикуемому событию
INT-FILE-001 MUST Опубликованный контракт передачи каждому HTTP endpoint upload или download
INT-FILE-002 MUST Недоверенный upload приёму файла от browser, mobile-приложения или внешнего клиента
INT-FILE-003 MUST Идемпотентный и возобновляемый upload upload, допускающему retry, chunks или resume
INT-FILE-004 MUST Авторизованный и воспроизводимый download выдаче файла или временной ссылки на него
INT-GQL-001 MUST Версионируемая схема каждому GraphQL API
INT-GQL-002 MUST Совместимость схемы изменению опубликованной GraphQL-схемы
INT-GQL-003 MUST Ограничение операций входящей GraphQL query, mutation или subscription
INT-GQL-004 MUST Авторизация каждого resolver полю, раскрывающему защищённые данные или выполняющему mutation
INT-GQL-005 MUST Ошибки и частичный результат GraphQL response с errors
INT-GRPC-001 MUST Версионируемый Protocol Buffers контракт каждому gRPC service
INT-GRPC-002 MUST Wire-совместимость изменению опубликованного .proto
INT-GRPC-003 MUST Deadline и отмена каждому gRPC-вызову
INT-GRPC-004 MUST Статусы и детали ошибки неуспешному завершению RPC
INT-GRPC-005 MUST Ограничение сообщений и потоков unary и streaming RPC
INT-HOOK-001 MUST Версионируемый контракт события каждому типу webhook
INT-HOOK-002 MUST Проверка подлинности доставки webhook consumer
INT-HOOK-003 MUST Идемпотентный consumer повторной доставке webhook
INT-HOOK-004 MUST Ограниченный producer исходящей доставке webhook
INT-HOOK-005 MUST Минимизация и фильтрация payload созданию webhook payload
INT-HOOK-006 MUST Явная гарантия доставки webhook, потеря или задержка которого нарушает обязательный бизнес-результат
INT-HOOK-007 MUST Восстановление пропущенной доставки webhook из INT-HOOK-006, фактическая гарантия которого допускает потерю события до обязательного бизнес-результата
INT-HTTP-001 MUST Версионируемый контракт consumer каждому исходящему HTTP-вызову backend-, worker- или data-pipeline-компонента
INT-HTTP-002 MUST Ограниченный и проверенный ответ HTTP-ответу, получаемому backend-, worker- или data-pipeline-компонентом
INT-HTTP-003 MUST Неопределённый результат изменяющего вызова исходящему HTTP-вызову, который может создать необратимый или повторно наблюдаемый эффект у provider
INT-NATS-001 MUST Выбор режима доставки взаимодействию через NATS
INT-NATS-002 MUST Контракт stream и consumer JetStream stream или consumer, используемым проектом
INT-NATS-003 MUST Область применения JetStream KV данным проекта в JetStream Key/Value bucket
INT-NATS-004 MUST Область применения JetStream Object Store объекту проекта в JetStream Object Store
INT-NATS-005 MUST NKey и полномочия subject аутентификации NATS-клиента посредством NKey
INT-NATS-006 MUST Контракт request/reply взаимодействию через NATS request/reply
INT-NATS-007 MUST Подтверждённая публикация JetStream producer, публикующему сообщение в JetStream
INT-NATS-008 MUST Единственный responder NATS request/reply с несколькими взаимозаменяемыми экземплярами responder
INT-WF-001 MUST Идентичность и источник истины workflow каждому экземпляру distributed workflow
INT-WF-002 MUST Закрытая модель состояний и переходов модели distributed workflow
INT-WF-003 MUST Контракт шага каждому шагу distributed workflow с внешним эффектом или ожиданием
INT-WF-004 MUST Компенсация и необратимый эффект каждому подтверждённому эффекту, после которого workflow может завершиться безуспешно
INT-WF-005 MUST Конкурентное выполнение двум workflow, способным изменить один логический бизнес-объект или исчерпаемый ресурс
INT-WF-006 MUST Автоматическое восстановление и наблюдаемость нетерминальному distributed workflow
INT-WF-007 MUST Управляемое вмешательство ручному изменению выполнения distributed workflow
INT-WS-001 MUST Версионируемый прикладной протокол сообщениям WebSocket-соединения
INT-WS-002 MUST Аутентификация и смена прав защищённому WebSocket-соединению
INT-WS-003 MUST Ограничение сообщений и очередей приёму и отправке сообщений
INT-WS-004 MUST Жизненный цикл и восстановление клиента разрыву и повторному установлению соединения
INT-WS-005 MUST Корреляция запроса и ответа двунаправленной команде с асинхронным результатом
MOB-API-001 MUST Версионируемый контракт каждому backend API
MOB-API-002 MUST Timeout, отмена и retry каждому сетевому вызову
MOB-API-003 MUST Состояние сети и пользовательский результат неуспешному или отложенному вызову
MOB-API-004 MUST Корреляция и фоновые запросы запросу внутри активной операции
MOB-API-005 MUST Поддержка установленной версии ограничению backend-возможностей по версии установленного мобильного приложения
MOB-AXS-001 MUST Семантика вспомогательных технологий интерактивному и значимому визуальному элементу
MOB-AXS-002 MUST Масштабирование текста и визуальная различимость пользовательскому тексту, состоянию и критичному контролу
MOB-AXS-003 SHOULD Размер цели и альтернативный ввод touch target и жесту
MOB-AXS-004 MUST Блокирующая проверка критичных сценариев критичному пользовательскому сценарию и изменению общей навигации либо design system
MOB-BT-001 MUST Разрешение и ограниченное обнаружение поиску Bluetooth-устройств или установлению соединения
MOB-BT-002 MUST Проверяемая identity peer Bluetooth-соединению, передающему защищённые данные или выполняющему защищённую операцию
MOB-BT-003 MUST Контракт обмена и восстановление прикладным сообщениям или командам поверх Bluetooth
MOB-BUILD-001 MUST Зафиксированная среда сборки локальной среде и CI-сборке
MOB-BUILD-002 MUST Детерминированная сборка и идентификация каждому release artifact
MOB-BUILD-003 MUST Управление signing credentials сертификатам, provisioning profiles и signing keys
MOB-BUILD-004 MUST Каналы предварительной поставки предрелизной проверке
MOB-BUILD-005 MUST Production-каналы и продвижение публикации production
MOB-BUILD-006 MUST Управляемое поэтапное распространение production release
MOB-BUILD-007 SHOULD Контроль размера приложения release artifact и store download
MOB-CONF-001 MUST Публичность клиентской конфигурации значениям внутри приложения
MOB-CONF-002 MUST Типизация и выбор окружения итоговой конфигурации приложения
MOB-CONF-003 MUST Remote configuration и feature flags параметрам, получаемым после установки
MOB-DATA-001 MUST Классификация локальных данных каждому сохраняемому набору данных
MOB-DATA-002 MUST Шифрование и удаление чувствительным локальным данным
MOB-DATA-003 MUST Версионирование локальной схемы базе и сериализованному состоянию между версиями приложения
MOB-DATA-004 MUST Контракт offline-сценария приложению, заявившему offline-работу
MOB-DATA-005 MUST Конфликты и повторная синхронизация синхронизации локальных изменений
MOB-DATA-006 MUST Изоляция данных между аккаунтами приложению, допускающему вход или переключение между несколькими аккаунтами на одном устройстве
MOB-DATA-007 MUST Восстановление на новом устройстве данным приложения, включённым в platform backup или device-to-device migration
MOB-DEP-001 MUST Зависимости iOS разрешению сторонних пакетов iOS-приложения
MOB-DEP-002 MUST Зависимости Android разрешению сторонних пакетов Android-приложения
MOB-GEO-001 MUST Режим и разрешение геолокации запросу или продолжению получения местоположения устройства
MOB-GEO-002 MUST Качество и актуальность результата координатам, используемым для прикладного результата
MOB-GEO-003 MUST Доверие и жизненный цикл геоданных использованию, хранению или передаче device location
MOB-OBS-001 SHOULD Маршрут телеметрии решению о сборе трасс, метрик и mobile performance
MOB-OBS-002 SHOULD Маршрут ошибок решению о централизованном сборе mobile-ошибок
MOB-OBS-003 MUST Идентификация выпуска и сигнала каждому сигналу
MOB-OBS-004 MUST Корреляция и ограниченная кардинальность span, событию ошибки и метрике
MOB-OBS-005 SHOULD Mobile performance и стабильность production-приложению
MOB-OBS-006 MUST Защита данных телеметрии telemetry payload
MOB-OBS-007 SHOULD Rendering performance экрану с прокруткой, animation или частым обновлением UI
MOB-PLAT-001 MUST Push notifications приложению с push notifications
MOB-PLAT-002 MUST Universal links и App Links внешней навигации в приложение
MOB-PLAT-003 MUST Фоновое выполнение background task, upload, download или sync
MOB-PLAT-004 MUST Биометрическая аутентификация Face ID, Touch ID или Android BiometricPrompt
MOB-PLAT-005 MUST Восстановление UI state background, process death и configuration change
MOB-PLAT-007 MUST Локализация и форматирование пользовательскому тексту и layout приложения, поддерживающего две и более locale либо имеющего обязательный процесс перевода
MOB-PLAT-008 MUST Контракт системной навигации экрану, modal-состоянию или пользовательскому сценарию с переходом назад либо закрытием
MOB-SEC-001 MUST Системный OAuth flow интерактивной аутентификации
MOB-SEC-002 MUST Хранение токенов и ключей access token, refresh token и приватному ключевому материалу
MOB-SEC-003 MUST TLS и сетевое доверие каждому сетевому соединению
MOB-SEC-004 MUST Авторизация и недоверенность клиента каждой защищённой операции
MOB-SEC-005 MUST Защита отображаемых данных чувствительным данным на экране и в системных представлениях
MOB-SEC-006 MUST Privacy permissions camera, microphone, location, Bluetooth, nearby devices, contacts, photos и tracking
MOB-SEC-007 MUST Серверный отзыв активной сессии подтверждённому backend сигналу отзыва текущей сессии
MOB-SEC-008 MUST Назначение сбора данных сторонним SDK стороннему SDK, способному собирать или передавать данные с устройства
MOB-TECH-001 MUST UI framework нативных приложений исходному коду пользовательского интерфейса
MOB-TECH-002 MUST Языки и поддерживаемый синтаксис production-коду приложения
MOB-TECH-003 MUST Изменение минимальной версии ОС повышению минимальной поддерживаемой версии iOS или Android
MOB-TECH-004 MUST Раздельность платформенного кода общему бизнес-контракту iOS и Android
MOB-TECH-005 SHOULD Базовая минимальная версия ОС выбору минимальной поддерживаемой версии нового приложения
MOB-TST-001 SHOULD Уровни тестирования изменению поведения с риском регрессии
MOB-TST-002 MUST Матрица устройств проверке release candidate
MOB-TST-003 MUST Реальные платформенные сборки обязательным CI jobs
MOB-TST-004 MUST Сеть, lifecycle и ресурсы integration- и e2e-тестам поведения, зависящего от сети, lifecycle или исчерпаемого локального ресурса
MOB-TST-005 MUST Store upgrade и миграция каждому release candidate
OBS-AUD-001 MUST Явный перечень аудируемых событий каждому сервису, изменяющему защищаемые данные или доступ
OBS-AUD-002 MUST Отдельная классификация аудит-записей каждой аудит-записи
OBS-AUD-003 MUST Обязательные поля аудит-события каждой аудит-записи
OBS-AUD-004 MUST Содержание изменения операциям изменения состояния
OBS-AUD-005 MUST Защита данных всем аудит-записям
OBS-AUD-006 MUST Корректность результата аудируемым операциям
OBS-AUD-007 MUST Неизменяемость и доступ хранению и просмотру аудит-записей
OBS-AUD-008 MUST Время, порядок и дубликаты формированию и обработке аудит-записей
OBS-AUD-009 MUST Хранение и контроль полноты платформе аудит-логирования
OBS-ERR-001 SHOULD Канал сбора ошибок решению о централизованном сборе расследуемых ошибок
OBS-ERR-002 MUST Автоматически собираемые ошибки верхней границе процесса или операции
OBS-ERR-003 MUST Явно собираемые обработанные ошибки вызовам явной отправки события
OBS-ERR-004 MUST Корреляция с трассой событию ошибки внутри активной трассы
OBS-ERR-005 MUST Идентификация приложения и выпуска каждому событию ошибки
OBS-ERR-006 MUST Диагностический контекст каждому событию ошибки
OBS-ERR-007 MUST Защита чувствительных данных событиям, breadcrumbs, attachments, user context и stack context
OBS-ERR-008 SHOULD Группировка и отпечаток ошибки настройке grouping
OBS-ERR-009 MUST Отказоустойчивость SDK отправке событий ошибок
OBS-LOG-001 MUST Структурированный однострочный формат всем диагностическим логам приложения
OBS-LOG-002 MUST Единственный транспорт логов приложения диагностическим логам во всех средах выполнения приложения
OBS-LOG-003 MUST Обязательные поля записи каждой записи лога
OBS-LOG-004 MUST Корреляция с операцией и трассой логам внутри входящего запроса, сообщения, job или другой отслеживаемой операции
OBS-LOG-005 MUST Контекст события событиям, для расследования которых требуется предметный контекст
OBS-LOG-006 MUST Защита чувствительных данных всем диагностическим логам и всем средам
OBS-LOG-007 MUST Семантика уровней выбору уровня каждой записи
OBS-LOG-008 MUST Управление объёмом и отказами конфигурации логирования приложения
OBS-MET-001 SHOULD OpenTelemetry и маршрут доставки решению о сборе метрик приложения
OBS-MET-002 MUST Версия и идентификация ресурса каждому потоку метрик приложения
OBS-MET-003 MUST Метрики результата и нагрузки каждому типу входящей операции API, consumer и worker
OBS-MET-004 MUST Метрики зависимостей и насыщения обязательным внешним зависимостям и ограниченным ресурсам процесса
OBS-MET-005 MUST Единая классификация результата атрибутам результата и ошибки метрик
OBS-MET-006 MUST Ограниченная кардинальность именам метрик и их атрибутам
OBS-MET-007 MUST Защита данных именам, описаниям и атрибутам метрик
OBS-MET-008 MUST Описание пользовательских метрик метрике, не определённой OpenTelemetry Semantic Conventions
OBS-MET-009 MUST Данные для SLI production-операции, для которой определён SLI по OPS-SLO-001
OBS-MET-010 MUST Ограничение влияния экспорта OpenTelemetry SDK и OTLP exporter метрик
OBS-TRACE-001 SHOULD OpenTelemetry и маршрут доставки решению о сборе распределённых трасс приложения
OBS-TRACE-002 MUST Версия Semantic Conventions каждому проекту
OBS-TRACE-003 MUST Идентификация ресурса всем span приложения
OBS-TRACE-004 MUST Распространение контекста поддерживаемым синхронным и асинхронным межпроцессным вызовам
OBS-TRACE-005 MUST Обязательные границы span входящим операциям и значимым зависимостям
OBS-TRACE-006 MUST Имя и атрибуты span каждому span
OBS-TRACE-007 MUST Статус и регистрация ошибок неуспешным операциям
OBS-TRACE-008 MUST Sampling и сохранение ошибок настройке sampling трасс
OBS-TRACE-009 MUST Ограничение влияния телеметрии SDK и OTLP exporter
OPS-CAP-001 MUST Проверяемая нагрузочная модель возможности с SLO либо ресурсу, насыщение которого нарушает контрактный результат
OPS-CAP-002 MUST Нагрузочное доказательство перед release новой критичной возможности или изменению SLO, лимита, алгоритма конкурентности либо потребления основного ресурса
OPS-CAP-003 SHOULD Запас и пересмотр ёмкости ресурсу с прогнозируемым ростом или конечной квотой
OPS-INC-001 MUST Классификация и маршрут эскалации компоненту, отказ которого требует оперативного реагирования
OPS-INC-002 MUST Управляемое ведение инцидента подтверждённому production-инциденту
OPS-INC-003 MUST Экстренное изменение обходу обычного merge или release gate во время инцидента
OPS-INC-004 MUST Разбор и корректирующие действия инциденту с существенным пользовательским ущербом, потерей данных, нарушением security-границы или повторяющейся причиной
OPS-SLO-001 MUST Пользовательские SLI каждой критичной возможности production-сервиса, data pipeline или клиентского приложения
OPS-SLO-002 MUST Численные SLO каждому SLI production-сервиса, data pipeline или клиентского приложения
OPS-SLO-003 SHOULD Error budget SLO успешности или доступности
OPS-SLO-004 MUST Оповещения по SLO alert, требующему оперативного действия
OPS-SLO-005 MUST Полнота и неизменность данных вычислению SLI и SLO
SEC-AUTHN-001 MUST OpenID Connect для аутентификации пользователя входу пользователя в приложение
SEC-AUTHN-002 MUST Безопасный пользовательский flow интерактивной аутентификации пользователя
SEC-AUTHN-003 MUST NOT Запрещённые OAuth flows OAuth 2.0 и OpenID Connect клиентам
SEC-AUTHN-004 MUST Назначение token вызову защищённого API
SEC-AUTHN-005 MUST Проверка access token каждому защищённому API и backend-сервису
SEC-AUTHN-006 MUST Metadata и ротация ключей OpenID Connect клиентам и resource servers
SEC-AUTHN-007 MUST Аутентификация не заменяет авторизацию каждой защищённой операции
SEC-AUTHN-008 MUST Межсервисная аутентификация вызову без пользовательского контекста
SEC-AUTHN-009 MUST Защита token хранению и передаче token
SEC-AUTHN-010 MUST Жизненный цикл token и сессии token и пользовательским сессиям
SEC-AUTHN-011 MUST Ошибки и аудит аутентификации результатам аутентификации и авторизации
SEC-AUTHN-012 MUST Защита cookie-сессии от CSRF browser-based приложению с cookie-сессией
SEC-AUTHZ-001 SHOULD Централизованное решение через Casbin Server проектам с защищёнными операциями
SEC-AUTHZ-002 MUST Авторизация на backend-границе каждой защищённой backend-операции
SEC-AUTHZ-003 MUST Стандартный запрос авторизации запросу backend в Casbin
SEC-AUTHZ-004 MUST Доверенный источник subject и контекста формированию запроса авторизации
SEC-AUTHZ-005 MUST Запрет по умолчанию Casbin model, policy и обработке ответа
SEC-AUTHZ-006 MUST Версионирование модели и policy Casbin model и управляемым policy
SEC-AUTHZ-007 MUST Разделение проверки и управления Casbin Server и его клиентам
SEC-AUTHZ-008 MUST Поведение при недоступности Casbin Server удалённой проверке AuthZ
SEC-AUTHZ-009 MUST Кэширование решений клиентскому cache решений Casbin
SEC-AUTHZ-010 MUST Наблюдаемость решений каждому запросу авторизации
SEC-AUTHZ-011 MUST Тестирование policy Casbin model и каждому изменению policy
SEC-AUTHZ-012 MUST Интеграция через Casbin SDK backend, использующему Casbin Server
SEC-SCRT-001 MUST Отсутствие секретов в исходных материалах репозиторию, build context и создаваемым артефактам
SEC-SCRT-002 MUST Явные входы секретов команде разработки, теста или сборки, которой требуется секрет
SEC-SCRT-005 MUST Блокирующая проверка утечки merge request и release-сборке
SEC-SCRT-006 MUST Доверенный источник runtime-секрета production-компоненту, которому требуется секрет
SEC-SCRT-007 MUST Ротация без смены артефакта секрету с изменяемым значением
SEC-SCRT-008 MUST Недоступность и устаревание секрета получению или обновлению runtime-секрета
SEC-SCRT-009 MUST Аудит доступа и минимизация значения чтению и административному изменению production-секрета
SEC-THR-001 MUST Условия обязательной модели угроз созданию или существенному изменению внешней границы, аутентификации, авторизации, обработки защищаемых данных, загрузки пользовательского содержимого, привилегированного компонента или security-критичной зависимости
SEC-THR-002 MUST Проверяемое содержание модели каждой модели угроз
SEC-THR-003 MUST Согласование и актуальность изменению, для которого модель угроз обязательна
SEC-TLS-001 MUST Обязательный TLS передаче аутентификационных, персональных, секретных или бизнес-данных через недоверенную либо разделяемую сеть
SEC-TLS-002 MUST Проверка подлинности сервера каждому TLS-клиенту
SEC-TLS-003 MUST Набор криптографических параметров TLS endpoint и клиенту
SEC-TLS-004 MUST Область применения mTLS решению об аутентификации межсервисного соединения
SEC-TLS-005 MUST Жизненный цикл сертификатов и ключей TLS private key, сертификату и trust bundle
STD-MAN-001 MUST Расположение и схема manifest прикладному проекту, использующему этот репозиторий стандартов
STD-MAN-002 MUST Фиксация версии стандартов каждому manifest
STD-MAN-003 MUST Формальные признаки проекта каждому manifest
STD-MAN-004 MUST Вычисление применимых документов каждому manifest
STD-MAN-005 MUST Исключения из требований согласованному исключению из требования
UI-STATE-001 MUST Единственное владение изменяемым состоянием каждой изменяемой части состояния, влияющей на представление или доступное пользователю действие
UI-STATE-002 MUST Различимые состояния асинхронной операции асинхронной операции, результат которой влияет на представление или доступное пользователю действие
UI-STATE-003 MUST Жизненный цикл эффектов эффекту, инициируемому пользовательским интерфейсом
UI-STATE-004 MUST Конкурирующие результаты и optimistic update двум или более одновременно выполняемым операциям, способным изменить одну часть пользовательского состояния
UI-STATE-005 MUST Стабильная идентичность элементов изменяемой коллекции элементов, для которых UI runtime сохраняет локальное состояние, фокус, ввод или выполняемый эффект