跳到主要内容

发布、版本与回滚

三层版本模型

含义可变性
Candidate Revision正在编辑的草稿,AI 建议先进入这里可变,带 ETag 防并发覆盖
Release发布后的语义模型快照不可变
线上版本当前对外提供查询的 Release可切换到任意已发布版

线上问题始终运行在已发布版本上,而不是随时变化的草稿上。

发布时冻结了什么

发布不是简单存一份快照,编译器会计算并冻结:

  • 事实根:每个查询作用域的聚合起点
  • 作用域成员:该作用域内可用的指标与维度
  • 安全 Join 路径:从事实根出发到每个成员的唯一确定路径
  • 语义索引:业务说法到语义对象的向量索引,绑定到该 Release
为什么要冻结

如果 Join 路径在提问时临时推断,同一个问题在不同时刻可能走不同路径、得到不同数字。冻结之后,一个 Release 内的口径是确定的。

发布前检查清单

  • 关系基数已人工确认
  • 指标公式、默认聚合、可加性、时间轴已逐项审核
  • 结构校验通过
  • 真实数据质量报告无高危项(主标识不唯一、基数不符、异常扇出)
  • 结构化 Playground 试问通过
  • 自然语言 Playground 用真实业务说法试问通过

回滚

发布历史按序号展示,可以切换到任意一个已发布版本

回滚是整体切换,不是逐项撤销——因为作用域、路径和语义索引都绑定在 Release 上,只回滚其中一部分会破坏一致性。

已知边界

  • 同一实体存在两条等长最短 Join 路径时,该实体不会自动进入作用域(无法确定性选择)。
  • 既无主标识也无业务度量的事件/桥接表不会成为事实根。
  • 从已发布版本派生草稿时,会丢掉语义上下文的评审记录(已知问题)。

下一步