Skip to content

docs(spec): close 14 protocol-17 tombstone prescriptions with the house os migrate meta sentence (#6914) - #7061

Merged
os-project-manager merged 2 commits into
mainfrom
claude/issue-6914-missing-migrate-sentences
Aug 9, 2026
Merged

docs(spec): close 14 protocol-17 tombstone prescriptions with the house os migrate meta sentence (#6914)#7061
os-project-manager merged 2 commits into
mainfrom
claude/issue-6914-missing-migrate-sentences

Conversation

@os-project-manager

Copy link
Copy Markdown
Collaborator

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 文件。复测:

  • 在 filer 自己的 ref 上重跑其查询(非测试 *.zod.tsretiredKey( grep 命中 ∩ 文件内无 os migrate meta):得 37 / 19 文件 —— filer 的 35/18 漏掉了 stack.zod.ts 的 2 个命中,尽管其抽查表里有 stack.api.requireAuth
  • 在 fresh main(3fc2e4861,后合并至 3f7f14e61)上,同一朴素查询得 40 命中 / 19 文件;剥掉注释行后真实调用点为 29 个 / 14 文件 —— filer 清单中的 kernel/plugin.zod.tssystem/http-server.zod.tsui/i18n.zod.tsui/sharing.zod.tsui/widget.zod.ts 如今只有注释里的 retiredKey() 提及,没有真实墓碑。
  • 在场/缺席对照:同一扫描(按字面量归属判定,常量定义归到引用它的站点)同时找回了已带句子的 30 个墓碑字面量;类 pin 的判定语料(含 guidance map、转换注记等全部处方句)为 54,与 pin 注释的 sweep 计数一致。

普查单位修正:QUERY_CURSOR_REMOVED / QUERY_DISTINCT_REMOVED 定义在 data/query.zod.ts(文件级查询看不见),被 api/protocol.zod.ts:614data/data-engine.zod.ts:116/141 共享 —— 判定按字面量而非文件。

逐站点裁决表(29 站点,全部实测 spec-changes.json v17 converted + conversions/registry.tsapply())

加句(14)—— 转换完整覆盖该 key,house 单句形态

站点 key conversion id apply() 裁决
ai/skill.zod.ts:195 skill.triggerPhrases skill-trigger-phrases-removed stripKeys 全键剥除
automation/flow.zod.ts:364 flow.nodes[].outputSchema flow-inert-keys-removed mapFlowNodes 全键剥除
automation/flow.zod.ts:433 waitEventConfig.timeoutMs flow-node-wait-timeout-keys-removed 整值搬移 timerDuration(加引号)/已占则剥除,均自动 —— 非 MIXED
automation/flow.zod.ts:442 waitEventConfig.onTimeout flow-node-wait-timeout-keys-removed 全键剥除
automation/flow.zod.ts:629 flow.template flow-inert-keys-removed 全键剥除
automation/flow.zod.ts:651 flow.active flow-inert-keys-removed 全键剥除
automation/flow.zod.ts:785 flow.errorHandling.fallbackNodeId flow-inert-keys-removed 全键剥除
api/rest-server.zod.ts:125 api.requireAuth(stack.api 的转发副本) stack-api-require-auth-removed 同一授权面,同一键,全键剥除
security/rls.zod.ts:432 rowLevelSecurity[].priority permission-rls-priority-removed 全键剥除
stack.zod.ts:349 stack.api.requireAuth stack-api-require-auth-removed 全键剥除
ui/view.zod.ts:1285 view.list.responsive view-inert-keys-removed 形态限定 list,全键剥除
ui/view.zod.ts:1289 view.list.performance view-inert-keys-removed 同上
ui/view.zod.ts:1710 view.form.defaultSort view-inert-keys-removed 形态限定 form,全键剥除
ui/view.zod.ts:1807 view.form.aria view-inert-keys-removed 同上(list 的 aria 存活,与转换的 shape-scope 一致)

无一处命中 MIXED(部分值转换)形态,dashboard.zod.ts compareTo.offset 两分句形态本 PR 未用到。

正确沉默(15)—— 任何 major 均无转换(逐一对过全部 63 条 converted 记录)

站点 key 为何无转换
api/analytics.zod.ts:51/:57 query / format API 请求键,非存储源
api/batch.zod.ts:91 validateOnly 同上
api/errors.zod.ts:387 fieldErrors API 响应键
api/protocol.zod.ts:614 query.distinct(经 QUERY_DISTINCT_REMOVED) 查询载荷键
api/protocol.zod.ts:1231/:1237 notifications cursor(共享常量) 路由请求/响应键
api/rest-server.zod.ts:515 openApi31 #4579 移除,无转换登记
automation/node-executor.zod.ts:342 isAsync 运行时描述符,非授权面源
data/data-engine.zod.ts:116/:141 cursor/distinct(共享常量) 引擎选项
data/hook.zod.ts:584 session.roles 字面量自述 "Nothing to migrate … never stored"
system/environment-artifact.zod.ts:127/:134/:141 functions/manifest/payloadRef 站点上方注释明言 "No ADR-0087 conversion is registered"(传输壳)

合并 origin/main(#7051)后新到的 data/query.zod.ts:271 aggregations[].distinct 亦复查:无转换登记 → 正确沉默,不加句。

验证(方向先定后跑)

  • 类 pin 判定数:54 → 68(+14,恰等于加句数),全绿 —— retired-key-migrate-sentence.test.ts 6/6 通过。
  • 植红实验:将 ui/view.zod.ts responsive 的新句改成退役拼法 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:schemaauthorable-surface/**json-schema.manifest/**authorable-defaults/authorable-surface.base.jsonapi-surface/**spec-changes.json 零 diff(guidance 字面量不投影进这些工件)。
  • check:generated 十门全绿(合并 main 后重建复跑);check:upgrade-guide 未再生成而绿(未触碰 migrations 账本)。
  • 再生成页面(仅 6 页,机械追加):content/docs/references/ai/skill.mdxapi/automation-api.mdxapi/rest-server.mdxautomation/flow.mdxsecurity/rls.mdxui/view.mdxstack.zod.ts 的 api 块不投影 references 页,无页面 diff。
  • 全量 spec 套件:354 文件 / 9224 用例全绿;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.ts knowledge、ui/action.zod.ts shortcut/bulkEnabled、ui/app.zod.ts 7 处、ui/dashboard.zod.ts 5 处)各自确有 v17 转换而句子缺失 —— 在 #6914 的文件级普查定义之外,已按规程另行立卡(见 issue 链接),本 PR 不扩围。

🤖 Generated with Claude Code

https://claude.ai/code/session_018ffcE95NaMJcL9XJ9VDYgk


Generated by Claude Code

claude added 2 commits August 9, 2026 12:38
…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
@vercel

vercel Bot commented Aug 9, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
objectstack Ignored Ignored Aug 9, 2026 12:44pm

Request Review

@github-actions github-actions Bot added the size/s label Aug 9, 2026
@github-actions

github-actions Bot commented Aug 9, 2026

Copy link
Copy Markdown
Contributor

📓 Docs Drift Check

This PR changes 1 package(s): @objectstack/spec.

106 hand-written doc(s) reference the affected code and may need an implementation-accuracy re-verification:

  • content/docs/ai/agents.mdx (via @objectstack/spec)
  • content/docs/ai/skills-reference.mdx (via @objectstack/spec)
  • content/docs/ai/skills.mdx (via @objectstack/spec)
  • content/docs/api/client-sdk.mdx (via @objectstack/spec)
  • content/docs/api/environment-routing.mdx (via @objectstack/spec)
  • content/docs/api/error-catalog.mdx (via @objectstack/spec)
  • content/docs/api/error-handling-client.mdx (via @objectstack/spec)
  • content/docs/api/error-handling-server.mdx (via @objectstack/spec)
  • content/docs/api/index.mdx (via @objectstack/spec)
  • content/docs/automation/approvals.mdx (via @objectstack/spec)
  • content/docs/automation/connectors.mdx (via @objectstack/spec)
  • content/docs/automation/flows.mdx (via @objectstack/spec)
  • content/docs/automation/hook-bodies.mdx (via packages/spec)
  • content/docs/automation/hooks.mdx (via @objectstack/spec)
  • content/docs/automation/index.mdx (via @objectstack/spec)
  • content/docs/automation/webhooks.mdx (via @objectstack/spec)
  • content/docs/automation/workflows.mdx (via @objectstack/spec)
  • content/docs/concepts/architecture.mdx (via @objectstack/spec)
  • content/docs/concepts/design-principles.mdx (via packages/spec)
  • content/docs/concepts/index.mdx (via @objectstack/spec)
  • content/docs/concepts/metadata-driven.mdx (via @objectstack/spec)
  • content/docs/concepts/metadata-lifecycle.mdx (via packages/spec)
  • content/docs/concepts/north-star.mdx (via @objectstack/spec)
  • content/docs/data-modeling/analytics.mdx (via @objectstack/spec)
  • content/docs/data-modeling/drivers.mdx (via @objectstack/spec)
  • content/docs/data-modeling/external-datasources.mdx (via @objectstack/spec)
  • content/docs/data-modeling/field-types.mdx (via @objectstack/spec)
  • content/docs/data-modeling/fields.mdx (via @objectstack/spec)
  • content/docs/data-modeling/formulas.mdx (via @objectstack/spec)
  • content/docs/data-modeling/index.mdx (via @objectstack/spec)
  • content/docs/data-modeling/objects.mdx (via @objectstack/spec)
  • content/docs/data-modeling/queries.mdx (via @objectstack/spec)
  • content/docs/data-modeling/schema-design.mdx (via @objectstack/spec)
  • content/docs/data-modeling/seed-data.mdx (via @objectstack/spec)
  • content/docs/data-modeling/validation-rules.mdx (via @objectstack/spec)
  • content/docs/data-modeling/validation.mdx (via @objectstack/spec)
  • content/docs/deployment/cli.mdx (via @objectstack/spec)
  • content/docs/deployment/tenancy-modes.mdx (via @objectstack/spec)
  • content/docs/deployment/troubleshooting.mdx (via @objectstack/spec)
  • content/docs/deployment/validating-metadata.mdx (via @objectstack/spec)
  • content/docs/getting-started/build-with-claude-code.mdx (via @objectstack/spec)
  • content/docs/getting-started/common-patterns.mdx (via @objectstack/spec)
  • content/docs/getting-started/examples.mdx (via @objectstack/spec)
  • content/docs/getting-started/quick-reference.mdx (via @objectstack/spec)
  • content/docs/getting-started/quick-start.mdx (via @objectstack/spec)
  • content/docs/getting-started/your-first-project.mdx (via @objectstack/spec)
  • content/docs/kernel/cluster.mdx (via @objectstack/spec)
  • content/docs/kernel/contracts/auth-service.mdx (via packages/spec)
  • content/docs/kernel/contracts/cache-service.mdx (via packages/spec)
  • content/docs/kernel/contracts/data-engine.mdx (via @objectstack/spec)
  • content/docs/kernel/contracts/index.mdx (via @objectstack/spec)
  • content/docs/kernel/contracts/metadata-service.mdx (via packages/spec)
  • content/docs/kernel/contracts/storage-service.mdx (via @objectstack/spec)
  • content/docs/kernel/index.mdx (via packages/spec)
  • content/docs/kernel/runtime-services/data-service.mdx (via @objectstack/spec)
  • content/docs/kernel/runtime-services/email-service.mdx (via packages/spec)
  • content/docs/kernel/runtime-services/examples.mdx (via @objectstack/spec)
  • content/docs/kernel/runtime-services/index.mdx (via packages/spec)
  • content/docs/kernel/runtime-services/queue-service.mdx (via packages/spec)
  • content/docs/kernel/runtime-services/sharing-service.mdx (via @objectstack/spec)
  • content/docs/kernel/runtime-services/sms-service.mdx (via packages/spec)
  • content/docs/kernel/runtime-services/storage-service.mdx (via @objectstack/spec)
  • content/docs/kernel/services-checklist.mdx (via @objectstack/spec)
  • content/docs/kernel/services.mdx (via @objectstack/spec)
  • content/docs/permissions/authorization.mdx (via @objectstack/spec)
  • content/docs/permissions/permission-sets.mdx (via @objectstack/spec)
  • content/docs/permissions/permissions-matrix.mdx (via @objectstack/spec)
  • content/docs/permissions/positions.mdx (via @objectstack/spec)
  • content/docs/permissions/rls.mdx (via @objectstack/spec)
  • content/docs/permissions/sharing-rules.mdx (via @objectstack/spec)
  • content/docs/permissions/system-context.mdx (via packages/spec)
  • content/docs/plugins/adding-a-metadata-type.mdx (via @objectstack/spec)
  • content/docs/plugins/development.mdx (via @objectstack/spec)
  • content/docs/plugins/index.mdx (via @objectstack/spec)
  • content/docs/plugins/packages.mdx (via @objectstack/spec)
  • content/docs/protocol/backward-compatibility.mdx (via @objectstack/spec)
  • content/docs/protocol/diagram.mdx (via packages/spec)
  • content/docs/protocol/kernel/config-resolution.mdx (via @objectstack/spec)
  • content/docs/protocol/kernel/http-protocol.mdx (via @objectstack/spec)
  • content/docs/protocol/kernel/i18n-standard.mdx (via @objectstack/spec)
  • content/docs/protocol/kernel/index.mdx (via @objectstack/spec)
  • content/docs/protocol/kernel/lifecycle.mdx (via @objectstack/spec)
  • content/docs/protocol/kernel/plugin-spec.mdx (via @objectstack/spec)
  • content/docs/protocol/knowledge.mdx (via @objectstack/spec)
  • content/docs/protocol/objectql/index.mdx (via @objectstack/spec)
  • content/docs/protocol/objectql/query-syntax.mdx (via @objectstack/spec)
  • content/docs/protocol/objectql/schema.mdx (via @objectstack/spec)
  • content/docs/protocol/objectql/security.mdx (via packages/spec)
  • content/docs/protocol/objectql/state-machine.mdx (via @objectstack/spec)
  • content/docs/protocol/objectui/actions.mdx (via @objectstack/spec)
  • content/docs/protocol/objectui/concept.mdx (via @objectstack/spec)
  • content/docs/protocol/objectui/index.mdx (via @objectstack/spec)
  • content/docs/protocol/objectui/layout-dsl.mdx (via @objectstack/spec)
  • content/docs/protocol/objectui/record-alert.mdx (via @objectstack/spec)
  • content/docs/protocol/objectui/widget-contract.mdx (via @objectstack/spec)
  • content/docs/ui/actions.mdx (via @objectstack/spec)
  • content/docs/ui/apps.mdx (via @objectstack/spec)
  • content/docs/ui/create-vs-edit-form.mdx (via @objectstack/spec)
  • content/docs/ui/dashboards.mdx (via @objectstack/spec)
  • content/docs/ui/field-grouping-and-order.mdx (via @objectstack/spec)
  • content/docs/ui/forms.mdx (via @objectstack/spec)
  • content/docs/ui/index.mdx (via @objectstack/spec)
  • content/docs/ui/public-data-collection.mdx (via @objectstack/spec)
  • content/docs/ui/setup-app.mdx (via @objectstack/spec)
  • content/docs/ui/translations.mdx (via @objectstack/spec)
  • content/docs/ui/views.mdx (via @objectstack/spec)

7 release-owned page(s) also reference the affected code. These are read-only:

  • content/docs/releases/implementation-status.mdx (via @objectstack/spec)
  • content/docs/releases/index.mdx (via @objectstack/spec)
  • content/docs/releases/v12.mdx (via @objectstack/spec)
  • content/docs/releases/v13.mdx (via @objectstack/spec)
  • content/docs/releases/v16.mdx (via @objectstack/spec)
  • content/docs/releases/v17.mdx (via @objectstack/spec)
  • content/docs/releases/v9.mdx (via @objectstack/spec)

content/docs/releases/ is RELEASE-OWNED (AGENTS.md "Documentation Guardrails"): release
notes are written centrally at release time, and a code PR that edits them is the exact PR
that guardrail exists to stop. They are still audited — read-only. If one of them is actually
wrong, file an issue or open a dedicated docs-only PR; do not edit it here.

Advisory only. To re-verify, run the docs-accuracy-audit workflow scoped to these files:
node scripts/docs-audit/affected-docs.mjs origin/main → pass the list as args.docs.

Copy link
Copy Markdown
Collaborator Author

正文「范围外发现」提到的另行立卡即 #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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation protocol:ai protocol:ui size/s tooling

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[spec] 35 retiredKey() tombstones over protocol-17 conversions never mention os migrate meta — the author is told to hand-edit when a tool exists

2 participants