docs(spec): close 14 protocol-17 tombstone prescriptions with the house os migrate meta sentence (#6914) - #7061
Conversation
…se `os migrate meta` sentence (#6914) Each of the 14 retiredKey() sites whose surface an ADR-0087 v17 conversion covers now ends its guidance literal with the #6856 route-D house sentence, so the rejection an upgrading author meets names the tool instead of prescribing a hand-edit. Verified per site against spec-changes.json's v17 converted list and each conversion's apply(); sites with no conversion (API payload keys, engine options, transport envelopes — the data/driver.zod.ts:108 precedent) deliberately stay silent. Guidance prose before the appended sentence is byte-identical; gen:schema is a zero diff on authorable-surface/ json-schema.manifest/ authorable-defaults/ and the .base.json anchor; content/docs/references pages regenerated. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018ffcE95NaMJcL9XJ9VDYgk
…sing-migrate-sentences
|
The latest updates on your projects. Learn more about Vercel for GitHub. 1 Skipped Deployment
|
📓 Docs Drift CheckThis PR changes 1 package(s): 106 hand-written doc(s) reference the affected code and may need an implementation-accuracy re-verification:
⛔ 7 release-owned page(s) also reference the affected code. These are read-only:
|
|
正文「范围外发现」提到的另行立卡即 #7062(15 个同类字面量,藏在已含句子的文件里,#6914 的文件级普查定义看不见)。CI 已收敛:ESLint success(12:48:19Z)、TypeScript Type Check success(12:59:21Z),其余 24 项 check run 全部 success(Console Pin Gate 按设计 skipped)。 Generated by Claude Code |
Fixes #6914
做了什么
对 14 个确有 ADR-0087 v17 转换覆盖的
retiredKey()处方,在 guidance 字符串字面量末尾追加 #6856 裁定 D 的 house 句式:Run `os migrate meta --from 16` to rewrite existing sources automatically.。句子前的处方正文逐字节未动;不改任何 key/类型/refinement。没有转换(或转换不覆盖该 key)的站点一律不加句,按data/driver.zod.ts:108先例保持刻意沉默。重新推导的普查(E9:自己的清单、自己的命令)
filer 在
2672f855f报 35 站点 / 18 文件。复测:*.zod.ts中retiredKey(grep 命中 ∩ 文件内无os migrate meta):得 37 / 19 文件 —— filer 的 35/18 漏掉了stack.zod.ts的 2 个命中,尽管其抽查表里有stack.api.requireAuth。3fc2e4861,后合并至3f7f14e61)上,同一朴素查询得 40 命中 / 19 文件;剥掉注释行后真实调用点为 29 个 / 14 文件 —— filer 清单中的kernel/plugin.zod.ts、system/http-server.zod.ts、ui/i18n.zod.ts、ui/sharing.zod.ts、ui/widget.zod.ts如今只有注释里的retiredKey()提及,没有真实墓碑。普查单位修正:
QUERY_CURSOR_REMOVED/QUERY_DISTINCT_REMOVED定义在data/query.zod.ts(文件级查询看不见),被api/protocol.zod.ts:614、data/data-engine.zod.ts:116/141共享 —— 判定按字面量而非文件。逐站点裁决表(29 站点,全部实测
spec-changes.jsonv17converted+conversions/registry.ts的apply())加句(14)—— 转换完整覆盖该 key,house 单句形态
ai/skill.zod.ts:195skill.triggerPhrasesskill-trigger-phrases-removedstripKeys全键剥除automation/flow.zod.ts:364flow.nodes[].outputSchemaflow-inert-keys-removedmapFlowNodes全键剥除automation/flow.zod.ts:433waitEventConfig.timeoutMsflow-node-wait-timeout-keys-removedtimerDuration(加引号)/已占则剥除,均自动 —— 非 MIXEDautomation/flow.zod.ts:442waitEventConfig.onTimeoutflow-node-wait-timeout-keys-removedautomation/flow.zod.ts:629flow.templateflow-inert-keys-removedautomation/flow.zod.ts:651flow.activeflow-inert-keys-removedautomation/flow.zod.ts:785flow.errorHandling.fallbackNodeIdflow-inert-keys-removedapi/rest-server.zod.ts:125api.requireAuth(stack.api 的转发副本)stack-api-require-auth-removedsecurity/rls.zod.ts:432rowLevelSecurity[].prioritypermission-rls-priority-removedstack.zod.ts:349stack.api.requireAuthstack-api-require-auth-removedui/view.zod.ts:1285view.list.responsiveview-inert-keys-removedui/view.zod.ts:1289view.list.performanceview-inert-keys-removedui/view.zod.ts:1710view.form.defaultSortview-inert-keys-removedui/view.zod.ts:1807view.form.ariaview-inert-keys-removedaria存活,与转换的 shape-scope 一致)无一处命中 MIXED(部分值转换)形态,
dashboard.zod.tscompareTo.offset两分句形态本 PR 未用到。正确沉默(15)—— 任何 major 均无转换(逐一对过全部 63 条 converted 记录)
api/analytics.zod.ts:51/:57query/formatapi/batch.zod.ts:91validateOnlyapi/errors.zod.ts:387fieldErrorsapi/protocol.zod.ts:614query.distinct(经QUERY_DISTINCT_REMOVED)api/protocol.zod.ts:1231/:1237cursor(共享常量)api/rest-server.zod.ts:515openApi31automation/node-executor.zod.ts:342isAsyncdata/data-engine.zod.ts:116/:141cursor/distinct(共享常量)data/hook.zod.ts:584session.rolessystem/environment-artifact.zod.ts:127/:134/:141functions/manifest/payloadRef合并
origin/main(#7051)后新到的data/query.zod.ts:271aggregations[].distinct亦复查:无转换登记 → 正确沉默,不加句。验证(方向先定后跑)
retired-key-migrate-sentence.test.ts6/6 通过。ui/view.zod.tsresponsive 的新句改成退役拼法to rewrite it automatically.→ pin 红,报错精确点名ui/view.zod.ts:1288并回显违规摘录;随后回退,复绿。除 pin 外无其他门因本改动变红/变绿(fix(spec): stop teaching the retired ETL layer as a live retry surface in flow.zod.ts (#6630, part 2) #6753:如实说)。gen:schema后authorable-surface/**、json-schema.manifest/**、authorable-defaults/、authorable-surface.base.json、api-surface/**、spec-changes.json零 diff(guidance 字面量不投影进这些工件)。check:generated十门全绿(合并 main 后重建复跑);check:upgrade-guide未再生成而绿(未触碰 migrations 账本)。content/docs/references/下ai/skill.mdx、api/automation-api.mdx、api/rest-server.mdx、automation/flow.mdx、security/rls.mdx、ui/view.mdx。stack.zod.ts的 api 块不投影 references 页,无页面 diff。pnpm --filter @objectstack/spec typecheck绿;test-typecheck-debt.json前后未动(58 文件 / 266 错,shrink-only 持平)。node scripts/check-nul-bytes.mjs绿。变更集
.changeset/tombstone-migrate-sentence-completion.md——@objectstack/spec: patch(处方字符串随 npm 包发布,用户可见;非 breaking,无需 ADR-0087 标记)。范围外发现
同缺陷类、但在已含句子文件里的 15 个字面量(
ai/agent.zod.tsknowledge、ui/action.zod.tsshortcut/bulkEnabled、ui/app.zod.ts7 处、ui/dashboard.zod.ts5 处)各自确有 v17 转换而句子缺失 —— 在 #6914 的文件级普查定义之外,已按规程另行立卡(见 issue 链接),本 PR 不扩围。🤖 Generated with Claude Code
https://claude.ai/code/session_018ffcE95NaMJcL9XJ9VDYgk
Generated by Claude Code