> 译文仅供阅读便利。具有规范效力的是英文原文。 # 模拟沙箱 **元宇宙规范** **文档编号:** MU-V2-ARCH-015 **标题:** 模拟沙箱投影 **文档类别:** 规范性 **版本:** 2.0(草案) **状态:** 工作草案 **规范性引用:** MUC、[Projection](../04-core-concepts/Projection.md)、[Event](../04-core-concepts/Event.md)、[Change-Process](../01-constitution/Change-Process.md)、[Policy-Consistency](../02-architecture/Policy-Consistency.md) **说明性引用:** [Provenance-Graph](../02-architecture/Provenance-Graph.md)、[Validation](../02-architecture/Validation.md) **版权:** © Orkestron.AI **许可:** Apache-2.0 --- # 1. 目的 一处语法有效、局部正确的变更,在全局上仍可能有害:它可能破坏下游契约、在另一个上下文中违反某项策略,或使某个业务结果发生偏移。本文档定义一个**模拟沙箱** - 一个隔离层,让被提议的变更**在成真之前先被试一遍**,以便在请人批准之前就评估它在整个模型范围内的影响。 这是语义层面上的试运行:一次*假如会怎样*,而不是一次提交。 --- # 2. 定义 **模拟沙箱**是一组隔离的[投影视图](../04-core-concepts/Projection.md) - 模型中受影响部分的数字影子 - 被提议的变更在其中被应用,而**不触碰正典状态**。 沙箱必须: - 派生自某个已知的模型版本(及其[语义指纹](../02-architecture/MMAS-Interchange.md)); - 完全**隔离**:沙箱中的任何东西都不影响正典模型、活跃系统或其他联邦; - **可丢弃**:沙箱可以被扔掉而不留残余; - **可追溯**:模拟及其发现被记录为[事件](../04-core-concepts/Event.md),以便决策可以引用它们。 --- # 3. 模拟做些什么 在沙箱之内,代理可以: 1. 应用被提议的变更(对代码、结构或某条规范性规则)。 2. 针对模拟状态运行[策略一致性检查](../02-architecture/Policy-Consistency.md)与[校验](../02-architecture/Validation.md)。 3. 施加**合成负载与事务**以及**假如会怎样**的情景。 4. 借助[溯源图](../02-architecture/Provenance-Graph.md)评估在整个模型范围内的副作用(「如果这个变了,什么会坏?」)。 只有在模拟成功之后,该变更才通过[变更流程](../01-constitution/Change-Process.md)**提交给人**。沙箱产出的是证据;它并不授予应用的权限。 --- # 4. 隔离保证 - 沙箱不得改动任何正典的对象、关系、事件、契约或投影。 - 沙箱不得向真实伙伴发出联邦消息;它所模拟的任何联邦都必须使用模拟出的对手方。 - 模拟事件必须标注为模拟,且不得进入正典的[语义时间线](../04-core-concepts/Event.md)。 --- # 5. 输出 一次模拟产出一份**模拟报告**,其中引用:基线模型的版本与指纹、被提议的变更、校验与策略一致性的结果、所运行的合成情景,以及所预测的影响集合。该报告作为证据附于变更请求之上。 --- # 6. 架构不变量 - 模拟不得改变正典状态或真实系统。 - 沙箱必须派生自一个已标识、带指纹的模型版本。 - 模拟结果必须可追溯,并被清楚标注为模拟。 - 成功的模拟不得自动应用;它只是为人的决策提供依据。 --- # 未来方向 - 一份标准的**模拟报告**模式,用以充实语义测试套件。 - **反事实联邦**:借助伙伴已发布的公共模式(及其指纹)来模拟与之联邦,而无需与其接触。 - 与[结果漂移](../02-architecture/Validation.md)相耦合,使模拟不仅能预测结构性影响,也能预测业务结果上的影响。 --- # 结语 > 发现一处变更是个错误,最便宜的地方是一个丢弃起来毫无代价的影子。先模拟,再提议,最后才应用。