# Валидация и развитие *Построение мета-модели · урок 6 из 6 · ~15 мин* ## Что вы узнаете Как модель доказывает, что она верна (уровни валидации V0-V5), как она доказывает, что она - это она (отпечатки, пакеты), и как она меняется, не ломая своих потребителей. ## Шесть уровней "валидности" Валидация слоиста; каждый уровень задаёт свой вопрос: | Уровень | Вопрос | |-------|----------| | V0 Синтаксис | Файлы вообще разбираются? | | V1 Структура | Форма верна: манифесты на месте, ссылки разрешаются, **проверка покрытия проходит (ноль сирот)**? | | V2 Смысл | Содержимое осмысленно: виды согласованы, зеркала несут происхождение и свежесть, потоки владения совпадают с мастерами? | | V3 Конституция | Модель подчиняется MUC (суверенитет, идентичность, правила событий)? | | V4 Федерация | Она может федерироваться: отображения корректны, контракты правильно оформлены, документ обнаружения валиден? | | V5 Исполнение (опционально) | Живое поведение совпадает с объявленным: периодичность действительно соблюдается, пределы устаревания держатся? | Практический ритм: V0-V1 на каждое изменение (дёшево, автоматизируемо, обходчик - это половина V1), V2-V3 на релиз, V4 перед федерацией, V5 непрерывно, если вы эксплуатируете конвейеры. К уровням прилагаются абстрактные тестовые процедуры, а репозиторий поставляет эталонный набор тестов, который держится зелёным. ## Идентичность: Смысловой отпечаток Идентичность модели - это не её байты: **Смысловой отпечаток** - воспроизводимый хеш по нормализованной смысловой структуре, одинаковый при разных сериализациях. Отпечатки питают устранение дублей в реестрах, самопроверку пакетов и обнаружение расхождений между мастером и копиями. Если две стороны вычисляют разные отпечатки для "одной и той же" модели, значит, модель у них разная, и теперь они об этом знают. ## Поставка: Смысловой дистрибутивный пакет Модель путешествует как **SDP**: подписанный самодостаточный артефакт, несущий бандлы, манифест, импортированные пакеты и отображения, отпечаток и объявление соответствия. Потребитель проверяет прежде, чем довериться: пересчитывает отпечаток, проверяет подпись, читает объявленный уровень соответствия. Представьте артефакт npm, но для смысла и с самопроверкой. ## Развитие без предательства Модели переживают свою первую версию. Правила, которые держат потребителей в безопасности: - **Версионирование смысловое**: ломающие смысловые изменения поднимают мажорную версию; изменение отпечатка говорит правду независимо от того, что заявляет строка версии. - **Миграции полноправны**: стандарт смысловой миграции описывает изменения как преобразования с происхождением, а не как диффы, которые надо разглядывать глазами. - **История только дописывается**: заменённые записи помечаются, но не удаляются; лента (урок 4 курса Оснований) сохраняет любое прошлое состояние восстановимым. - **Структурные изменения тоже версионируются**: если раскладка репозитория развивается, манифест документирует сопоставление, чтобы старые обходчики молча не прочитали новые формы неверно. ## Лестница соответствия Соответствие объявляется, а не ощущается: MMAS определяет уровни, а **Базовый профиль** задаёт минимально осмысленное заявление (для молодых моделей, которые ещё не умеют всего). Рабочие модели этой экосистемы начинали с базовой блочной валидности и поднимаются к полному графу прослеживаемости и управлению уровня агентов. Объявить скромный настоящий уровень лучше, чем заявить лестный ложный: потребители могут проверить. ## Теперь вы строитель Вы знаете форму (анатомия), содержимое (записи), гарантии (обход), полномочия (владение), рычаг (переиспользование) и жизненный цикл (этот урок). Честный следующий шаг - строить: возьмите шаблон, смоделируйте что-нибудь небольшое, чем вы действительно владеете, гоняйте обходчик, пока он не позеленеет, и зарегистрируйте правду в `sources.yaml`. [Курс об агентах](../03-agents/01-reading.md) показывает, как ваши будущие соавторы, человеческие и искусственные, будут потреблять построенное вами. ## Копнуть глубже - [Валидация V0-V5](/spec/#02-architecture/Validation.md) · [Соответствие MMAS](/spec/#02-architecture/MMAS-Conformance.md) · [Базовый профиль](/spec/#02-architecture/Core-Profile.md) - [Версионирование и отпечатки](/spec/#02-architecture/Versioning.md) · [Смысловая миграция](/spec/#02-architecture/Semantic-Migration.md) - [MMAS-Package §13: SDP](/spec/#02-architecture/MMAS-Package.md)