Skip to content

studio: show the authored label / description on flows, hooks, app areas, RLS policies and the view container (7 keys) #20299

Description

@objectstack-fleet

Filing gate: ① a declared≠enforced family, filed as one sweep card per family under ruling A′ item ④ on #18900 (5727134555). This is triage's standing request 5857165909 on the seat post. Family display-annotations, seat verdict ENFORCE.

  • reach: the declared authoring door. packages/spec parses these keys and publishes them in the reference docs. The liveness ledger rows cited below record them as not enforced, and the census re-measured the reader side (§5 cross-checks, each with a lit control).
  • The criterion is the maintainer's: 「每族该问的是:主流平台有没有这个能力 —— 有 ⇒ 补消费端(一次做对);没有 ⇒ 退役,而不是看仓里有没有人读」.
  • The maintainer's one word, per ruling A′ ④: ENFORCE (the seat's proposal: the mainstream has it, so build the consumer once, correctly) or RETIRE (retire the keys together with their ledger rows).
  • ⚠️ Tension, stated for the maintainer's word: these rows were marked by the 2026-07-30 sweep as 「KEPT … exempt from enforce-or-remove (ADR-0033); do not re-litigate」. Building a renderer does not re-open their removal, but it changes their disposition, so the one word here is the maintainer's.

Census by the domain:spec execution seat 1 (session_01Rjy9MeetSfq34PKn81CRiN, seat post #6017), 2026-09-27. Bases: objectstack a9fb83ef, re-checked against 4d7e740d, where no ledger file or cited surface moved; objectui 6fa5f64a1 (pin f8a9d0fb); cloud 96eb092. Ledger instrument: check-liveness.mts --json, whose byStatus equals the committed state-counts.md row for row. ⛔ Filed bare: routing and grading belong to triage. ⛔ Not a claim. The ranking is by value, user-visible risk × keys. This family's rank is 10 of 16. The sibling family cards filed so far are #20273, #20274, #20281, #20282, #20287, #20288, #20289, #20294 and #20295.

Capability: Human-readable label and description of a metadata item, shown in the builder or admin UI

key ledger status ledger row what the ledger cites
app.areas.description dead (verified 2026-08-01) packages/spec/liveness/app.json:183 note: display annotation no surface renders. Benign — docs-shaped, kept, not warned (hook.label precedent). VERDICT RE-TESTED AND UPHELD 2026-08-10 (#7427) under the previews ruling (#7131; README, 'Designer previews count as consumers'): 'no surface renders' is …
flow.description dead packages/spec/liveness/flow.json:25 evidence: no reader either layer
hook.label dead packages/spec/liveness/hook.json:87 evidence: pure docs, zero runtime readers (runtime uses only name)
hook.description dead packages/spec/liveness/hook.json:92 evidence: pure docs, zero runtime readers; redundant with label
permission.rowLevelSecurity.label dead (verified 2026-08-10) packages/spec/liveness/permission.json:169 note: CORRECTED 2026-07-30 (was live with no evidence): no consumer in either repo. VERDICT RE-TESTED AND UPHELD 2026-08-10 (#7427) against the maintainer ruling that a designer preview rendering a key to a human is a runtime consumer (2026-08-10, #7131; README, …
permission.rowLevelSecurity.description dead (verified 2026-08-10) packages/spec/liveness/permission.json:175 note: CORRECTED 2026-07-30 (was live with no evidence): same closure as label. RE-TESTED AND UPHELD 2026-08-10 (#7427) with label, same measurement at objectui @e9ab52f9 — the permission preview counts RLS policies (PermissionPreview.tsx:164) and renders no fie…
view.label dead (verified 2026-08-10) packages/spec/liveness/view.json:11 note: Display metadata on the container with no runtime consumer. VERDICT RE-TESTED AND UPHELD 2026-08-10 (#7427) under the maintainer ruling that a designer preview rendering a key to a human is a runtime consumer (2026-08-10, #7131; README, 'Designer previews c…

Mainstream evidence:

  • Salesforce Setup: flows show Description in the Flows list and Flow properties; sharing rules have Label + Description; App Manager shows app descriptions.
  • ServiceNow: Business Rules and ACLs have a Description field on their forms.
  • Dataverse / Power Apps: app descriptions and view descriptions in the designers. Sitemap-area descriptions are UNVERIFIED.

Verdict: ENFORCE — the mainstream has the capability, so build the consumer once, correctly.

Reader that must exist / disposition: objectui metadata-admin previews (packages/app-shell/src/views/metadata-admin/previews): FlowPreview renders the flow description; PermissionPreview renders each RLS policy's label and description (today only ${rls.length} RLS rules, :168); AppPreview renders area descriptions; a HookPreview is NEW (none is registered for hook); ViewPreview makes the container label reachable (the ledger measures the read but not the render).

User-visible risk (1): Display-only. The ledger calls these rows docs-shaped and benign. ⚠️ Tension: they are "KEPT … exempt from enforce-or-remove (ADR-0033); do not re-litigate". Adding a renderer re-litigates nothing about removal, but it still needs the maintainer's word.

Acceptance: Every ledger row listed leaves dead/planned/experimental for live, citing the new reader as file#symbol (and a producer where the read depends on a supplied input); pnpm check:liveness green; the family's byStatus in state-counts.md regenerated.

Lane: objectui (domain:ui) with a spec-seat parent for the ledger flips

File surface: objectui packages/app-shell/src/views/metadata-admin/previews/{FlowPreview,PermissionPreview,AppPreview,ViewPreview}.tsx + new HookPreview · packages/spec/liveness/{app,flow,hook,permission,view}.json

Dedupe: areas\.description \| flow\.description \| hook\.(label\|description) \| rowLevelSecurity\.(label\|description\|tags) \| view\.label\b \| HookPreview → 3 open hits. None carries a key of this family:

四轴:

Blocked-by: objectstack-ai/objectui#11199

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions