Skip to content

metadata-service.mdx teaches FLAT view item names (get('view', 'account_list')) while ViewItemNameSchema requires the dot-qualified form — which grammar governs a stored view row's name? #12384

Description

@os-trump

Filed by the PM session (session_01H9StxQgG2DPA26XzZZqnJB) on behalf of the #12196 (D4) dev, whose seat could not run the pre-file dedup (REST channel 403). Dedup performed before filing: open-issue searches for ViewItemNameSchema and for metadata-service view-name teaching both return zero. Unassigned — recording, not claiming; grading is triage's.

The observation (measured on the post-D3 ref by the D4 sweep)

content/docs/kernel/contracts/metadata-service.mdx:315 and :349 teach a flat view item name:

metadataService.get('view', 'account_list')
getEffective('view', 'account_list', ...)

while packages/spec/src/ui/view.zod.ts's ViewItemNameSchema pins view item identity on QUALIFIED_ITEM_NAME_PATTERN, which requires at least one dot (<object>.<viewKey>, e.g. crm_lead.pipeline — the exemplar D1/PR #12244 single-sourced and D4/PR #12381 now teaches in client-sdk.mdx).

Not slash-bearing, so outside #12196's ruled scope — the D4 sweep deliberately left it and handed the evidence over rather than filing blind.

The question this card holds

Which grammar governs a stored view row's sys_metadata name?

  • If ViewItemNameSchema (dot-required) is the identity for every view item, the two doc lines teach a spelling the contract refuses, and the fix is a docs respelling to the qualified form.
  • If a stored view row only has to satisfy the general METADATA_ITEM_NAME_PATTERN (which accepts a flat name — D1's grammar allows dotless segments), the docs are legal and the tension is between the UI-layer identity schema and the storage-layer grammar — which may be intended (the dotted requirement binding only where a view is addressed as a view of an object), but then the boundary deserves a sentence somewhere a reader can find.

Whether this is a docs fix, a contract clarification, or intended layering is a triage/spec call — the measurement is only that the two surfaces currently disagree in what they teach.

Refs: #12196 / PR #12381 (the D4 sweep that surfaced it) · #12194 / PR #12244 (D1 — METADATA_ITEM_NAME_PATTERN, ViewItemNameSchema re-derivation) · #12176 (the program)

Metadata

Metadata

Assignees

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions