Skip to content

Commit 51e804c

Browse files
chore(console): move the objectui pin 6fb31dc → 2958f17, past objectui#13427, so the console builds against the spec's external role (#25546)
<!-- claude-projects-attribution: {"github_login":"os-sales"} --> _Requested by **Sales** · [project thread](https://claude.ai/code/project/chan_01D5bWFY3rFzgJcytD5gD4Uu?thread=cmsg_01D5bWFY3rFzgJcytD5gD4UuUEiL7Whkdn2bgECeG7DDX9)_ Fixes #25537 Part of #25438 Clause-②: no Metadata-protocol: none This PR moves the console pin from `6fb31dcc9954` to `2958f17e9c6a`. That is objectui `main` at `2958f17e9c6add35636bb07aa9da4b1dcb1daa5f`, the merge of objectstack-ai/objectui#13429, which fixes objectstack-ai/objectui#13427. It is objectui `origin/main`'s tip, and `6fb31dcc9954` is its ancestor (34 commits). **Why.** #25515 added the `external` role to the spec's built-in membership roles. objectui's `ORG_ROLE_LABELS` at `6fb31dcc9954` is a record keyed by every `OrgRole`, with no `external` entry, so `@object-ui/auth` fails its build against this tree's spec. That is the Console Pin Gate and Spec Shape Gate red on `main` (#25438). objectstack-ai/objectui#13429 adds the label and types the table so it compiles against the spec on both sides of #25515. At this pin, `pnpm objectui:build` on this branch builds the console with no local patch. This PR is marked `Part of` #25438, not `Fixes`. #25438 closes when the hourly Console Pin Gate and Spec Shape Gate go green on `main`. **Branch.** The harness assigned the branch `claude/project-thread-75czxa`; the card's `Claim:` (6375839808) names it. ## The diff The same four files as the earlier pin moves #25455, #25358 and #25262. The repo's own tooling wrote each one; none was edited by hand. - `.objectui-sha` and `.changeset/console-2958f17e9c6a.md`: `OBJECTUI_ROOT=/home/claude/objectui OBJECTUI_NO_DEEPEN=1 bash scripts/bump-objectui.sh 2958f17 --no-commit` exited 0. It printed "6fb31dcc9954..2958f17 walks completely", "32 releasing changeset(s), 0 breaking" and "(on origin/main)". - `scripts/sdui-manifest.record.json`: `NODE_OPTIONS=--max-old-space-size=6144 pnpm objectui:build` exited 0 with "@objectstack/console dist ready (65900 KB) from objectui@2958f17e9c6a" and "Console bundle carries THIS tree's @objectstack/spec, and only it". Then `node scripts/gen-sdui-manifest-node.mjs` ran: 107 components, sha256 `d1fde278ffd6…`. `sdui.manifest.json` is byte-identical, so only its provenance record moves. `node scripts/check-sdui-manifest.mjs` passes. - `packages/sdui-parser/objectui-lockstep.json`: `OBJECTUI_ROOT=.cache/objectui-2958f17e9c6a pnpm gen:sdui-lockstep` recorded 214 region lines, blob `0131f27cf86d`, and 25 diagnostic codes. `pnpm check:sdui-lockstep` passes. `pnpm check:console-sha` passes. ## The changeset `scripts/objectui-changeset-digest.mjs` derived it from the 33 changesets objectui added over `6fb31dcc9954..2958f17`, across 34 non-merge commits (32 releasing, 1 release-nothing, 1 commit with no changeset, listed by subject). objectui declared `minor`; under ruling A (#25105) a console refresh is recorded as `patch` with `Metadata-protocol: none`. #25455's `console-6fb31dcc9954.md` covers the range before this one, so the two do not overlap. ## The built console - The injection stamp carries a real witness: `skew: true`, against objectui's own vendored spec at objectstack `915e9404992234a7cd0d2dd4701dfbadbe9cb2c7`. The fresh witness (an injected-only description) is present, and the stale detector "Member role (owner, admin, delegated_admin, member" (the pre-#25515 role description) is absent. So the bundle carries this tree's spec, the one with `external`. - `node scripts/check-console-injection.mjs --require-stamp` exit 0. Single-zod canary: one zod literal (4.6.7). ## F1 re-test Ruling 6262099137 item 2 re-runs the F1 re-test when `.objectui-sha` moves before the cut. It runs on this branch's console at this pin; the reading is posted on #15194 and in the card's `os-dev-report`. ## Out of scope - No objectui source changes here, and no product code, `.github/workflows/**`, `scripts/build-console.sh` or `content/docs/releases/`. - This PR is not a release act and does not touch the Version Packages PR #24876. After it lands, refreshing #24876 is the maintainer's action. - objectui's own `.objectstack-sha` stays at `915e9404` (before #25483), as the objectui card ruled; that pin is not this repo's. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01RpaQUYs7rsJJJj35xjQPeK --- _Generated by [Claude Code](https://claude.ai/code/session_01RpaQUYs7rsJJJj35xjQPeK)_ --------- Co-authored-by: Claude <noreply@anthropic.com>
1 parent ab596f8 commit 51e804c

4 files changed

Lines changed: 54 additions & 6 deletions

File tree

‎.changeset/console-2958f17e9c6a.md‎

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
---
2+
"@objectstack/console": patch
3+
---
4+
5+
Console (objectui) refreshed to `2958f17e9c6a`. Frontend changes in this range:
6+
7+
Derived from the changesets objectui declared over the range — 32 releasing of 33 changesets added across 34 non-merge commits; omitted: 1 release-nothing changeset, 1 commit carrying no changeset (they ship no package code).
8+
9+
- **minor** — The console knows the `external` organization role that objectstack#25515 added to `@objectstack/spec`'s membership vocabulary (objectui#13427). Without it `ORG_ROLE_LABELS` no lo… (objectui `2958f17e9`)
10+
- **minor** — A record page inside the Setup app no longer draws the floating managed-by badge (the amber "Identity" chip at the top-right of an organization, team, business unit or user record… (objectui `d9aff15b3`)
11+
- **minor** — An action's `confirmText`, `successMessage` and `errorMessage` read the `template` envelope and fill `{{ }}` holes (objectui#13367). (objectui `8e90779dc`)
12+
- **minor** — Grids: hovering a `lookup` or `master_detail` cell no longer shows the referenced record's raw id (objectui#13377). (objectui `f1a4b0895`)
13+
- **minor** — On a cloud-managed environment (`features.cloudManaged: true` from `/auth/config`), the console says what the server already enforces. Setup → Users shows one line saying where pe… (objectui `ff77cfc22`)
14+
- **patch** — A record-scoped flow action launched from a list toolbar with 0 or several rows selected is refused before its param dialog opens, and its refusal is translated (objectui#13397). (objectui `4eeb1740e`)
15+
- **patch** — A page-level `object-chart` bound to a `dataset` now draws a select dimension in the order its field declares its options, the order the dashboard's dataset widget already uses fo… (objectui `b317942cf`)
16+
- **patch** — charts: a sankey now names every node and colours its flows, and a funnel labels every stage. Sankey nodes were bare bars with no text and every link was one grey, so the chart co… (objectui `2c3dc7281`)
17+
- **patch** — A single-record action launched with 0 or several rows selected is refused before any dialog opens, and the refusal is translated (objectui#13384). (objectui `7f60e9d05`)
18+
- **patch** — fix(plugin-list): the synthetic "All records" tab of a tabs-mode user-filter bar (`showAllRecords`) now reads its label from the new `list.userFilters.allRecords` i18n key, filled… (objectui `ad74e9821`)
19+
- **patch** — Setup → Permission Sets → Assigned Users: Remove asks first, and the add picker offers organization members only (objectui#13408), the same shape as the positions page (objectui#1… (objectui `130c77d59`)
20+
- **patch** — charts: a line or area chart no longer cuts its first or last x-axis label at the chart's edge. recharts draws their categorical x axis as a point scale, which puts the edge categ… (objectui `eadceabb1`)
21+
- **patch** — A boolean renders the same whatever its name (objectui#13412). `BooleanCellRenderer` drew a red destructive "LABEL — Off" badge for `false` when the field was named `active`, `is_… (objectui `cee3bc5cf`)
22+
- **patch** — Integrations → Connect an AI agent no longer mints an API key in one click (objectui#13383). "Generate key" stays disabled while the name box is blank or whitespace-only, and the… (objectui `3a8a11758`)
23+
- **patch** — zh-CN: the admin-override approval copy no longer calls the override 越权 ("exceeding one's authority", the word for a violation). The override levers now read 管理员代为通过 / 管理员代为拒绝 / 管… (objectui `afcf6544d`)
24+
- **patch** — A Setup settings page reads its namespace again after a successful save or action, and takes the whole answer, manifest included (objectui#13382). The server computes parts of a n… (objectui `d17f67081`)
25+
- **patch** — An action run from a record page's action bar with an `onSuccess.navigate` to a path with no app segment opens that page in the record page's app (objectui#13396). (objectui `4b1ddf3e0`)
26+
- **patch** — Studio says when a display name yields no identifier, and Add field no longer names a field `field_<N>` behind the author's back (objectui#13389). (objectui `78e00db7f`)
27+
- **patch** — Changing the ⌘K query no longer blanks the console (objectui#13387). (objectui `01b85d8f8`)
28+
- **patch** — After a save, delete or action, the record page and the list ask the platform's explain engine each record's edit and delete question once (objectui#13341). (objectui `b93c9f695`)
29+
- **patch** — Setup → Positions: a new position is created together with its permission sets, Save is labelled, Remove holder asks first, and the holder picker offers organization members only… (objectui `3ec84bee5`)
30+
- **patch** — An action's `onSuccess.navigate` to a path with no app segment opens that page in the current app (objectui#13379). (objectui `6183aa90f`)
31+
- **patch** — A form field entry whose `label`, `placeholder` or `helpText` is an inline locale map (`{ en, 'zh-CN' }`) now renders in the visitor's language, on the public form `/f/:slug` and… (objectui `4824ad743`)
32+
- **patch** — Setup → Packages: in a package's sheet, *Adopt loose items* asks in the in-app confirmation, reports how many items it adopted, and each action clears the previous action's messag… (objectui `8d305ab56`)
33+
- **patch** — Setup → Installed Apps is titled "Installed Apps" and says when no app is installed from the marketplace yet (objectui#13356). (objectui `3a73c07b3`)
34+
- **patch** — A metadata form row now shows the field's label only (objectui#13352). `SchemaForm`'s default row used to draw the field's machine key in a code chip beside the label whenever the… (objectui `5b40cea5c`)
35+
- **patch** — Connect an Agent no longer mints an unnamed API key in one click (objectui#13355). "Create key" stays disabled until the administrator types a name, and the name is sent as typed:… (objectui `fa31856db`)
36+
- **patch** — A lookup / master-detail / tree value whose referenced record the viewer's own read answers "not found" for (a 404, which is what the server answers for a record this viewer may n… (objectui `ec627aba1`)
37+
- **patch** — A screen flow that ends refused shows its message and Close alone (objectui#13342). (objectui `05049f87c`)
38+
- **patch** — Setup refusals lead with one plain sentence. The Packages sheet, the metadata editor's error banner (Positions and every other metadata type) and the action parameter dialog (OAut… (objectui `241cb78bd`)
39+
- **patch** — Setup › Packaged automation: the Clone dialog now opens with a name and label filled in (objectui#13344). (objectui `0f4adc38b`)
40+
- **patch** — The record header's highlights write the year on every date (objectui#13331). (objectui `49a536dd0`)
41+
42+
**In this console build, declared nowhere** — objectui merged 1 commit in this range with no `.changeset/*.md`. The code is inside the pin above and ships here, but nothing upstream declared it, so it appears in no objectui CHANGELOG and in no entry above. Listed by subject rather than counted, because a count cannot tell a dependency bump from a form-behaviour change (objectstack#6174); the upstream gate that would prevent this is objectui#3387.
43+
44+
- _(no changeset)_ chore(deps): lock vite 8.3.5 and pin next 16.3.8, with no manifest range moved (takes over #13288, #11845) (#13399) (objectui `889d02894`)
45+
46+
Metadata-protocol: none (the console refresh changes no key, value or type a metadata author writes)
47+
48+
objectui range: `6fb31dcc9954...2958f17e9c6a`

‎.objectui-sha‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
6fb31dcc9954844b2631ecfa96e999c4f73c4881
1+
2958f17e9c6add35636bb07aa9da4b1dcb1daa5f

‎packages/sdui-parser/objectui-lockstep.json‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66
],
77
"objectui": {
88
"repo": "https://github.com/objectstack-ai/objectui.git",
9-
"rev": "6fb31dcc9954844b2631ecfa96e999c4f73c4881",
10-
"revDate": "2026-10-23T14:03:06+00:00",
9+
"rev": "2958f17e9c6add35636bb07aa9da4b1dcb1daa5f",
10+
"revDate": "2026-10-23T22:00:30+00:00",
1111
"source": "packages/sdui-parser/src",
1212
"files": [
1313
"packages/sdui-parser/src/body-dialect.ts",
@@ -21,7 +21,7 @@
2121
"packages/sdui-parser/src/validate.ts"
2222
]
2323
},
24-
"recordedAgainstPin": "6fb31dcc9954844b2631ecfa96e999c4f73c4881",
24+
"recordedAgainstPin": "2958f17e9c6add35636bb07aa9da4b1dcb1daa5f",
2525
"grammarRegion": {
2626
"file": "packages/sdui-parser/src/parse.ts",
2727
"delimiter": "/* ---------------------- the JS literal subset (#6614) ---------------------- */",

‎scripts/sdui-manifest.record.json‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@
1111
"a pin bump without regeneration goes RED there — that is the anti-rot half of the freshness gate.",
1212
"Regenerate + re-record: pnpm objectui:build && node scripts/gen-sdui-manifest-node.mjs"
1313
],
14-
"objectuiSha": "6fb31dcc9954844b2631ecfa96e999c4f73c4881",
14+
"objectuiSha": "2958f17e9c6add35636bb07aa9da4b1dcb1daa5f",
1515
"source": "built-tree",
16-
"modulesRoot": ".cache/objectui-6fb31dcc9954/apps/console",
16+
"modulesRoot": ".cache/objectui-2958f17e9c6a/apps/console",
1717
"objectuiWorkspaceVersion": "18.0.0",
1818
"generator": "scripts/gen-sdui-manifest-node.mjs",
1919
"generatedAt": "2026-10-23",

0 commit comments

Comments
 (0)