Skip to content

spec:动作谓词的 ${…} 模板拼法要不要在发布期规范化/拒绝(objectui#3871 裁决的 B 案半边) #7071

Description

@yinlianghui

Part of objectstack-ai/objectui#3871
Blocked-by: objectstack-ai/objectui#3939

背景

objectui#3871:toPredicateInput 对已是 ${…} 模板的字符串二次包裹,动作面谓词按调用方错误策略坍缩为恒隐藏(六个 throwOnError 站点)或恒真(fail-soft 站点)。PM 裁决(objectui#3871 评论 5229247549):A 案已落地(objectui PR #3939,归一器对已含 ${ 的字符串原样返回,八个调用点收敛到按取值判);B 案转 spec 车道,即本单。

本单要裁/做的(spec 车道)

@objectstack/specPredicateInput/ExpressionInputSchema 词汇表只列裸表达式串与 dialect envelope;${…} 模板拼法在仓内文档(AGENTS.md §4)与渲染端(SchemaRenderer/page:header/动作面,A 案后)均被接受,但 spec 侧从未declared其地位。三个方向:

  1. 发布期归一化:publish 时把 ${…} 拼法规范化为 envelope(消费端零方言);
  2. 发布期响亮拒绝:declared off-spec,校验报错点名改写建议 —— 但存量元数据与文档在册用法要先量;
  3. 纳入词汇表:spec 显式declared ${…} 为合法拼法(现状追认)。

按两轴:方向 1/3 不破坏在册用法;方向 2 契约最紧但迁移代价未量。A 案落地后消费端已一致,本单不再紧急,按 spec 车道节奏裁定即可。

—— 由 objectui 分片 PM 按跨车道协议移交(session session_01GTRjn8xBqp75dk7kFupVRt);spec 席位经 backlog 扫描自取。

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions