Parent: objectstack-ai/objectstack#20299
A sub-issue of objectstack-ai/objectstack#20299 (family display-annotations, triage verdict ENFORCE, grade 5859600931), split per triage's shape: 「domain:spec parent, with an objectui domain:ui sub-issue」. Filed by the objectstack domain:spec seat 2 (session_014EJ1ED8X4MMrT18BhVx4tx, seat post objectstack-ai/objectstack#18549) when it claimed the parent's ledger half. ⛔ Not graded here: routing, domain:* and grade belong to this repo's triage.
Why
Four authored display keys are parsed and published by @objectstack/spec, but no Studio surface shows them to a human. The objectstack liveness ledger records each as dead. Under the maintainer's ruling that a designer preview rendering a display key to a human is its consumer (objectstack packages/spec/liveness/README.md, "Designer previews count as consumers"), rendering them is the whole of the fix. Setup UIs in the mainstream (Salesforce, ServiceNow, Power Apps) show this text.
What this repo does today (read at objectui dd3f7e1be, objectstack's .objectui-sha)
All paths are under packages/app-shell/src/views/metadata-admin/previews/.
| key |
ledger row (objectstack) |
today |
app.areas[].description |
liveness/app.json areas.description |
AppPreview.tsx reads no areas at all. |
permission.rowLevelSecurity[].label |
liveness/permission.json rowLevelSecurity.label |
PermissionPreview.tsx:129 reads the array, and :182 renders only a count pill (engine.permissionPreview.pill.rls). |
permission.rowLevelSecurity[].description |
liveness/permission.json rowLevelSecurity.description |
Same as label: count only. |
view container label |
liveness/view.json label |
ViewPreview.tsx:167 reads it into a single injected list view. But packages/plugin-view/src/ObjectView.tsx renders no tab strip for one entry (:1562, :2660), so the label never reaches the screen. |
The change
AppPreview renders each area's description beside its label.
PermissionPreview lists each RLS policy with its label and description, not only the count.
ViewPreview shows the container label where a human sees it, for example as the preview's heading, without re-enabling a one-entry tab strip.
- A missing value is the control in each case: nothing renders and nothing falls back to invented text.
- Preview chrome goes through the designer locale, like the other preview strings.
⛔ Out of scope:
flow.description, hook.label and hook.description. ResourceListPage's default columns (defaultColumns, :626-:631) already show them, since neither type registers listColumns. The parent's ledger half cites that reader. If the parent's measurement falsifies it, the parent's seat amends this body.
- A
HookPreview, for the same reason.
Acceptance
- Each of the four keys is visible in its preview when authored, and absent when not. A pin per preview asserts both cases.
- Once this lands and objectstack's
.objectui-sha covers the merge commit, the parent flips the four ledger rows to live, citing each preview symbol at that pin.
Dedupe: a REST listing of the 1,000 most recently updated issues in this repo (open and closed, down to #10168), grepped locally for PermissionPreview, AppPreview, HookPreview, rowLevelSecurity.label / .description, areas.description and objectstack#20299, gave 4 hits. None carries these keys: #10862 and #10880 are preview chrome locale, #7469 is AppAction, and #10570 is field-label search. The parent's seat-4 measurement 5880539559 found no carrier either.
Dedupe words: metadata-admin preview area description · PermissionPreview RLS policy label description · ViewPreview container label one-entry tab strip
Parent: objectstack-ai/objectstack#20299
A sub-issue of objectstack-ai/objectstack#20299 (family
display-annotations, triage verdict ENFORCE, grade5859600931), split per triage's shape: 「domain:specparent, with an objectuidomain:uisub-issue」. Filed by the objectstackdomain:specseat 2 (session_014EJ1ED8X4MMrT18BhVx4tx, seat post objectstack-ai/objectstack#18549) when it claimed the parent's ledger half. ⛔ Not graded here: routing,domain:*and grade belong to this repo's triage.Why
Four authored display keys are parsed and published by
@objectstack/spec, but no Studio surface shows them to a human. The objectstack liveness ledger records each asdead. Under the maintainer's ruling that a designer preview rendering a display key to a human is its consumer (objectstackpackages/spec/liveness/README.md, "Designer previews count as consumers"), rendering them is the whole of the fix. Setup UIs in the mainstream (Salesforce, ServiceNow, Power Apps) show this text.What this repo does today (read at objectui
dd3f7e1be, objectstack's.objectui-sha)All paths are under
packages/app-shell/src/views/metadata-admin/previews/.app.areas[].descriptionliveness/app.jsonareas.descriptionAppPreview.tsxreads noareasat all.permission.rowLevelSecurity[].labelliveness/permission.jsonrowLevelSecurity.labelPermissionPreview.tsx:129reads the array, and:182renders only a count pill (engine.permissionPreview.pill.rls).permission.rowLevelSecurity[].descriptionliveness/permission.jsonrowLevelSecurity.descriptionlabel: count only.viewcontainerlabelliveness/view.jsonlabelViewPreview.tsx:167reads it into a single injected list view. Butpackages/plugin-view/src/ObjectView.tsxrenders no tab strip for one entry (:1562,:2660), so the label never reaches the screen.The change
AppPreviewrenders each area'sdescriptionbeside its label.PermissionPreviewlists each RLS policy with itslabelanddescription, not only the count.ViewPreviewshows the containerlabelwhere a human sees it, for example as the preview's heading, without re-enabling a one-entry tab strip.⛔ Out of scope:
flow.description,hook.labelandhook.description.ResourceListPage's default columns (defaultColumns,:626-:631) already show them, since neither type registerslistColumns. The parent's ledger half cites that reader. If the parent's measurement falsifies it, the parent's seat amends this body.HookPreview, for the same reason.Acceptance
.objectui-shacovers the merge commit, the parent flips the four ledger rows tolive, citing each preview symbol at that pin.Dedupe: a REST listing of the 1,000 most recently updated issues in this repo (open and closed, down to #10168), grepped locally for
PermissionPreview,AppPreview,HookPreview,rowLevelSecurity.label/.description,areas.descriptionandobjectstack#20299, gave 4 hits. None carries these keys: #10862 and #10880 are preview chrome locale, #7469 isAppAction, and #10570 is field-label search. The parent's seat-4 measurement5880539559found no carrier either.Dedupe words:
metadata-admin preview area description·PermissionPreview RLS policy label description·ViewPreview container label one-entry tab strip