Repository navigation
chore(objectui): move the console pin to 7578323a544e (objectui#12200) (#15204 C9) - #23061
Conversation
#15204) Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018yfmohHttjK9aTbKnZLuDr
Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018yfmohHttjK9aTbKnZLuDr
…323a5, and add the pin-citations changeset (#15204) Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018yfmohHttjK9aTbKnZLuDr
Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018yfmohHttjK9aTbKnZLuDr
… at the 7578323a5 pin (#15204) Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018yfmohHttjK9aTbKnZLuDr
📓 Docs Drift CheckThis PR changes 2 package(s): 2 hand-written doc(s) NAME something this change touched and may need an implementation-accuracy re-verification:
⛔ 6 release-owned page(s) also name something this change touched. These are read-only:
What this run could not see
Coarse fallback — 140 page(s) merely mention a changed package (the pre-#9192 predicate, kept for the deliberately-wide backstop): Which tree this was computed onThis run read A worktree cut from an older # while this PR is open — GitHub drops the merge commit once it closes
git fetch origin 3d49a97f5cd10d71844996b15deffcff5b4d831c && git checkout 3d49a97f5cd10d71844996b15deffcff5b4d831c
# afterwards, rebuild it from the two parents, which stay fetchable
git fetch origin e49aaec733d5cebd82a6b2e5521cdaae998b5b8d 2d054b8dde3650223524ce14794549189b82aac9 && git checkout -B drift-repro e49aaec733d5cebd82a6b2e5521cdaae998b5b8d && git merge --no-ff 2d054b8dde3650223524ce14794549189b82aac9
node scripts/docs-audit/affected-docs.mjs --json e49aaec733d5cebd82a6b2e5521cdaae998b5b8d
|
Contract reviewServed-tier: Console pin hop #3 (card #15204, dispatch and claim 6125834452; the first ① Derived judgments(a) The pin and its gate. (b) The SDUI artefacts. (c) The spec source edits. A mechanical sweep of every changed line under (d) The citations, the #22967 class — hunted file by file, not sampled.
(e) The changesets and ADR-0087. The hop adds 31 changesets across 23 of the 25 commits; 2 are release-nothing (
(f) The edited tests. (g) The browser check. 15 options on #23018's 17 is exactly the two anchors removed. objectui#12200 ( (h) No collateral. 20 files: the pin, the two changesets, the regenerated Check-runs on ② Semver level
③ Boundary flags
Implemented-by: VERDICT: PASS Generated by Claude Code |
Seat ACCEPT: #23061 (console pin hop #3, objectui
|
Part of #15204
Clause-②: no
The console pin hop
9646e2ed2bf3→7578323a544e(objectuimain,7578323a544e31d574804ae931b595e8f9f92c21, exactly that commit). This hop exists for objectui#12200 (a491b64a6): theposition-refgrant picker on Setup's user page stops offering the audience anchorseveryoneandguest, which no grant can name. This is the open finding #22967 and #23018 carried.Tier: no governed surface (
GOVERNED_SURFACESinscripts/pm/check-governed-merges.mjs). 20 files, the same shape as #23018.The hop: 25 objectui commits, 288 paths, all on objectui
mainAmong them:
a491b64a6(objectui#12200, the reason for this hop);38bb37333(objectui#12201: app identity moves into the top bar);7578323a5(objectui#12198: a page route's breadcrumb drops the 「Pages」 crumb);f5b66bf97(objectui#12217: an empty gallery draws the grid empty state);334f0cff9(objectui#12191:mailto:through one navigation-target answer);6fb281d64(objectui#12163: a widget'scomponentenvelope takes ametric-cardonly);b2316074a(objectui#12156: file / image size limit ismaxSize);54159d329(objectui#12187: the boot screen's one honest line);fa778e67f(objectui#12190: a locked tier mark instead of a paywall button); and 16 more fixes, CI and docs commits, listed in the console changeset.The pin round, as #23018's
Console Pin Gate steps, run locally (each exited 0):
turbo run build --filter=@objectstack/client....scripts/build-console.shat the pin.check:console-sha: "Console dist matches the objectui pin (objectui@7578323a544e)".check:console-injection --require-stamp.Artefacts that travel with the pin:
scripts/bump-objectui.shgenerated.changeset/console-7578323a544e.md:@objectstack/consoleminor (the level the script derived and the one chore(objectui): move the console pin to 9646e2ed2bf3 (objectui#12185, objectui#12183) (#15204 C9) #23018 used). It has 29 releasing entries, 2 release-nothing and 2 commits with no changeset (listed by subject).Clause-②: nowas added by hand, as in chore(objectui): move the console pin to 9646e2ed2bf3 (objectui#12185, objectui#12183) (#15204 C9) #23018.major, and no commit subject carries!). So the script wrote anadr-0087: TODOplaceholder. It is answerednot-required (no-migration-prescription), the disposition every earlier pin hop with annotated breaking entries used (chore(objectui): bump the console pin to 20c6d351ad74 (carries objectui#12056) #22592, chore(objectui): bump the console pin to a58626c88dc8 (carries objectui#11670 and #11669) #22015, chore(objectui): bump the console pin to 0df67f237c5a (carries objectui#12089) #22812, feat(spec,metadata-protocol)!: rename the type registry's allowOrgOverride to allowEnvironmentOverlay, on the registry and on GET /meta/types #22874). Each entry is answered against this tree:@object-ui/i18npack keys, and feat(runtime): flow clone action — whole-definition copy, mandatory new name, no ancestry (ADR-0126 §7.1) #12190 also renames a test id. Nothing here reads either key or the old test id.componentenvelope that@objectstack/specalready refuses (QUARANTINED_WIDGET_KEYS); no example dashboard authorscomponentordata.maxSizethe one spelling, whichFieldSchemaalready declares; no example or package authors any old key.data-boot-splashmarker.check-adr-0087-registration --base origin/mainreads the disposition;check:objectui-changesetpasses.node scripts/gen-sdui-manifest-node.mjs:sdui.manifest.jsonis byte-identical across the hop (107 components), andscripts/sdui-manifest.record.jsonis re-recorded at the pin.check-sdui-manifestpasses.pnpm gen:sdui-lockstepre-recordspackages/sdui-parser/objectui-lockstep.jsonat7578323a544e. objectui'spackages/sdui-parser/srcis byte-identical across this hop;check:sdui-locksteppasses (214 grammar lines, 25 codes, the predicate). No parser port is owed.git diff --quiet 9646e2ed2bf3 7578323a544e -- <path>, one file at a time. Bare names were resolved by context; the only changed candidate among them, app-shell'sObjectView.tsx, is named only in thekanbanrecord's history.plugin-list/src/ListView.tsx(+34/−79, objectui#12217). One import line was added at:16and a four-line docblock near:1040; the other hunks change lines in place (:10,:12,:1044) or sit at:5677and below.kanban/calendar/timeline/gantt/map/treearms moved +5 (3767/3818/3907/3964/4084/4125-4149).resolveListMapConfigmoved:209→:210,FLAT_MAP_CONFIG_SPELLING:95→:96andresolveTimelineDateBinding695→696.diffof the old and new ranges is empty).calendar/gantt/timeline/maprows, theobject-ganttand flat-TreeConfigrecords, and the map-config record inview.zod.ts. That last record is a dated "RE-READ at pin" record that--verify-anchorscaught: its two quoted anchors were one line off, and both are re-pointed. The tree record's4120-4144is re-pointed too.core/src/actions/ActionRunner.ts(+39/−23, objectui#12191). Eleven import lines were added abovecomposeSuccessMessage, which moved1498→1509with its body byte-identical. TheoutcomeMessagesrecord re-points its anchor, and it and theaction-outcome-messages.test.tsheader say so. The four action renderers are byte-identical.en/zh/depacks: thecalendar.configRequiredstrings did not change and moveden:949→:953,zh:725→:726,de:705→:706.FormField.spanrecords) cites only byte-identical files, and each gains a hop sentence.git grep -o -F, which reproduces every9646e2ed2bf3figure. The corpus is 8600 files, and a superset of every export and key each entry names reads 0 (unrelatedSpan519 /SpanSchema57, unchanged). Controls moved, e.g.objectstack18438 → 18552,timeout1707 → 1686,tenant1393 → 1404.check:objectui-pin-citations --verify-anchors: 55 asserting citations match7578323a5, and 13 quoted anchors verify.content/docs/references/ui/view.mdxwas regenerated by the build (the describe's pin stamp, two rows)..changeset/objectui-pin-citations-7578323a544e.md:@objectstack/specpatch,Clause-②: no.Browser check, against this branch's built console
examples/app-showcasewas booted--fresh(Playwright, Chromium). The walled run used the same local, uncommitted harness as #23018: the@objectstack/organizationsdependency, plusOS_PLATFORM_OWNER_EMAIL=admin@objectos.aiandOS_AUTH_MEMBERSHIP_POLICY=invite-only. Both files were reverted afterwards, and neither is in this diff.position-ref(objectui#12200), undersingle, as the operator, on a user's Positions tab: the picker lists 15 positions, and neithereveryonenorguestis offered (chore(objectui): move the console pin to 9646e2ed2bf3 (objectui#12185, objectui#12183) (#15204 C9) #23018 measured 17, with both). Pickingauditorand pressing Create wrote the grant (POST /data/sys_user_position→ 201, confirmed via the data API).permission-refis unchanged: 18 sets, andshowcase_auditorwas written (201).isolated, serveddegradedTenancy: false). The tenant holds org-scopedmanage_metadata, hasisPlatformAdmin: false, and gets a server 403 onPUT /meta/position. On position / permission-set lists and editors it sees no New / Save / Clone and the walled reasons (catalog-readonly-reason,walled-catalog-readonly-banner,perm-walled-readonly). The operator gets New, Save and an editable position editor, and a label edit auto-saved (PUT /meta/position/wall_demo_pos?mode=draft→ 200). Unchanged from chore(objectui): move the console pin to 9646e2ed2bf3 (objectui#12185, objectui#12183) (#15204 C9) #23018.38bb37333), on the showcase app and on Setup: the app pill (glyph, name, chevron) sits at the left edge, the platform mark is gone and PREVIEW sits beside search, the Studio entry reads "Edit app", and the sidebar has no logo header. The page breadcrumb goes app › page with no 「Pages」 crumb (objectui#12198). No page errors.Verification (local)
turbo run buildgreen (74/74, none cached);check:generatedgreen;dispatch-gates --ran: 125 derived families. The sweep was running when this draft opened, and its verdict follows in a comment, as on chore(objectui): move the console pin to 9646e2ed2bf3 (objectui#12185, objectui#12183) (#15204 C9) #23018.🤖 Generated with Claude Code
https://claude.ai/code/session_018yfmohHttjK9aTbKnZLuDr