Filed unassigned and ungraded as an out-of-scope finding by the dev on #16227, whose repair was bounded to the nine leaves that card enumerates. ⛔ domain:*, priority and type are triage's.
What is stale
metadataForms.object.fields.fields.reference.helpText, measured on origin/main at 56ee7aef1d:
| locale |
value |
en (= the source's copy) |
Target object name. For a tree field it is optional and, if given, must be this object (a tree is a hierarchy within its own object — link a different object with a lookup) |
| es-ES |
Objeto de destino (para lookup/master_detail) |
| ja-JP |
「対象オブジェクト(lookup/master_detail 用)」 |
| zh-CN |
「目标对象(用于 lookup / master_detail)」 |
All three translated locales fail the census's own test in both of its halves at once:
- they drop a distinct concept the source names — the entire tree-field rule, which is normative and enforced at parse;
- they assert something the source does not — that
reference is for lookup / master_detail, which the current source no longer says and which the tree case contradicts.
The source sentence they translate is Target object name, and nothing more. That is what the leaf said until 2026-09-05.
Why this is not covered by an existing card, and not a reversal of a threshold
⚠️ This leaf is named in the #14587 census — in its explicitly-enumerated "18 more are looser paraphrases — same information, different emphasis — and are NOT in the count" list, where its source is recorded as Target object name. That classification was correct against the source as it then stood, and this card ⛔ does not reopen it.
What changed is the source, afterwards:
fb77aa541f 2026-09-05 22:43:37 +0000
feat(spec)!: a `tree` field's `reference`, when present, must name the declaring object
— refused at parse otherwise (#14892) (#15979)
Before that commit en.metadata-forms.generated.ts carried helpText: "Target object name". So the census only ever judged this leaf against the short sentence; the long one has never been assessed in any locale. That makes this a fresh measurement rather than a re-litigation of a deliberate threshold call.
Why no instrument reports it
es-ES.source-hashes.generated.ts and its siblings record a digest only while a leaf is still a byte copy of its source, and the extractor drops the entry as soon as a translator writes real text. All three locales here hold real translations, so all three carry no entry, are LEGACY-TRUSTED, and are never reported stale — the coverage hole documented in source-hash.ts's own header. Verified on this tree: pnpm check:i18n, pnpm check:i18n-stale-fill and pnpm check:i18n-coverage are all green over this leaf.
⛔ This card does not propose a gate. #14931 already ruled that a second stale-detection instrument is debt rather than fix, and that whether a gate should exist is a maintainer call.
Extra weight, for triage
Unlike a wording nit, the dropped sentence is the user-facing half of an enforced constraint: a tree field whose reference names a different object is refused at parse. An author reading the Spanish, Japanese or Chinese console is told reference is for lookup / master_detail, gets no hint that a tree's reference must be the declaring object, and meets the rule as a parse failure instead.
Bounded
One leaf, three locales. The label sibling (Reference / Referencia / 「参照」) is unaffected. The other leaves surfaced by the same sweep were either repaired in #16227's PR or are already inside the census's recorded threshold list.
Related: #16227 · #14587 (the census and its threshold list) · #14931 · #15979 (the source edit).
Filed unassigned and ungraded as an out-of-scope finding by the dev on #16227, whose repair was bounded to the nine leaves that card enumerates. ⛔
domain:*, priority and type are triage's.What is stale
metadataForms.object.fields.fields.reference.helpText, measured onorigin/mainat56ee7aef1d:en(= the source's copy)Target object name. For a tree field it is optional and, if given, must be this object (a tree is a hierarchy within its own object — link a different object with a lookup)Objeto de destino (para lookup/master_detail)All three translated locales fail the census's own test in both of its halves at once:
referenceis forlookup/master_detail, which the current source no longer says and which the tree case contradicts.The source sentence they translate is
Target object name, and nothing more. That is what the leaf said until 2026-09-05.Why this is not covered by an existing card, and not a reversal of a threshold
Target object name. That classification was correct against the source as it then stood, and this card ⛔ does not reopen it.What changed is the source, afterwards:
Before that commit
en.metadata-forms.generated.tscarriedhelpText: "Target object name". So the census only ever judged this leaf against the short sentence; the long one has never been assessed in any locale. That makes this a fresh measurement rather than a re-litigation of a deliberate threshold call.gaphelpText leaves went stale on the same source edit as the zh-CN one — same class, two more locales #16165 and 613 zh-CN metadata-forms leaves are LEGACY-TRUSTED — imported once from a pre-consolidation hand vocabulary, never compared against source, and 26 of them are wrong. No instrument in the repo can judge them. #14931 concern other leaves of the same class and do not reach this one.Why no instrument reports it
es-ES.source-hashes.generated.tsand its siblings record a digest only while a leaf is still a byte copy of its source, and the extractor drops the entry as soon as a translator writes real text. All three locales here hold real translations, so all three carry no entry, are LEGACY-TRUSTED, and are never reported stale — the coverage hole documented insource-hash.ts's own header. Verified on this tree:pnpm check:i18n,pnpm check:i18n-stale-fillandpnpm check:i18n-coverageare all green over this leaf.⛔ This card does not propose a gate. #14931 already ruled that a second stale-detection instrument is debt rather than fix, and that whether a gate should exist is a maintainer call.
Extra weight, for triage
Unlike a wording nit, the dropped sentence is the user-facing half of an enforced constraint: a
treefield whosereferencenames a different object is refused at parse. An author reading the Spanish, Japanese or Chinese console is toldreferenceis forlookup/master_detail, gets no hint that a tree'sreferencemust be the declaring object, and meets the rule as a parse failure instead.Bounded
One leaf, three locales. The
labelsibling (Reference/Referencia/ 「参照」) is unaffected. The other leaves surfaced by the same sweep were either repaired in #16227's PR or are already inside the census's recorded threshold list.Related: #16227 · #14587 (the census and its threshold list) · #14931 · #15979 (the source edit).