From d93cef6ef7ffb96ab85aeb7f6e15ca55b49c9d4d Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 4 Nov 2026 14:14:59 +0000 Subject: [PATCH 1/3] docs(skills): drop the retired page:header breadcrumb from the objectui page-builder guide PageHeaderProps.breadcrumb is a retiredKey tombstone since spec 17 (ADR-0087 D2); the guide's title-row sentence still named it. Co-Authored-By: Claude Claude-Session: https://claude.ai/code/session_01J8VVAjSbVpQUeFNuTTm3me --- .changeset/30031-page-builder-header-breadcrumb.md | 10 ++++++++++ skills/objectui/guides/page-builder.md | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 .changeset/30031-page-builder-header-breadcrumb.md diff --git a/.changeset/30031-page-builder-header-breadcrumb.md b/.changeset/30031-page-builder-header-breadcrumb.md new file mode 100644 index 00000000000..204a0a05e31 --- /dev/null +++ b/.changeset/30031-page-builder-header-breadcrumb.md @@ -0,0 +1,10 @@ +--- +'@objectstack/skills': patch +--- + +docs(skills): the objectui page-builder guide stops listing the retired `breadcrumb` on the `page:header` title row + +Clause-②: no +Metadata-protocol: none + +- `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`. No other text changes. diff --git a/skills/objectui/guides/page-builder.md b/skills/objectui/guides/page-builder.md index 713abb8cb4f..69016e8e54f 100644 --- a/skills/objectui/guides/page-builder.md +++ b/skills/objectui/guides/page-builder.md @@ -98,7 +98,7 @@ its own (`page:section` spaces its children with `space-y-4`; `page:footer` draws a separator above a justified, muted row; `page:sidebar` is a `w-full md:w-80 shrink-0` column, fixed at 20rem from `md` up), and `page:header` renders the page's `header`, a title row (`title`, `subtitle`, -`breadcrumb`, `actions`) that takes no `children`. The bare HTML sectioning +`actions`) that takes no `children`. The bare HTML sectioning tags (`section`, `header`, `nav`, …) are not curated blocks; they belong to `kind:'html'` pages. From 0f1ccaec8d7f59992b9f87c69ae767edc823110c Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 4 Nov 2026 15:09:26 +0000 Subject: [PATCH 2/3] docs(skills): name the live placedActions on the page:header title row PR #30097 made the header renderer read placedActions, so the objectui page-builder guide names it beside actions and the objectstack-ui pages catalogue drops "not drawn yet". Co-Authored-By: Claude Claude-Session: https://claude.ai/code/session_01J8VVAjSbVpQUeFNuTTm3me --- .changeset/30031-page-builder-header-breadcrumb.md | 5 +++-- skills/objectstack-ui/rules/pages.md | 2 +- skills/objectui/guides/page-builder.md | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/.changeset/30031-page-builder-header-breadcrumb.md b/.changeset/30031-page-builder-header-breadcrumb.md index 204a0a05e31..f9bbde21ba7 100644 --- a/.changeset/30031-page-builder-header-breadcrumb.md +++ b/.changeset/30031-page-builder-header-breadcrumb.md @@ -2,9 +2,10 @@ '@objectstack/skills': patch --- -docs(skills): the objectui page-builder guide stops listing the retired `breadcrumb` on the `page:header` title row +docs(skills): the `page:header` title row drops the retired `breadcrumb` and names the live `placedActions: true` Clause-②: no Metadata-protocol: none -- `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`. No other text changes. +- `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/objectstack-ui/rules/pages.md`: the `page:header` catalogue row no longer says `placedActions: true` is "not drawn yet". The header renderer reads it since #30097 and draws every action of the object placed at `record_header` / `record_more`. diff --git a/skills/objectstack-ui/rules/pages.md b/skills/objectstack-ui/rules/pages.md index ef5c2c21cea..fb79395e497 100644 --- a/skills/objectstack-ui/rules/pages.md +++ b/skills/objectstack-ui/rules/pages.md @@ -43,7 +43,7 @@ A `slotted` record page has no `tabs` slot — see [Record Page](./record-page.m | `type` | Use | |:---------------------|:----| -| `page:header` | `title` / `subtitle` templates + `actions` (ids of the bound object's actions, never action nodes) or `placedActions: true` (all placed; not drawn yet) | +| `page:header` | `title` / `subtitle` templates + `actions` (ids of the bound object's actions, never action nodes) or `placedActions: true` (all placed) | | `page:card` | Bordered/un-bordered card with `children: Component[]` (plus an optional `footer: Component[]` slot) | | `flex` | Generic styleable box (`properties.children`) — the workhorse for custom layout; style via `responsiveStyles` (see Styling below) | | `element:text` | Text node — `properties.content`; style via `responsiveStyles` | diff --git a/skills/objectui/guides/page-builder.md b/skills/objectui/guides/page-builder.md index 69016e8e54f..603d5a4d603 100644 --- a/skills/objectui/guides/page-builder.md +++ b/skills/objectui/guides/page-builder.md @@ -98,7 +98,7 @@ its own (`page:section` spaces its children with `space-y-4`; `page:footer` draws a separator above a justified, muted row; `page:sidebar` is a `w-full md:w-80 shrink-0` column, fixed at 20rem from `md` up), and `page:header` renders the page's `header`, a title row (`title`, `subtitle`, -`actions`) that takes no `children`. The bare HTML sectioning +`actions` or `placedActions: true`) that takes no `children`. The bare HTML sectioning tags (`section`, `header`, `nav`, …) are not curated blocks; they belong to `kind:'html'` pages. From 1614562113dacabdd474c47406b9ffe0bc221f87 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 4 Nov 2026 20:05:50 +0000 Subject: [PATCH 3/3] docs(skills): scope the page-builder changeset to the one file left in the diff main already carries the pages.md catalogue fix, so the changeset prose names page-builder.md only. Co-Authored-By: Claude Claude-Session: https://claude.ai/code/session_01J8VVAjSbVpQUeFNuTTm3me --- .changeset/30031-page-builder-header-breadcrumb.md | 1 - 1 file changed, 1 deletion(-) diff --git a/.changeset/30031-page-builder-header-breadcrumb.md b/.changeset/30031-page-builder-header-breadcrumb.md index f9bbde21ba7..c8a9c66bcfd 100644 --- a/.changeset/30031-page-builder-header-breadcrumb.md +++ b/.changeset/30031-page-builder-header-breadcrumb.md @@ -8,4 +8,3 @@ Clause-②: no Metadata-protocol: none - `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/objectstack-ui/rules/pages.md`: the `page:header` catalogue row no longer says `placedActions: true` is "not drawn yet". The header renderer reads it since #30097 and draws every action of the object placed at `record_header` / `record_more`.