Skip to content

[DECIDE][P1] graphDigest 命名撞车:授权 binding 与账本指两个不同的量 #758

Description

@jinjunnn

大白话

同一个名字 graphDigest 在两个地方指两个不同的东西,而且都在 REQ-128 的同一条链上。
下一个接手的人几乎一定会搞混。

两个 graphDigest

出处 覆盖什么 何时算
alpha-code#749(授权 binding,shared/package-admission.ts 信封声明的有效安装图(root + 未 skip 的 leaf + required 标志) 安装前,preview/重验绑定用
alpha-code#706(账本,ext-package-ledger-v3.ts 已安装的图,含逐节点 manifestDigest 安装后,落账用

两者值不同、时机不同、用途不同,但同名。

为什么值得单独裁决而不是顺手改

  • 账本这个名字是已批方案基线 §2.9 点名的#706 因此没有自行改名(判断正确)。
  • 授权 binding 那个是 rev3 修订按基线要求补的,也有出处。
  • 所以这是两个都有出处的命名撞车,属于合同层的命名裁决,不是实现方能自己定的。

影响面

alpha-code#697(mixed Bundle 激活)与 #698(Bundle 生命周期)会同时消费这两个量 ——
一个用于授权绑定、一个用于 claim mutation。同名会让"这两个 digest 应该相等吗"这种问题
在 review 里反复出现,而正确答案是「不,它们本来就不该相等」。

需要裁决的

给其中一个改名(建议改账本侧为 installedGraphDigest 或改授权侧为 plannedGraphDigest),
并同步基线 §2.9 的措辞。#697 开工前定下来,否则那张票会带着混淆写代码。

出处

alpha-code#706(PR #757)实现方主动报告,未顺手改。

Metadata

Metadata

Assignees

No one assigned

    Labels

    prio:P1High-value near-term delivery

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions