Skip to content

docs(spec): close 12 literal-level protocol-17 tombstone prescriptions with the house os migrate meta sentence (#7062) - #7077

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

docs(spec): close 12 literal-level protocol-17 tombstone prescriptions with the house os migrate meta sentence (#7062)#7077
os-project-manager merged 2 commits into
mainfrom
claude/issue-7062-hidden-missing-sentences

Conversation

@os-project-manager

Copy link
Copy Markdown
Collaborator

Fixes#7062

#6856 route-D 系列第三张卡:#7031 落地 house sentence 与 class pin,#7061 补齐文件级可见的 14 处,本 PR 处理文件级 census 结构性看不见的 literal 级遗留(所在文件其他位置已含句子)。

Literal 级 census(fresh main @ 2c7e62d5f 重新推导,常量解析到定义处)

用 TypeScript AST 枚举 packages/spec/src 全部 110 个 retiredKey() 调用点,guidance 经同文件常量、跨文件 import、拼接链、模板字面量与 helper(capRemovedWIDGET_ACTION_RETIRED)完整解析:

  • 修改前:44 个调用点的 literal 含句子 + WIDGET_ACTION_RETIRED 家族 3 点 = 47 点已含;63 点不含(其中 capRemoved 家族 30 点)。
  • 在场/缺席对照:class pin 同款扫描在修改前判 68 条句子、修改后 80 条 —— 与 pin 的 anti-vacuity 下限一致,扫描器未致盲。
  • 不含句子的 63 点里,逐点核对 spec-changes.json from-16 converted(53 项)与 conversions/registry.tsapply():12 点有整键覆盖的 v17 conversion → 追加句子;51 点无 conversion → 正确沉默,未动

与卡片所列 15 点的 delta:−3,+0

卡片列的 ui/dashboard.zod.ts:379–381(widgets[].actionUrl/actionType/actionIcon)共享 WIDGET_ACTION_RETIRED(dashboard.zod.ts:306,单个 helper 而非卡片所称的 ACTION_URL_RETIRED 常量族),其 literal 在卡片自己的基线 3f7f14e61 上就已以 house sentence 收尾(git show 3f7f14e61 验证,该文件在基线与 HEAD 之间无变更)——这 3 点从未缺句,卡片此三行不成立。其余 12 点全部证实,无新增合格点。

逐点表(12 处追加)

sitekeyconversion idapply() 判定
ai/agent.zod.ts:248agent.knowledgeagent-knowledge-removedstripKeys(a, ['knowledge']) 整键剥除 → 追加
ui/action.zod.ts:992action.shortcutaction-inert-keys-removedstripKeys(a, ['shortcut','bulkEnabled']) → 追加
ui/action.zod.ts:1000action.bulkEnabledaction-inert-keys-removed同上 → 追加
ui/app.zod.ts:1253app.versionapp-dead-authoring-keys-removedRETIRED 顶层剥除含全部 7 键 → 追加
ui/app.zod.ts:1394app.objects同上→ 追加
ui/app.zod.ts:1401app.apis同上→ 追加
ui/app.zod.ts:1428app.sharing同上→ 追加
ui/app.zod.ts:1435app.embed同上→ 追加
ui/app.zod.ts:1448app.mobileNavigation同上→ 追加
ui/app.zod.ts:1487app.aria同上→ 追加
ui/dashboard.zod.ts:910dashboard.ariadashboard-inert-keys-removedstripKeys(d, ['aria','performance']) → 追加
ui/dashboard.zod.ts:916dashboard.performancedashboard-inert-keys-removed同上 → 追加

四个 conversion 全部整键剥除(stripKeys / 专用 walker),无 partial value 场景,故一律单从句 house 形式,未用 MIXED 双从句。行号为追加后;guidance 句前散文逐字节不变(仅按 #7061 惯例在前句末补一个分隔空格并新增拼接段)。

正确沉默(51 点,报告不动):capRemoved 家族 30 点 + DriverCapabilities.streaming(driver 是代码非 stack metadata,helper 文档块自证;D3 语义迁移 driver-capabilities-inert-bits-removed)、query.cursor/joins/windowFunctions/distinctaggregations[].distinct(#7051,常量归属核对)、notifications cursor、analytics query/format、batch validateOnly、errors fieldErrors、rest-server openApi31ActionDescriptor.isAsyncHookContext.session.roles、environment-artifact functions/manifest/payloadRef —— 逐一 grep conversions/registry.ts 确认无覆盖条目。

Class pin 与种红

生成物与门禁

  • gen:schema:authorable-surface/**json-schema.manifest/**authorable-defaults/.base.jsonapi-surface/** 全部 零 diff
  • check:generated:仅 check:docs 判 stale(guidance 进 .describe() → 参考页),--fix 只再生四页:references/ai/agent.mdxreferences/ui/action.mdxreferences/ui/app.mdxreferences/ui/dashboard.mdx,diff 即句子本身。
  • check:upgrade-guide未再生即绿(migrations ledger 未触碰),check:spec-changes 绿。
  • pnpm --filter @objectstack/spec test:354 文件 / 9235 用例全绿;typecheck 绿,test-typecheck-debt.json 前后零变更(58 文件 / 266 错误,未触碰)。
  • check-nul-bytes:OK(6521 文件)。

Changeset

.changeset/twelve-hidden-migrate-sentences.md,@objectstack/spec: patch。非 breaking(仅 guidance 文案),不涉 ADR-0087 disposition 标记。

🤖 Generated with Claude Code

https://claude.ai/code/session_018ffcE95NaMJcL9XJ9VDYgk


Generated by Claude Code

…s with the house `os migrate meta` sentence (#7062)
The literal-level remainder of #6914 (route D, #6856): 12 retiredKey()
guidance literals whose surface a registered v17 conversion covers, hiding
in files that already carried the sentence elsewhere. Re-derived the census
on fresh main with constants resolved to their definitions; verified each
site against spec-changes.json's from-16 converted list and its apply() in
conversions/registry.ts (all wholesale strips — no MIXED form needed).
Delta vs the card's 15: the three dashboard.widgets[] action keys share
WIDGET_ACTION_RETIRED, whose literal already ends with the house sentence,
so they were never missing. Guidance prose before each appended sentence is
byte-identical; gen:schema is a zero diff on authorable-surface/,
json-schema.manifest/, authorable-defaults/ and the .base.json anchor;
check:upgrade-guide green without regen; the four reference pages
regenerated.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018ffcE95NaMJcL9XJ9VDYgk
@vercel

vercelBot commented Aug 9, 2026

Copy link
Copy Markdown

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

1 Skipped Deployment
ProjectDeploymentActionsUpdated (UTC)
objectstackIgnoredIgnoredAug 9, 2026 1:58pm

Request Review

@github-actions

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.

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

Labels

documentationImprovements or additions to documentationprotocol:aiprotocol:uisize/stooling

Projects

None yet

2 participants

@os-project-manager@claude