#4535 A2 项。基线 3 条:`MetadataFormat`/`MetadataFormatSchema`/`CacheStrategy`,`./shared` 与 `./system` 各自声明,且分歧在**枚举值**上 —— 比形状分歧更易出静默 bug(值不匹配不会编译错)。 - `MetadataFormat`:shared 4 成员(`yaml|json|typescript|javascript`)vs system 7 成员(另有 `yml|ts|js` 别名) - `CacheStrategy`:`shared/enums.zod.ts` vs `system/cache.zod.ts`,两份声明(具体分歧待查) ## 前置核查(决定处置方向) 1. `yml`/`ts`/`js` 三个别名**是否有真实生产者**:grep 三仓(本仓 + cloud + objectui)构造/传入这些值的位置;loader 是否会把 `.yml` 文件的扩展名直接写进 format 字段(`packages/metadata/src/loaders/*`)。零生产者 ⇒ A1 同款收窄;有生产者 ⇒ 在生产侧归一化后再收窄,或维护者裁决保留并在基线加注。 2. 判定真源侧(import 语句级扫描),另一侧收敛为 re-export(`MetadataManagerConfig` 模式)。注意 #4411 时 `kernel/metadata-loader.zod` 的 `MetadataManagerConfig.formats` 已改引 shared 版 —— 收敛方向若选 system,需回看该引用。 ## 验收 对应 3 条基线行被 `check:dual-source-exports` 的 stale 分支点名删除;spec gate 全绿;changeset 按实际断面(收窄=major)。 关联:#4535(主单)、#4506(基线)、#4411
#4535 A2 项。基线 3 条:
MetadataFormat/MetadataFormatSchema/CacheStrategy,./shared与./system各自声明,且分歧在枚举值上 —— 比形状分歧更易出静默 bug(值不匹配不会编译错)。MetadataFormat:shared 4 成员(yaml|json|typescript|javascript)vs system 7 成员(另有yml|ts|js别名)CacheStrategy:shared/enums.zod.tsvssystem/cache.zod.ts,两份声明(具体分歧待查)前置核查(决定处置方向)
yml/ts/js三个别名是否有真实生产者:grep 三仓(本仓 + cloud + objectui)构造/传入这些值的位置;loader 是否会把.yml文件的扩展名直接写进 format 字段(packages/metadata/src/loaders/*)。零生产者 ⇒ A1 同款收窄;有生产者 ⇒ 在生产侧归一化后再收窄,或维护者裁决保留并在基线加注。MetadataManagerConfig模式)。注意 spec 同名双源:两个MetadataWatchEvent形状不同、分挂两个子路径入口,其中 kernel 版零消费方(ADR-0049 enforce-or-remove) #4411 时kernel/metadata-loader.zod的MetadataManagerConfig.formats已改引 shared 版 —— 收敛方向若选 system,需回看该引用。验收
对应 3 条基线行被
check:dual-source-exports的 stale 分支点名删除;spec gate 全绿;changeset 按实际断面(收窄=major)。关联:#4535(主单)、#4506(基线)、#4411