Skip to content

[#4535·A2] MetadataFormat + CacheStrategy:./shared ≠ ./system 的枚举分歧收敛 #4537

Description

@os-zhuang

#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 模式)。注意 spec 同名双源:两个 MetadataWatchEvent 形状不同、分挂两个子路径入口,其中 kernel 版零消费方(ADR-0049 enforce-or-remove) #4411kernel/metadata-loader.zodMetadataManagerConfig.formats 已改引 shared 版 —— 收敛方向若选 system,需回看该引用。

验收

对应 3 条基线行被 check:dual-source-exports 的 stale 分支点名删除;spec gate 全绿;changeset 按实际断面(收窄=major)。

关联:#4535(主单)、#4506(基线)、#4411

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions