Skip to content

Commit 07595c0

Browse files
docs(skills): page-builder guide drops the retired page:header breadcrumb and names placedActions (#30115)
domain:skills#1 · huangyiirene · session_01J8VVAnMUWA9rufXzFaEh4J <!-- claude-projects-attribution: {"github_login":"huangyiirene"} --> _Requested by **Irene** · [project thread](https://claude.ai/code/project/chan_01TJXtQ1tVD26ecLDZxFS67x?thread=cmsg_01TJXtQ1tVD26ecLDZxFS67x3SdUTPmEPW1XtHGkGWMokB)_ Fixes #30031 Clause-②: no Metadata-protocol: none The maintainer waived the model-tier mandate for `skills/**` while that tier had no quota; this PR was developed below it. ## 维护者速读 - 改了什么:`skills/objectui/guides/page-builder.md` L100-101 的 `page:header` 标题行键表删掉已退役的 `breadcrumb`,并加上已上线的 `placedActions: true`,现为 (`title`, `subtitle`, `actions` or `placedActions: true`)。 - 为什么改:`PageHeaderProps.breadcrumb` 自 spec 17 起是 `retiredKey` 墓碑(ADR-0087 D2),props lint 拒绝手写的 `breadcrumb`;#30097 合入后 header 渲染器已读取 `placedActions`。 - 风险与回滚:一个文件改一行,token 3410/3411,不动上限、不付账;发布 `@objectstack/skills` patch;回滚即 revert。 - 先看:page-builder.md L101。 - 需要你做的:无;席位处理 ready 与合并队列。 ## What changes - `skills/objectui/guides/page-builder.md` L101: `` `breadcrumb`, `` is removed from the `page:header` title-row list, and `placedActions: true` is named as the alternative to `actions`. The sentence now reads "a title row (`title`, `subtitle`, `actions` or `placedActions: true`) that takes no `children`". The rest of the file is byte-identical to `main`. - `.changeset/30031-page-builder-header-breadcrumb.md`: `'@objectstack/skills': patch` with `Clause-②: no` and `Metadata-protocol: none`, its prose naming `page-builder.md` only. No `skip-changeset` label: a `skills/**` diff ships in `@objectstack/skills` (pr-automation.yml route 1). An earlier head of this PR also changed the `page:header` row in `skills/objectstack-ui/rules/pages.md` L46, which said `placedActions: true` was "not drawn yet". PR #30127 (#29951) landed that fix on `main` ("(all placed, read live)"). The merge of `main` into this branch took `main`'s line as is, so `pages.md` is no longer in this PR's diff. Read off `main` at `9a53fc9f` (merged into the branch, no rebase): - `PageHeaderProps` in `packages/spec/src/ui/component.zod.ts`: `breadcrumb` and `showStar` are `retiredKey` tombstones. Live keys: `title`, `subtitle`, `actions`, `placedActions`, `recordChrome`, `showCopyId`, `maxVisible`, `mobileMaxVisible`, `aria`. - **`placedActions` is live.** #30097 (#29951) dropped the `[PLANNED — not yet rendered]` marker from its describe, which now reads "Draw every action of the page's object whose `locations` include `record_header` or `record_more`, read live from the object's metadata, in place of an authored `actions` list … Refused as `true` beside an authored `actions` list: keep one." The `page:header` renderer in `ui/packages/components/src/renderers/layout/containers.tsx` reads `placedActions` and draws the placed header actions. The `.refine` on `PageHeaderProps` refuses `placedActions: true` beside an authored `actions` list, so the guide spells the two as alternatives ("or"). The first head of this PR (`d93cef6e`) left `placedActions` out because the describe at its base still carried the PLANNED marker; that reason no longer holds on `main`. - `recordChrome`, `showCopyId` and `maxVisible` shape the record chip and the overflow menu, not what the title row holds, so the guide's sentence does not name them. - Sweep of `skills/objectui/**`: L101 was the only `breadcrumb`. `showStar` appears nowhere. **Token ratchet.** `page-builder.md`: 13628 → 13639 bytes, 3410 tokens (ceiling 3411, headroom 1). No ceiling row moves, nothing was re-wrapped, and no payment is owed. ## Why The guide taught a key the props lint refuses, so a page authored from it would fail validation, and it did not name `placedActions` after #30097 made the header draw it. ## Verification Head `16145621`: on top of `0f1ccaec`, a merge of `origin/main` at `9a53fc9f` (`31fbfb98`, `pages.md` resolved to `main`'s line) and one commit scoping the changeset prose. <details><summary>Local gates on 1614562: 44 derived, 44 run with exit 0, 0 NOT MEASURED (`dispatch-gates --ran`)</summary> - `node scripts/pm/dispatch-gates.mjs --commands --repo objectstack-ai/objectstack` derived 44 commands for the two changed files. All ran after `pnpm install --frozen-lockfile` and a full `pnpm build` on the merged tree (exit 0), each under a 900 s timeout with its exit code captured before any pipe. - All 44 exited 0, among them `check-skills-token-ratchet.mjs`, `check:skill-examples`, `check:skill-identifier-liveness`, `check:skill-frame-sync`, `check:doc-authoring`, `check:dts-closure`, `check:dual-build-cjs-loads` and `check-comment-mask-corpus.mjs`. - `--ran` printed: `44 derived famil(ies) accounted for — 44 run, 0 NOT-MEASURED (a DERIVED zero — all 44 recorded an exit code and none of them is 3)`. - `node scripts/check-commit-card-trailers.mjs --range origin/main..HEAD`: exit 0 (5 commits) before the push. </details> ## Human Minimum - [x] 1. Schemas start as Zod; `packages/spec` holds no runtime logic. (Not touched.) - [x] 2. Every name I added uses the casing for its kind. (No names added.) - [x] 3. No formatter ran. - [x] 4. One issue, one branch off an up-to-date `main`, one pull request. - [x] 5. A change that publishes carries a changeset, and both declaration lines are filled in here and in the changeset. - [x] 6. `packages/spec` touched: its generated artifacts are regenerated and committed. (Not touched.) - [x] 7. No hand edits to `content/docs/references/`, `packages/*/CHANGELOG.md` or `content/docs/releases/`. - [x] 8. Title, body and comments are in English. (The 维护者速读 section is Chinese, per the lane template.) - [x] The *Before Submitting* list in CONTRIBUTING.md is done. --- _Generated by [Claude Code](https://claude.ai/code/session_01J8VVAjSbVpQUeFNuTTm3me)_ --------- Co-authored-by: Claude <noreply@anthropic.com>
1 parent 0fd363d commit 07595c0

2 files changed

Lines changed: 11 additions & 1 deletion

File tree

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
---
2+
'@objectstack/skills': patch
3+
---
4+
5+
docs(skills): the `page:header` title row drops the retired `breadcrumb` and names the live `placedActions: true`
6+
7+
Clause-②: no
8+
Metadata-protocol: none
9+
10+
- `skills/objectui/guides/page-builder.md`: the `page:header` sentence named `breadcrumb` among the title row's keys. `PageHeaderProps.breadcrumb` is a `retiredKey` tombstone since @objectstack/spec 17 (ADR-0087 D2), and the props lint refuses an authored one. The row now lists `title`, `subtitle`, `actions` or `placedActions: true`; the last two are refused together.

‎skills/objectui/guides/page-builder.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ its own (`page:section` spaces its children with `space-y-4`; `page:footer`
9898
draws a separator above a justified, muted row; `page:sidebar` is a
9999
`w-full md:w-80 shrink-0` column, fixed at 20rem from `md` up), and
100100
`page:header` renders the page's `header`, a title row (`title`, `subtitle`,
101-
`breadcrumb`, `actions`) that takes no `children`. The bare HTML sectioning
101+
`actions` or `placedActions: true`) that takes no `children`. The bare HTML sectioning
102102
tags (`section`, `header`, `nav`, …) are not curated blocks; they belong to
103103
`kind:'html'` pages.
104104

0 commit comments

Comments
 (0)