# Validation and evolution *Building a meta-model · lesson 6 of 6 · ~15 min* ## What you will learn How a model proves it is right (validation levels V0-V5), how it proves it is itself (fingerprints, packages), and how it changes without breaking its consumers. ## Six levels of "valid" Validation is layered; each level asks a different question: | Level | Question | |-------|----------| | V0 Syntax | Do the files parse? | | V1 Structural | Is the shape right: manifests present, references resolve, **coverage check passes (zero orphans)**? | | V2 Semantic | Does the content make sense: kinds consistent, mirrors carry provenance and freshness, mastership flows match masters? | | V3 Constitutional | Does the model obey the MUC (sovereignty, identity, event rules)? | | V4 Federation | Can it federate: mappings sound, contracts well-formed, discovery document valid? | | V5 Runtime (optional) | Does live behavior match declarations: cadences actually run, staleness limits hold? | The practical rhythm: V0-V1 on every change (cheap, automatable, the walker is half of V1), V2-V3 on release, V4 before federating, V5 continuously if you operate pipelines. Levels come with abstract test procedures, and the repository ships a reference test kit that stays green. ## Identity: the Semantic Fingerprint A model's identity is not its bytes: the **Semantic Fingerprint** is a reproducible hash over the normalized semantic structure, identical across serializations. Fingerprints power deduplication in registries, self-verification of packages, and drift detection between master and copies. If two parties compute different fingerprints for "the same" model, they do not have the same model, and now they know. ## Shipping: the Semantic Distribution Package A model travels as an **SDP**: a signed, self-contained artifact carrying the bundles, the manifest, the imported packages and mappings, the fingerprint, and a conformance declaration. A consumer verifies before trusting: recompute the fingerprint, check the signature, read the declared conformance level. Think npm artifact, but for meaning, and self-verifying. ## Evolution without betrayal Models outlive their first version. The rules that keep consumers safe: - **Versioning is semantic**: breaking semantic changes bump major; the fingerprint changes tell you the truth regardless of what the version string claims. - **Migrations are first-class**: the Semantic Migration standard describes changes as transformations with provenance, not as diffs to eyeball. - **History is append-only**: superseded records are marked, never deleted; the timeline (lesson 4 of Foundations) keeps every past state reconstructible. - **Structural change is versioned too**: if the repository layout evolves, the manifest documents the mapping so old walkers do not silently misread new shapes. ## The conformance ladder Conformance is declared, not vibed: MMAS defines levels, and the **Core Profile** defines the minimum viable claim (for young models that cannot yet do everything). Production models in this ecosystem started at basic block-validity and climb toward full traceability-graph and agent-grade governance. Declaring a modest true level beats claiming a flattering false one: consumers can check. ## You are now a builder You know the shape (anatomy), the content (records), the guarantees (walk), the authority (mastership), the leverage (reuse) and the lifecycle (this lesson). The honest next step is to build: take the template, model something small you actually own, run the walker until it is green, and register the truth in `sources.yaml`. The [agent course](../03-agents/01-reading.md) shows how your future collaborators, human and artificial, will consume what you built. ## Go deeper - [Validation V0-V5](/spec/#02-architecture/Validation.md) · [MMAS conformance](/spec/#02-architecture/MMAS-Conformance.md) · [Core profile](/spec/#02-architecture/Core-Profile.md) - [Versioning and fingerprints](/spec/#02-architecture/Versioning.md) · [Semantic migration](/spec/#02-architecture/Semantic-Migration.md) - [MMAS-Package §13: the SDP](/spec/#02-architecture/MMAS-Package.md)