蓝图手册 | Artifact Schema × Work Schema 与两者的映射规则

前面四页讲"为什么要两棵树",这一页只回答一件事:落到数据结构上,到底要存哪些字段、哪条边存在哪一头、什么东西永远不许手填。当前最大的难题就在这里——如何让两棵树相互映射,又不重复制造两份项目数据。

文档版本v0.3
WHAT 粒度A0 – A7(8 级)
HOW 粒度H0 – H5(6 级)
主视图默认5 层
制图日期2026-08-12

01两份 Schema

黄底行 = 承重字段:拿掉它,双树就退化成两个互不相干的列表。interface 决定这个 Artifact 能不能被别人调用(没有接口契约 = 不可复用);produces / produced_by 是两棵树之间唯一的那条边;start / end 只允许出现在 Work 上。

🧩 Artifact Schema · WHAT 树永久存在
字段类型示例说明
🛠️ Work Schema · HOW 树完工即关闭
字段类型示例说明

02统一数据模型(ER 图)

Artifact ↔ WorkPackage ↔ Evidence ↔ Version 四者的关系。注意 Evidence 同时挂在两侧:Work 的凭据证明"这一步真做过",Artifact 的凭据证明"这个东西真能用"——两种凭据不能互相冒充。

03映射规则(不重复造第二份数据)

04双 ID 命名与生命周期

一个节点同时拥有两个 ID:一个说"我是什么",一个说"制造我的是哪项工作"。以后资产管理接进来会非常自然——因为项目完成之后,Work Item 可以关闭,而 Artifact 永久存在(例如 FireAbility v1.4 继续被下一个游戏项目复用)。

artifact_id · 工程对象

ART-<域>-<子域>-<名>
ART-INT-WPN-FIRE → Interaction / Weapon / FireAbility

与项目无关,跨项目唯一。改 invariant(核心不变量)= 制造新产品,不是打新变体版本。

🟢 生命周期:随 Release 打版本 v1.4 → 进资产库 → 被 used_by 引用 → 永久存在

work_id · 制造工作

WP-<域>-<对象>-<步骤>
WP-WPN-FIRE-TEST → 枪械 / FireAbility / 测试

与项目绑定,项目结束即失效。依赖连线、排期、负责人、五闸全部挂在这一侧。

🔴 生命周期:排期 → 执行 → 验收 → 完工关闭(边保留作出生证明)

05两条状态机

🛠️ Work 状态(8 个固定词,不许自创)

未开始等待依赖进行中 待检查已通过
旁路:需返工/已阻塞/已取消

禁止"基本完成 / 大致完成 / 接近完成"这类无法验收的表达。执行者声称完成只能进「待检查」,只有审核人 ≠ 执行人才能推到「已通过」。

🧩 Artifact 成熟度(算出来的,不是自封)

概念原型可用 稳定规模化自我进化

升级判据来自硬事实而非评价:有没有接口契约、有没有独立验证凭据、被几个项目 used_by 过。被别人真用过是最难伪造的一档——所以它排在最后。

06当前状态与短板

当前阶段: | 版本:

⚠️ 当前最大短板:

07下一步互动指令

08整份架构一张脑图

白底深字版本,方便打印或投屏;工具条上的绿树按钮可一次展开全部层级,「⛶ 全屏」放大。