自 #6245 实施终报拆出(spec 车道 PM 代 dev 立卡,记录用,不认领;查重:connector MetadataProtectionFields envelope 全仓仅命中 #6245 本体)。
事实(#6245 dev 实测)
#6245 给 sharing_rule 补了 ...MetadataProtectionFields,因为 BaseSharingRuleSchema 是 .strict(),不补则新绑的写门会把 422 打在运行时自己的保护戳上(两条 metadata load 路径都对每类跑 applyProtection)。connector 当时刻意未动:ConnectorSchema 是非 strict 的 z.object,容忍信封、不会 422 —— 但容忍 ≠ 保留:parse 输出会丢掉未声明键,package-load 的 connector 每次经 schema round-trip,_packageId / _lock* / _provenance 一族就静默消失。仓内其它类型把「信封丢失」当作等一次 spread 的缺陷处理(#6245 终报原话)。
为什么当时不顺手修
保持 size S + 不预设 #2657 的 B/C 裁决;且无 422 风险、无行为回退,属独立小卡。
修法方向(接手者验证)
ConnectorSchema 补 ...MetadataProtectionFields(与 sharing_rule 同法,纯加性下划线键);连带核对 webhook 是否同款(#6245 只证实了 sharing_rule 的 strict 路径与 connector 的容忍路径,webhook 的信封保留性未单独测量)。authorable-surface 基线随 gen:schema 重生成。
Refs:#6245(实施与终报)、#5271/#5312(信封处理先例)、ADR-0010。
自 #6245 实施终报拆出(spec 车道 PM 代 dev 立卡,记录用,不认领;查重:
connector MetadataProtectionFields envelope全仓仅命中 #6245 本体)。事实(#6245 dev 实测)
#6245 给
sharing_rule补了...MetadataProtectionFields,因为BaseSharingRuleSchema是.strict(),不补则新绑的写门会把 422 打在运行时自己的保护戳上(两条 metadata load 路径都对每类跑applyProtection)。connector 当时刻意未动:ConnectorSchema是非 strict 的z.object,容忍信封、不会 422 —— 但容忍 ≠ 保留:parse 输出会丢掉未声明键,package-load 的 connector 每次经 schema round-trip,_packageId/_lock*/_provenance一族就静默消失。仓内其它类型把「信封丢失」当作等一次 spread 的缺陷处理(#6245 终报原话)。为什么当时不顺手修
保持 size S + 不预设 #2657 的 B/C 裁决;且无 422 风险、无行为回退,属独立小卡。
修法方向(接手者验证)
ConnectorSchema补...MetadataProtectionFields(与 sharing_rule 同法,纯加性下划线键);连带核对webhook是否同款(#6245 只证实了 sharing_rule 的 strict 路径与 connector 的容忍路径,webhook 的信封保留性未单独测量)。authorable-surface 基线随 gen:schema 重生成。Refs:#6245(实施与终报)、#5271/#5312(信封处理先例)、ADR-0010。