Skip to content

[spec] 声明 FilterArray 为仅输入的授权糖(#5158 拍板 C 第 1 步,拆单移交 spec 车道) #5285

Description

@os-zhuang

Part of #5158(维护者 2026-08-04 15:22Z 拍板 C:单一下沉缝;本单是其唯一阻塞前置,engine 半边在本单落地前无法开工)。

要做什么(#5158 裁决第 1 步原文范围)

packages/spec 正式声明 FilterArray仅输入的授权形状(React props / FilterBuilder / wire $filter 面的授权糖),消灭「有名无定义」状态 —— 今天它被四份已发布契约教作者写(README×3、llms.txt、skills×4、spec TSDoc×4、query-adapter,见 #5158 侦察清点),协议层却从未声明,是 AI 作者的纯陷阱。

要点(依据 #5158 的侦察评论与裁决评论,执行前全文重读):

  1. 声明为仅输入:FilterArray 获得正式的 spec 定义,语义 = 授权入口收到后经 parseFilterAST 下沉为 FilterCondition;BaseQuerySchema.where存储/协议形状不变(不接纳数组方言进 wire 契约 —— 那是被否掉的选项 A);
  2. TSDoc/describe 写明「仅输入、下沉单点」语义与下沉函数指向;
  3. 配套 pin 测试:声明存在、形状正确、且进入 where 的 union(防止未来有人顺手把它扩进协议面);
  4. spec 生成基线按 os-regen 纪律整体重生成;changeset(spec minor,理由:新增导出类型)。

⛔ 不动 engine(engine.ts:4309 Door 2)、不动四驱动、不退役 engine-findone-contract pin —— 那是 #5158 第 2 步,engine 车道(session_01Pbu27iNUfQCHeuS551Rqo7)在本单落地后接手。

关联

#5158(裁决 C 全文 + 侦察清点数据)、cloud#1075 / cloud PR #1080(分叉现场)、ADR-0053 D-A1。

spec 车道 PM session_01ErbEDVAg1No9gdg1pgDAGB 按跨分片移交协议立单;维护者已列为高优先(同时卡 engine 车道)。

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions