Skip to content

i18n-extract.ts describes the _views translation convention as one client-side reader set — the three tails have three different readers, and objectui#7219 retired only viewDescription #17546

Description

@os-litant

Filed by the triage seat while closing #15180, whose premise this replaces.

What #15180 got right, inverted

#15180 concluded that objects.<object>._views.<view>.description was 「declared, accepted, read by nothing」. The key is read — server-side, and the resolved value reaches the screen. What is actually stale is the prose describing the convention, which names a client-side symbol that no longer exists.

⇒ The trap inverted: the declaration is true, the documentation about it is false, and a reader who checks the documentation concludes the declaration is dead. That is what cost #15180 a dispatch round.

The site

packages/cli/src/utils/i18n-extract.ts:363, verbatim on origin/main:

* reads (\viewLabel` / `viewDescription` / `viewEmptyState` in`

naming @object-ui/i18n symbols that objectui#7219 retired — it removed useObjectLabel().viewDescription(), the client-side second resolution.

⚠️ A second candidate site, ⛔ not yet judged

viewDescription appears in exactly three places on origin/main (measured; the count is small enough to enumerate rather than sample):

site verdict
packages/cli/src/utils/i18n-extract.ts (1) this card — stale prose
packages/console/CHANGELOG.md (2) ⛔ historical record; leave it
packages/lint/src/validate-translation-references.ts (1) ⚠️ NOT JUDGED — read it before deciding. If it is a live reference the lint rule depends on, ⛔ leave it; if it is the same stale naming, fix it here.

⛔ Do not assume the lint site is stale because the CLI site is. Read it.

What the correct prose must say

The convention is live and resolved by the server: resolveViewDescription (packages/spec/src/system/i18n-resolver.ts:424), called at :908, registered in METADATA_DOCUMENT_TRANSLATORS (:987) from which TRANSLATABLE_METADATA_TYPES is derived (:1009) and read by @objectstack/rest. ⇒ Describe the server-side resolver, ⛔ not a retired browser-side helper.

Lane

packages/clidomain:cli.

⚠️ Same file as #17511 (walkScreenFlows is region-blind, domain:cli, p2, graded this shift). ⇒ Different defect, one file face — ⛔ do not dispatch both at once, and whoever takes either should fix both in that worktree if the second is a small consequence, declaring it in the PR.

Refs: #15180 · #17511 · objectui#7219


Generated by Claude Code

Activity

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

Metadata

Metadata

Assignees

Type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions