Skip to content

docs(releases,nav): v17 follow-up — Console gap backfill, sidebar restore, first docs sweep - #3908

Merged
os-zhuang merged 3 commits into
mainfrom
claude/v17-docs-update-nxjj6d
Jul 29, 2026
Merged

docs(releases,nav): v17 follow-up — Console gap backfill, sidebar restore, first docs sweep#3908
os-zhuang merged 3 commits into
mainfrom
claude/v17-docs-update-nxjj6d

Conversation

@os-zhuang

Copy link
Copy Markdown
Contributor

#3906 的 follow-up,三件相关收尾:

1. Console 章节补上缺失的 25 个 objectui 提交

v17 前端窗口是 cf2d56e32a11(16.1.0 所 pin)→ 4a4829d0ef39 = 128 个提交,但四条 console-*.md changeset 只覆盖 103 个:2cb8d78e24ad...c6cfdf1288b6 这段 bump 没有留下 changeset —— 正是 bump-objectui.sh 要防的「SHA bump leaves no trace」。缺口里有两条破坏性变更,且各自都是 #3906 页面上已写了后端半边的变更的前端半边:

两者现已并列在各自后端条目旁并进入升级 checklist;其余 8 条实质变更(effective-operation-set 门禁、approver record lookups、{current_user_id} widget filters、org switcher 写入上下文、system-settings i18n、图片 click-to-zoom、导入邮箱校验、flow-node repeater 修复)并入 Console 章节;.changeset/console-c6cfdf1288b6-backfill.md 追认该区间,历史不再有洞。

2. releases 回到左侧根导航

#3423 把 References 和 Releases 一起移出侧边栏(理由:「URL 可达 + 首页有链接」)。这个取舍对 References(22 页生成物)成立,但对发布窗口期的 Releases 不成立 —— 用户打开文档就是为了找升级说明。References 保持移出。

同时 check-release-notes 补上它宣称但没查的那半:成功信息一直说 "navigable",实际只读 releases 段自己的 meta.json,看不到整段从根导航消失。现在要求根导航或首页链接二选一可达(保留 #3423 的取舍空间),两者同时丢失才 fail。已做双向负向验证。

3. 第一轮 v17 文档扫描(可重复)

新增 docs/v17-docs-sweep.md —— 扫描 playbook + 追加式运行日志,带 watermark(本轮:framework a641d10 · 305 changesets · objectui 4a4829d0ef39),v17 还在迭代,后续按 watermark 增量重扫。Run 1 修复的漂移:

文件 漂移
kernel/services-checklist.mdx 声称 17 个 kernel service(含 graphql)、由已解散的 ObjectStackProtocol 治理
permissions/authorization.mdx anonymous-deny 矩阵仍列 /graphql + handleGraphQL;owner-type 规则写成 "declared but seed-skipped"(现已不 parse)
permissions/permissions-matrix.mdx / index.mdx sharing 状态仍是 #1878 前的 declared-but-skipped 口径
protocol/kernel/http-protocol.mdx 声称 enable.trash "exists as an object flag"(v17 已删)
protocol/objectql/{index,schema}.mdxpermissions/field-level-security.mdx 架构图/注释/行文里的 "REST/GraphQL"
skills/objectstack-api/SKILL.md 描述宣传 "REST/GraphQL endpoints/generator";镜像经 gen:skill-docs 再生成

误报(ai.requiresConfirmation 是存活的 action 级键、ExecutionContext.tenantId 是存活内部字段等)已记录在日志里,下轮免重判。范围外发现(spec 枚举注释仍写 "NLQ, Chat, Suggest, Insights"、implementation-status.mdx 整页过期)已记录待办。

验证

  • pnpm docs:build 通过;check:release-notes / doc-authoring / role-word / org-identifier / nul-bytes / check:skill-docs(生成物同步)全绿
  • 新守卫分支:两个入口同删 → exit 1;仅留其一 → exit 0(双向验证过)
  • 两个新增 changeset:backfill 为 @objectstack/console minor,主 changeset 为空(docs-only)

🤖 Generated with Claude Code

https://claude.ai/code/session_01LXvaYR7TiJBCxYwjn51owH


Generated by Claude Code

…tore, first docs sweep

Three related closures on the just-merged v17 release page (#3906):

1. The Console section was missing 25 objectui commits. The v17 frontend window
is cf2d56e32a11 → 4a4829d0ef39 = 128 commits, but the pending console-*.md
changesets covered only 103: the range 2cb8d78e24ad...c6cfdf1288b6 landed with
no changeset — exactly the "SHA bump leaves no trace" failure
scripts/bump-objectui.sh exists to prevent. Two of the missing commits are
breaking and each is the frontend half of a backend change the page already
documented (useClientNotifications delegates ↔ #3612 SDK removal;
@object-ui/types Capabilities re-exports ↔ the retired capabilities cluster).
Both now sit beside their backend halves and in the upgrade checklist, with the
other eight substantive commits folded into the Console section and
.changeset/console-c6cfdf1288b6-backfill.md recording the range itself.

2. "releases" returns to the root sidebar. #3423 unlisted References and
Releases together ("lookup content ... the docs home page links both"); that
trade holds for References (22 generated pages) but not for Releases in a
release window, when the upgrade notes are what people open the docs for.
References stays out. check-release-notes now enforces what its success line
already claimed: the section must be reachable via the root nav OR a
/docs/releases link on the docs home — either satisfies it (preserving #3423's
option), losing both fails the build. Negative-tested both directions.

3. First v17 docs sweep (docs/v17-docs-sweep.md — playbook + append-only run
log with a watermark, built to re-run while the RC train iterates). Run 1
fixed the drift v17 left in hand-written prose: services-checklist (17→16
services, graphql rows, the dissolved ObjectStackProtocol), the anonymous-deny
matrix still listing /graphql + handleGraphQL, sharing docs describing
owner/group shapes as "declared but not enforced" (they no longer parse),
http-protocol claiming enable.trash exists, REST/GraphQL in objectql
diagrams/prose, and the objectstack-api skill description (mirrors regenerated
via gen:skill-docs). False positives and out-of-scope findings (spec comment
drift, implementation-status.mdx staleness) are logged for the next run.

Verified: pnpm docs:build passes; check:release-notes / doc-authoring /
role-word / org-identifier / nul-bytes / skill-docs-sync all green; the new
guard branch fails when both entry points are removed and passes with either.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LXvaYR7TiJBCxYwjn51owH
@vercel

vercel Bot commented Jul 29, 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 Jul 29, 2026 1:17am

Request Review

…mp left stale

The v17 RC version bump moved PROTOCOL_VERSION to 17.0.0 without re-running
gen:spec-changes / gen:upgrade-guide, so spec-changes.json still declared
protocolVersion 16.0.0 with no protocol-17 entries while the protocol-17
conversions were already registered and live. check:spec-changes (Check
Generated Artifacts) fails on pristine origin/main — reproduced in a detached
worktree — and surfaced here only because this PR is the first since the bump
to touch a path the job's filter watches (skills/**).

Mechanical regeneration, no hand edits: spec-changes.json gains the five
protocol-17 conversions and protocolVersion 17.0.0; the upgrade guide gains
its generated Protocol 16 → 17 section. All four job steps now pass locally
(check:skill-docs, check:spec-changes, check:upgrade-guide,
check:authorable-surface). Ships as a spec patch so npm consumers get the
corrected manifest.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LXvaYR7TiJBCxYwjn51owH

Copy link
Copy Markdown
Contributor Author

Check Generated Artifacts 的失败(check:spec-changes)在干净的 origin/main 上同样复现(detached worktree 验证),不是本 PR 引入的:RC 版本 bump 把 PROTOCOL_VERSION 抬到 17.0.0 时没有再生成 ADR-0087 的投影,spec-changes.json 仍是 protocolVersion: 16.0.0 且没有任何 protocol-17 条目。这个 job 之前一直被路径过滤跳过,本 PR 碰了 skills/** 才第一次触发它。

已在 5d9ba82 里顺手治好(纯机械再生成,无手工编辑):spec-changes.json 补上五条 protocol-17 conversion,docs/protocol-upgrade-guide.md 补上生成的 Protocol 16 → 17 章节,并附 @objectstack/spec patch changeset(manifest 随包发布)。四个 job step 本地全绿。


Generated by Claude Code

@github-actions

Copy link
Copy Markdown
Contributor

📓 Docs Drift Check

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

105 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 packages/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 packages/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/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 packages/spec)
  • content/docs/kernel/index.mdx (via packages/spec)
  • content/docs/kernel/runtime-services/email-service.mdx (via packages/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 packages/spec)
  • content/docs/kernel/runtime-services/sms-service.mdx (via packages/spec)
  • content/docs/kernel/runtime-services/storage-service.mdx (via packages/spec)
  • content/docs/kernel/services-checklist.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/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/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/kernel/runtime-capabilities.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/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/ui/actions.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/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)

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.

The docs-drift-check bot on #3908 lists 105 spec-referencing docs and the
docs-accuracy-audit workflow that re-verifies them. The fingerprint grep in
this playbook targets removals; record the audit workflow (scoped via
scripts/docs-audit/affected-docs.mjs) as the complementary deep pass to run
once before changeset pre exit.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LXvaYR7TiJBCxYwjn51owH
@os-zhuang
os-zhuang marked this pull request as ready for review July 29, 2026 02:04
@os-zhuang
os-zhuang merged commit 48724d6 into main Jul 29, 2026
17 checks passed
@os-zhuang
os-zhuang deleted the claude/v17-docs-update-nxjj6d branch July 29, 2026 02:04
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 size/m tooling

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants