Skip to content

retire(types): EventHandlersSchema — 公开导出的 z.record(z.string(), z.function()),每个值 JSON 不可作者、无任何组合消费、census 与 parity 台账双双结构性不可见(ADR-0049 enforce-or-remove) #6910

Description

@zhuangjianguo

由维护者 2026-08-30 决裁批 #8#6124 的裁定(verbatim「批次 #8 同意」)同笔立卡。

对象

packages/types/src/zod/base.zod.ts —— ⚠️ 行号已被执行席证伪并重推为 :723(卡片原文 :349、分诊 5527705422:394 均已过时,2026-09-09 实测):

export const EventHandlersSchema = z.record(z.string(), z.function()).describe('Event handlers');

测量(#6124 执行席 2026-08-30 于 fab4802e3,逐条已核)

  • 公开导出:barrel 再导出 —— ⚠️ 实测在 index.zod.ts:83(非原文 :60);
  • 零组合消费:仓内引用仅其自身定义、该再导出、一条 ledger 行——没有任何 schema 把它作为字段;
  • JSON 不可满足:每个值都要求函数,没有任何 JSON 文档能过它;
  • 双仪器盲区:z.function() census 数的是 key: z.function( 形,看不见 record 值;zod-mirror-parity.test.ts 按设计豁免 index signature("no keys to compare")。⇒ 「sweep 已完成」的断言对这个形状的缺陷恒假,且无门禁报告。

任务

按 ADR-0049 enforce-or-remove 处置这个死导出——预期方向是删除(无消费者、无可作者面),知识以 NOTE 保留在原位(为何不存在一个 JSON 可作者的 event-handlers 记录形,指向 #6124 的裁定:JSON 面的事件拼法是 node-level action / 事件名 string,函数面走 TS props)。

  • 条款②按内容判:公开导出移除 ⇒ 预期 yes,PR 走复审链,changeset 按 BREAKING-as-minor 惯例 + ADR-0087 处置标记由门禁自身判词决定(⛔ 不从同类卡抄);
  • 参照同型先例:objectstack#12009 / PR #13413(AUTH_SSO_PROVIDER_SCHEMA,同为零消费公开导出删除 + NOTE 保知识);
  • 认领前先跑消费者核验(含 positive control),发现活消费 ⇒ 停手报告。

⭐ 执行进度(PM 记于 2026-09-09T06:0xZ,详见评论 5596505228)

前提已过:消费者核验 before/after 双向带 positive control 跑完,objectui 与 objectstack 均零组合消费,cloud / hotcrm 两腿沿用 objectstack#15886 的已发布读数并已声明为沿用。⇒ 纯删除路线确认,BREAKING / ADR-0087 转换分支不进入。

WIP commit 0b99a5f42 已推上认领分支:导出已删、barrel 行已删、NOTE 已就位。⛔ 标记 INCOMPLETE,按构造是红的;下一次派发对它做 diff,⛔ 不无审续建、⛔ 不重建。

剩余四件:① 删 zod-mirror-parity.test.tsEXCLUSIONSbase.zod.ts#EventHandlersSchema(约 :2952,读数显示无任何 pinned 表头数字统计 EXCLUSIONS,故为自足的两行删除);② changeset;③ ⚠️ 第四个文件:packages/types/src/__tests__/handler-keys-json-refusal-6124.test.ts:328 的散文在删除后变为假命题(纯散文,无机械读者);④ 重挂 needs:contract-review 并走天花板复核。

阻塞

⚠️ Blocked-by: objectstack#15886 已失效 —— 那张卡 2026-09-06T02:33:01Z 关闭 completed,它提供的 cloud / hotcrm 读数正是解开本卡的东西。当前阻塞是文件占用:删除导出必然让 packages/types/src/__tests__/zod-mirror-parity.test.ts 的陈旧项普查变红(实测:基线 32/32 绿 → 移除后恰好一条 ['base.zod.ts#EventHandlersSchema']),而该文件由 PR #8763 持有。

Refs: #6124(裁定与测量)· #6152(函数键台账词表裁定)· #5250(passthrough 接受未声明键——独立卡,不耦合)。


Generated by Claude Code

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    domain:specobjectui spec stream: fix lands on packages/types, schema corpus or spec pin coupling — spec lanepriority:p3

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions