> 译文仅供阅读便利。具有规范效力的是英文原文。 # 版本管理 **元宇宙规范** **文档编号:** MU-V2-ARCH-002 **标题:** 元模型架构标准 - 版本管理策略 **文档类别:** 规范性 **版本:** 2.0(草案) **状态:** 工作草案 **规范性引用:** 元宇宙宪章(MUC)、MMAS-Core **说明性引用:** Naming-Conventions、MMAS-Package **版权:** © Orkestron.AI **许可:** Apache-2.0 --- # 1. 目的 本文档为元宇宙的所有规范、元模型及相关语义制品定义版本管理策略。 目标是在保持语义稳定性、互操作性与可追溯性的前提下实现持续演进。 --- # 2. 适用范围 本规范适用于: - 元宇宙各标准 - 元模型 - bundle - 层 - 模式 - 对象 - 投影 - 契约 - 联邦档案 每一个版本都必须被显式声明。 --- # 3. 版本管理原则 版本管理必须: - 是显式的; - 在发布之后不可变; - 保留可追溯性; - 支持多个版本共存; - 区分语义变更与编辑性变更。 任何已发布版本都不得被悄然修改。 --- # 4. 独立版本管理 每个架构元素都必须拥有自己的生命周期与版本。 例子包括: - 元宇宙规范 - MUC - MMAS - MUFP - 元模型 - bundle - 层 - 模式 - 投影档案 - 契约 更新其中一个元素不得要求改动无关的版本。 --- # 5. 语义化版本 规范应当遵循语义化版本。 MAJOR :破坏性的语义变更。 MINOR :兼容的新能力。 PATCH :编辑性修正、澄清与非语义改进。 只要语义含义得以保留,实现可以采用兼容的内部方案。 --- # 6. 版本身份 每个版本化制品都必须声明: - 标识符; - 版本; - 发布日期; - 状态; - 所有者; - 兼容性声明。 --- # 7. 语义指纹 版本号声明的是*意图*;**语义指纹**声明的是*含义的身份*。每一个已发布的元模型版本都必须携带一枚语义指纹,它在该模型的**规范化语义结构**之上计算得出,即 [MMAS-Core](MMAS-Core.md) 所定义的对象、属性、关系、事件、契约与投影,而**不是**在 Markdown、文件顺序、空白或其他呈现形式之上。 该指纹应当是语义结构某种正典、确定性序列化形态的密码学摘要(例如 `sha256`)。两个含义相同的制品即使格式不同,也必须产生相同的指纹;任何含义上的变化都必须产生不同的指纹。 版本化制品应当把指纹与版本身份并列声明: ```text Version 2.1.0 Semantic Fingerprint sha256: 8D4A...F27C ``` 语义指纹有若干用途: - **语义等价检测** - 确认两个制品含义相同,而不论格式或编辑差异; - **隐性不兼容检测** - 揭示版本号未能反映的含义变化(例如某个 PATCH 版本的指纹发生了改变); - **联邦前的兼容性检查** - 在联邦之前比较指纹,判断是否需要协商或映射; - **依赖与迁移图** - 在构建跨联邦的版本依赖图与迁移图时,把指纹用作稳定节点。 指纹必须可复现:任何合规实现在给定同一语义结构时都必须算出同一数值。确切的正典序列化、语义字段与非语义字段的划分以及散列过程,由 [MMAS-Interchange (MUIF)](MMAS-Interchange.md) 规范性地定义,并附有经过验证的完整示例与参考实现。 语义指纹与[正典语义名称](Naming-Conventions.md)配对,使一个概念既可凭稳定的名称识别,也可凭稳定的含义识别;它也是[语义分发包](MMAS-Package.md)所携带的元数据字段之一。 --- # 8. 兼容性 每一个已发布版本都必须说明它与先前版本的兼容性。 兼容性应当划分为: - 完全兼容 - 向后兼容 - 向前兼容 - 需要迁移 - 破坏性 --- # 9. 共存 多个版本可以同时共存。 每当联邦涉及不同版本时,实现应当支持显式的版本协商。 --- # 10. 废弃 制品应当在被移除之前先标记为废弃。 废弃通知必须写明: - 被废弃的制品; - 替代方案; - 标记废弃的版本; - 计划移除的版本。 --- # 11. 迁移 破坏性变更必须附带迁移指引。 迁移文档应当描述: - 受影响的概念; - 语义差异; - 所需的转换; - 兼容性策略; - 示例。 --- # 12. 导入的标准 导入的语义标准必须保留其原有的版本标识符。 本地扩展必须在导入版本与本地扩展之间维护显式映射。 --- # 13. 历史保存 历史版本必须保持可识别、可复现。 只要可能,先前版本就应当保持公开可得。 历史版本不得被改写。 --- # 14. 版本协商 联邦中的宇宙应当在能力发现阶段声明所支持的版本。 若检测到不兼容的版本,实现应当: - 协商出一个兼容版本; - 应用语义映射; - 请求迁移; - 或拒绝联邦。 --- # 15. 架构不变量 版本变更绝不得使以下各项失效: - 全局身份; - 所有权; - 溯源; - 可追溯性; - 宪法合规。 这些不变量由 MUC 治理。 --- # 16. 未来方向 语义指纹带来一种以指纹驱动的演进视角,未来的工作可以把它标准化为**语义迁移标准(SMS)**。这样的标准会把指纹当作全联邦版本依赖图与迁移图的正典节点,定义迁移变换如何附着到指纹对上,并规定协商中的宇宙如何自动选择迁移路径。指纹的计算本身或许也值得一份小型配套档案,把规范化与序列化过程固定下来,使每个实现都产出逐字节一致的摘要。 --- # 结语 元宇宙中的版本管理,是为了保住语义的连续性。 演进受到鼓励,但每一次变更都必须保持显式、可追溯、在可行时保持兼容,并且既能被人理解,也能被人工智能系统理解。