Skip to content

spec: ActionSchemavisible / disabled 统一为 boolean | string(CEL) | {dialect,source}(#4075 step 3 前置,维护者 2026-08-06 已裁决) #5970

Description

@qq9340100

Part of #4075(跨座位转移:objectui 车道 → spec 车道;触 packages/spec,按「shared contract surfaces have one owner」归 spec 座位)。域标签留分诊座位补(应为 spec 车道)。

裁决记录(已裁,不是待议)

维护者 2026-08-06 裁决(经 PM 会话 session_01MN3ao9kJEtD7PNAKwFVp96,分析与三轴理由见 #4075 的验收评论 5156971051 与裁决评论):ActionSchema.visibleActionSchema.disabled 统一收敛为同一形状 boolean | string(CEL) | {dialect, source}

现状(两键各缺对方一臂,不对称即方言温床)

spec 现状 objectui ActionDef 现状
visible string(CEL) | {dialect,source}(无 boolean 臂) 多出 boolean 臂(存量 metadata 在写 visible: true,有测试钉住)
disabled boolean | {dialect,source}(无 string 臂) string | boolean(缺信封臂,console DeclaredActionsBar.tsx 因此留着 (action as any).disabled 强转)

本单范围(仅 spec 半边)

  1. 两键 schema 统一为 boolean | string | {dialect, source}:boolean = 条件的退化形字面量,string = CEL 简写,信封 = 完整形;.describe() 按此更新。
  2. 测试:两键 × 三臂 parse 通过;坏形状(如对象缺 source)仍响亮拒绝——放宽不得缩小既有拒绝面。
  3. 生成物随 gen:schema 全量重生成(JSON Schema / authorable-surface / 文档产物);⚠️ 本单碰 packages/spec 生成物,合并同步须走「先 commit merge、再整体重生成」四步序(os-regen 驱动会静默吞改动)。
  4. changeset(minor:authoring 面放宽)。

不在本单:objectui 消费侧收敛(ActionDef 类型从 spec 派生、删索引签名、删 as any)——那是 #4075 step 3,已挂 Blocked-by: 本单,本单合并后由 objectui 座位派发。

验收

  • 两键形状一致且三臂各有正向用例
  • 既有非法形状用例全部保持拒绝(verbatim)
  • 生成物整体重生成、check:authorable-surface 绿
  • changeset 就位

Refs #4075(objectui#3032 step 1、objectui#3190 step 2 已合入)。

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions