> 译文仅供阅读便利。具有规范效力的是英文原文。 # 校验 **元宇宙规范** **文档编号:** MU-V2-ARCH-006 **标题:** 校验 - 语义验证的各个级别 **文档类别:** 规范性 **版本:** 2.0(草案) **状态:** 工作草案 **规范性引用:** MUC、[MMAS-Core](../02-architecture/MMAS-Core.md)、[MMAS-Conformance](../02-architecture/MMAS-Conformance.md)、[MMAS-Interchange](../02-architecture/MMAS-Interchange.md) **说明性引用:** [Certification](../06-ecosystem/Certification.md)、[Compatibility-Matrix](../06-ecosystem/Compatibility-Matrix.md)、[需求索引](../REQUIREMENTS-INDEX.md) **版权:** © Orkestron.AI **许可:** Apache-2.0 --- # 1. 目的 本文档定义元模型架构标准(MMAS)中的**校验**。 校验是这样一个过程:验证某个元模型良构、内部一致、符合宪章,并已准备好参与联邦。它是架构规范与可信语义模型之间的桥梁。 --- # 2. 适用范围 本文档适用于: - 单个元模型及其制品的校验; - 导入的外部标准的校验; - 校验在元模型生命周期中的角色; - 校验与[合规](../02-architecture/MMAS-Conformance.md)及[认证](../06-ecosystem/Certification.md)之间的关系。 它不强制规定任何特定的校验工具或实现。 --- # 3. 原则 - **校验是分层的。**不同的关切在不同层级上被验证。 - **校验是持续的。**模型在整个生命周期中被校验,而不是只校验一次。 - **校验是可解释的。**每一个结果都指明检查了什么,以及为何通过或失败。 - **校验与技术无关。**它验证的是语义,而不是存储或传输。 --- # 4. 校验的维度 校验回答四个逐层深入的问题: 1. 该模型是否**良构**?(语法与结构) 2. 该模型是否**内部一致**?(语义) 3. 该模型是否**遵守宪章**?(宪法合规) 4. 该模型能否**参与联邦**?(互操作性) 这些问题对应下面的各个校验级别。 --- # 5. 校验级别 元宇宙定义了一套分层的校验模型。每一级都假定其下各级已经通过。 | 级别 | 名称 | 验证内容 | |-------|------|----------| | **V0** | 语法 | 制品在语法上有效且可解析。 | | **V1** | 结构 | 模型符合 MMAS 组合层级(元模型 → bundle → 层 → 对象 → 属性 / 关系 / 事件 / 契约 / 投影 → 清单)。 | | **V2** | 语义 | 模型内部一致:身份唯一、引用可解析、关系类型正确、命名为正典形式。 | | **V3** | 宪法 | 模型保留了每一条适用的[宪章](../01-constitution/Meta-Universe-Constitution.md)条款(身份、溯源、可追溯性、投影分离、上下文)。 | | **V4** | 联邦 | 模型可以参与联邦:公开模式、声明语义契约、支持投影交换与版本协商。 | | **V5** | 运行时 *(可选)* | 模型的活跃实例仍与模型保持一致,且观察到的现实不与所声明的语义相抵触。 | 对任何符合 MMAS 的模型,V0-V3 都是**强制的**。任何参与[联邦](../03-federation/MUFP.md)的模型都必须达到 V4。V5 是可选的,适用于运行中的实现。 --- # 5a. 抽象测试程序 每个校验级别都由一组**抽象测试程序(ATP)**定义,即合规校验器必须执行的检查。每项检查都有稳定的标识符(`V<级别>-`)、失败时的严重级别,以及它所强制的规范性需求(按 ID,来自[需求索引](../REQUIREMENTS-INDEX.md))。ATP 使合规可复现:两个校验器对同一模型应用这些检查时,必须得出相同的结论。 ## V0 - 语法 | 检查 | 验证内容 | 失败时 | 强制 | |-------|----------|---------|----------| | `V0-01` | 文档可作为良构的 JSON(或可无损转换为 JSON 的 YAML)以 UTF-8 解析。 | Error | `MUIF-R02`、`MUIF-R03` | | `V0-02` | `muif.version` 存在且等于 `"1.0"`。 | Error | `MUIF-R01` | ## V1 - 结构 | 检查 | 验证内容 | 失败时 | 强制 | |-------|----------|---------|----------| | `V1-01` | 文档通过 `manifest.schema.json` 及所引用原语模式的校验。 | Error | `MUIF-R01` | | `V1-02` | 每个原语都声明了自己的 `muifType` 与全部必填字段。 | Error | `MUIF-R01` | | `V1-03` | 组合层级存在(一个 `metaModel` 加至少一个 bundle 或对象)。 | Warning | `MMAS-CORE` 组合 | ## V2 - 语义 | 检查 | 验证内容 | 失败时 | 强制 | |-------|----------|---------|----------| | `V2-01` | 文档内所有 `id` 值都唯一。 | Error | `MUC-R03` | | `V2-02` | 每一处内部引用(`relationship.source`/`target`、`event.subject`、`projection.subject`/`contract`)都解析到已声明的 `id` 或显式声明的联邦身份。 | Error | `MUC-R15` | | `V2-03` | 每个 CSN 都符合正典模式,且所用的每个命名空间都已声明。 | Error | `NAME`(CSN) | | `V2-04` | 每个 `relationship.kind` 都是已声明或已知的关系档案类别。 | Warning | `REL`(档案) | | `V2-05` | 自我声明的 `metaModel.fingerprint`(若存在)与按 [MMAS-Interchange](../02-architecture/MMAS-Interchange.md) 计算的指纹一致。 | Error | `MUIF-R12`、`MUIF-R18` | ## V3 - 宪法 | 检查 | 验证内容 | 失败时 | 强制 | |-------|----------|---------|----------| | `V3-01` | 每个对象都具备唯一且持久的身份。 | Error | `MUC-R03`、`MUC-R04` | | `V3-02` | 每一项有意义的事实都声明所有者与溯源。 | Error | `MUC-R12`、`MUC-R13`、`MUC-R14` | | `V3-03` | 没有任何投影重新定义其主体的身份。 | Error | `MUC-R11` | | `V3-04` | 每一份对外公开的投影都受契约治理并声明目的。 | Error | `MUC-R21`、`MUC-R22`、`MUC-R25` | | `V3-05` | 每一项语义事实都存在于显式上下文之内。 | Warning | `MUC-R08`、`MUC-R10` | | `V3-06` | 出处、所有权、演进与依赖均可确定。 | Warning | `MUC-R15`、`MUC-R16` | ## V4 - 联邦 | 检查 | 验证内容 | 失败时 | 强制 | |-------|----------|---------|----------| | `V4-01` | 公共模式可被发现,而不暴露底层数据。 | Error | `MUC-R17`、`MUC-R18`、`MUC-R19`、`MUC-R20` | | `V4-02` | 对外交换的每一份投影都声明了语义契约。 | Error | `MUC-R21` | | `V4-03` | 已发布用于协商的版本与语义指纹。 | Error | `MUIF-R12` | | `V4-04` | 每一项导入的外部标准都存在语义映射。 | Warning | `EXT`(语义包) | ## V5 - 运行时 *(可选)* | 检查 | 验证内容 | 失败时 | 强制 | |-------|----------|---------|----------| | `V5-01` | 活跃实例符合所声明的模型。 | Info | - | | `V5-02` | 所声明的模型与观察到的现实之间没有语义漂移。 | Info | - | 校验器可以增加检查,但对于它声称能验证的每一级,至少必须实现该级中 Error 严重级别的检查。 --- # 6. 严重级别分类 校验结果必须按严重级别对每一项发现加以分类: - **Error** - 使该级别的合规无法成立的违规。 - **Warning** - 不阻碍合规但应当处理的问题。 - **Info** - 观察或建议。 只有当某一级别上不再留有未解决的 **Error** 时,模型才算通过该级别。 --- # 7. 校验报告 一次校验运行必须产出一份**校验报告**,其中包括: - 模型的身份与版本(连同其[语义指纹](../02-architecture/Versioning.md)); - 所达到的最高校验级别; - 每一项发现,附带严重级别、位置与解释; - 校验器的身份与校验时间戳。 对于每一个尝试过的级别,报告必须按检查 ID 记录每一项 ATP 检查(第 5a 节)的状态。机器可读的结构由 [`schemas/validation-report.schema.json`](../schemas/validation-report.schema.json) 定义;一个完整示例是 [`examples/minimal-person/validation-report.json`](../examples/minimal-person/validation-report.json),它报告 minimal-person 模型通过了 V0-V4,并记录了其经过验证的语义指纹。 该报告本身就是一份可追溯的制品,[合规声明](../02-architecture/MMAS-Conformance.md)或[证书](../06-ecosystem/Certification.md)可以引用它。 --- # 8. 导入标准的校验 当元模型把某个外部标准作为[语义包](../02-architecture/Extension-Model.md)导入时,被导入的包必须接受校验: - 其所声明的命名空间与所选对象可以解析; - 本地扩展没有以被禁止的方式修改导入模型; - 语义映射良构; - 导入的版本落在所声明的兼容范围之内。 --- # 9. 持续校验 校验必须贯穿元模型的整个生命周期: - 创建时,发布之前; - 每次变更时,作为[变更流程](../01-constitution/Change-Process.md)的一部分; - 导入外部标准或另一个模型时; - 在建立或修改[联邦](../03-federation/Federation-Lifecycle.md)之前。 任何降低模型已达校验级别的变更,都必须按变更流程视为重大变更。 --- # 9a. 结果漂移检测 V0-V4 各级验证模型是否*正确*。它们并不验证模型是否仍在*达成其目的*。一个模型可以完全有效、所有检查全绿,而它所描述的现实却正在偏离当初建它时的意图。 **结果漂移**是所声明的目的或假设(保存在模型中,例如某个对象所声明的意图或一项业务假设)与观察到的结果(通过虚拟投影读取的[热描述性事实](../04-core-concepts/Virtual-Projection.md))之间的背离。它由一次后台审计检出,也就是一个持续比对两者的「幽灵」审计者: > *代码有效,测试全绿,但这次变更本要改进的那个指标却在下滑。*→ 发出结果漂移信号:技术上合规,目的却未达成;该模型的假设应当被重新审视。 结果漂移检测属于可选的 **V5(运行时)**校验。它不得阻碍结构合规(发生漂移的模型仍然有效),但检出的漂移应当被记录为[事件](../04-core-concepts/Event.md)并呈报所有者。它把[溯源图](../02-architecture/Provenance-Graph.md)(*这服务于何种意图?*)与实时结果(*那个意图正在被达成吗?*)连接起来。 --- # 10. 与合规和认证的关系 校验、合规与认证彼此有别: - **校验**依照此处定义的各级别核验模型。 - **[合规](../02-architecture/MMAS-Conformance.md)**声明该模型所主张的标准与成熟度级别(尤其是 MMAS 的 **A4 已校验**级别要求通过 V0-V3,涉及联邦时还需 V4)。 - **[认证](../06-ecosystem/Certification.md)**是对这些主张的独立确认。 --- # 11. 架构不变量 - 校验必须是分层的(V0 到 V5)。 - 较高级别必须假定较低级别已经通过。 - 模型不得声称自己达到了并未达到的校验级别。 - 每一个校验结果都必须可解释、可追溯。 --- # 未来方向 此处定义的校验模型核验的是单个元模型。还预期有几种更广义的验证形式,它们会构成一套专门的**语义校验框架(SVF)**: - **跨模型校验** - 若干元模型之间的一致性(例如员工 MM ↔ 部门 MM ↔ 项目 MM); - **跨宇宙校验** - 独立宇宙之间某个联邦的一致性; - **运行时漂移检测** - 所声明模型与世界真实状态之间的背离; - **人工智能推理校验** - 验证人工智能代理的结论不与该模型的约束和语义相抵触。 这些都超出了 MMAS 基础校验的范围,此处记录为候选的未来标准(见 [Roadmap](../06-ecosystem/Roadmap.md))。 --- # 结语 > 校验是元模型赢得信任的方式:不是靠宣称,而是靠一级又一级地通过那些检查,证明它良构、一致、合法,并已准备好联邦。