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 持有。

Blocked-by: #8499

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

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 lanepm:blockedpriority:p3

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions