Part of #4633(维护者 2026-08-06 批复裁 D;contract-first 拆分由 cli 车道牵头,本单即 spec 半边,spec 先行)。
背景(压缩自 #4633 的裁决链,完整论证见该单 08-05 决策评论)
import dry run 的手抄预检镜像(packages/rest/src/import-coerce.ts)结构性预测不了写侧判决的整个家族:value shapes(ADR-0104 姿态相关)、format 检查、对象级 validations、状态机。裁 D = 新增 validate-only 协议操作,dry run 直接跑引擎自己的 validateRecord(validate-only,不落盘),预测=判决由构造保证;import-coerce.ts 的手抄镜像随之退役(消费半边在 #4633 本单)。
本单范围(spec 半边)
- DataProtocol 新增 validate-only 操作的契约声明。形态(独立操作如
validateData vs createData 的 dryRun 旗标)由 spec 座位按契约惯例定夺并留档理由 —— 裁决记录两种形态皆提及,未钉死。
- ADR-0104 姿态语义要在契约上说清:validate-only 的判决按目标部署的真实姿态(strict / warn-first)给出,与真实写入一致 —— 裁决否决了「无条件 strict」(B 案)。A 案(姿态探针)可作实现内部垫脚石,由承接 dev 自定。
⚠️ 验收硬条款(裁决明令写入)
时序与量级
登记注记
- 查重:已搜
validate-only / validateData,无同题单(2026-08-06)。
- 域标签留分诊座位定(预计
domain:spec,「shared contract surfaces have one owner」);本单立单者为 cli 车道 PM(session_01Wbxm29qPKnLf44AbSxizqW),按裁决「拆分由 cli 车道牵头定」执行,不构成认领。
Part of #4633(维护者 2026-08-06 批复裁 D;contract-first 拆分由 cli 车道牵头,本单即 spec 半边,spec 先行)。
背景(压缩自 #4633 的裁决链,完整论证见该单 08-05 决策评论)
import dry run 的手抄预检镜像(
packages/rest/src/import-coerce.ts)结构性预测不了写侧判决的整个家族:value shapes(ADR-0104 姿态相关)、format 检查、对象级 validations、状态机。裁 D = 新增 validate-only 协议操作,dry run 直接跑引擎自己的validateRecord(validate-only,不落盘),预测=判决由构造保证;import-coerce.ts的手抄镜像随之退役(消费半边在 #4633 本单)。本单范围(spec 半边)
validateDatavscreateData的 dryRun 旗标)由 spec 座位按契约惯例定夺并留档理由 —— 裁决记录两种形态皆提及,未钉死。batch.zod.ts的validateOnly刚作为「承诺了从未实现」被退役,现有 retiredKey 拦截 —— 本次绝不再造同款)。执行半边落在引擎侧(objectql / metadata-protocol),跨域面由 spec 座位与分诊座位按跨域例外路径或再拆分处置 —— 本单如实声明这一点,不预设拆法。validateOnly已在退役词表)。时序与量级
Blocked-by。登记注记
validate-only/validateData,无同题单(2026-08-06)。domain:spec,「shared contract surfaces have one owner」);本单立单者为 cli 车道 PM(session_01Wbxm29qPKnLf44AbSxizqW),按裁决「拆分由 cli 车道牵头定」执行,不构成认领。