Repository navigation
Commit 4045781
fix(platform-objects): decide the standalone field panel en-echoes per leaf, and close the composite blind spot (#19485)
Part of #19403
Clause-②: no
## What this is
Round 4 of this card. One panel family, decided **leaf by leaf**. The
deliverable is a per-leaf judgement with its reason recorded, not 18
translations; every leaf below was decided on its own evidence, and the
verdicts with their reasons live in a ledger the suite reads
(`field-panel-echo-decisions.test.ts`), not only in this body.
**The family: the nine echoing keys of the standalone `field` metadata
form** — the field editor reached on its own, as opposed to the one
embedded in the object panel. Both string leaves of each are decided.
Not `Fixes` — this is one family of the card's population, and the card
outlives this round. **Five families remain** (29 label keys / 51
leaves), tabled at the foot of this body.
## The headline number measures half the work — so this round sized
itself from LEAVES
The card records "38 keys remaining". Every count it has carried counts
`.label` leaves, while nearly every label key carries a sibling
`helpText` that echoes with it and that no `.label` census sees. Derived
per family on this base, the two 9-key rows the round-3 table left are
**not the same size**:
| row | label keys | echoing string leaves |
|:--|--:|--:|
| `field.fields.*` — the standalone field panel | 9 | **18** |
| `object.fields.enable.*` (+ `validations`) | 9 | **11** |
`object`'s nine keys are mostly bare capability checkboxes with no
`helpText` (seven of the nine carry only a `label`). ⇒ **the largest
family the round-3 table leaves is this one, by leaves rather than by
keys**, and that is the rule the card means now that the headline has
been corrected. The round-3 table is otherwise **not stale**: re-derived
from the census on base `fbc12be31`, the six rows agree key for key.
## The reading, re-taken on this base — the numbers are NOT inherited
Census instrument: flatten every `*.metadata-forms.generated.ts` bundle
(nested object literals with **bare identifier keys** — a regex
requiring quoted keys returns 0, so this parses with the TypeScript AST)
and compare `.label` leaves against `en`.
Measured on worktree base `fbc12be31`:
| reading | result |
|:--|:--|
| `en` string leaves in the metadata-form catalogs | 893 |
| of which `.label` leaves | 538 |
| POSITIVE CONTROL — labels genuinely translated | **500** (`zh-CN`) ·
**484** (`ja-JP`) · **484** (`es-ES`) |
| label keys echoing in ALL THREE locales | **38** ⇒ 114 leaves |
The control is what makes the echo count mean something: 500 translated
against 38 echoing is a discrimination, not a parser that matches
everything.
**After this change**: 29 keys / 87 leaves echo in all three locales;
control **509** · **493** · **493** — echoes down 9 and the control up
9, same population, same run.
`git diff fbc12be..origin/main --
packages/platform-objects/src/apps/translations/` is **empty**, so
nothing moved this population under me while the round ran.
## The control this panel supplies that no earlier round could: the
authored twin at the SAME KEY PATH
`object.fields.fields.*` is the same field editor embedded in the object
panel, and it was decided in **round 1 of this card**. **Fourteen of the
eighteen leaves here have a twin there, authored in all three locales**
— and seven of those twins are **byte-identical in `en`**:
`placeholder.label` · `valueDomain.label` · `rows.label` ·
`summaryOperations.object.label` · `summaryOperations.function.label` ·
`summaryOperations.function.helpText` · `summaryOperations.field.label`
⇒ the identical key, the identical English, one authored and one
echoing, in one bundle. Earlier rounds argued from a same-string
precedent elsewhere in the catalog; here the precedent is **the same
spec key rendered one panel over**. An echo cannot be the deliberate
rendering when the same key is rendered otherwise beside it.
The four keys with **no twin at all** — `relatedListFilter` (#19085
added it to `field.form.ts` alone) and three of the five
`summaryOperations` row properties — are decided from their own helpText
and their schema, and say so in the ledger.
## The #19430 trap was met, and checked AT THE SCHEMA before a word was
rendered
`field.fields.valueDomain.helpText` names `iana_time_zone`,
`iso_4217_currency` and `iso_3166_alpha2` in prose. Those are the three
members of `ValueDomainSchema`
(`packages/spec/src/shared/value-domain.zod.ts`), a `z.enum`. Rendering
them as words would tell an author in their own language to write a
token the schema refuses — the defect round 2 filed as #19430. **Kept
English.**
1 parent 2b321a4 commit 4045781
8 files changed
Lines changed: 794 additions & 108 deletions
File tree
- .changeset
- packages/platform-objects/src/apps/translations
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
Lines changed: 18 additions & 18 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
381 | 381 | | |
382 | 382 | | |
383 | 383 | | |
384 | | - | |
385 | | - | |
| 384 | + | |
| 385 | + | |
386 | 386 | | |
387 | 387 | | |
388 | 388 | | |
| |||
393 | 393 | | |
394 | 394 | | |
395 | 395 | | |
396 | | - | |
397 | | - | |
| 396 | + | |
| 397 | + | |
398 | 398 | | |
399 | 399 | | |
400 | | - | |
401 | | - | |
| 400 | + | |
| 401 | + | |
402 | 402 | | |
403 | 403 | | |
404 | 404 | | |
| |||
447 | 447 | | |
448 | 448 | | |
449 | 449 | | |
450 | | - | |
451 | | - | |
| 450 | + | |
| 451 | + | |
452 | 452 | | |
453 | 453 | | |
454 | 454 | | |
| |||
459 | 459 | | |
460 | 460 | | |
461 | 461 | | |
462 | | - | |
463 | | - | |
| 462 | + | |
| 463 | + | |
464 | 464 | | |
465 | 465 | | |
466 | | - | |
467 | | - | |
| 466 | + | |
| 467 | + | |
468 | 468 | | |
469 | 469 | | |
470 | | - | |
471 | | - | |
| 470 | + | |
| 471 | + | |
472 | 472 | | |
473 | 473 | | |
474 | | - | |
475 | | - | |
| 474 | + | |
| 475 | + | |
476 | 476 | | |
477 | 477 | | |
478 | | - | |
479 | | - | |
| 478 | + | |
| 479 | + | |
480 | 480 | | |
481 | 481 | | |
482 | 482 | | |
| |||
Lines changed: 0 additions & 18 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
39 | 39 | | |
40 | 40 | | |
41 | 41 | | |
42 | | - | |
43 | | - | |
44 | | - | |
45 | | - | |
46 | | - | |
47 | | - | |
48 | | - | |
49 | | - | |
50 | | - | |
51 | | - | |
52 | | - | |
53 | | - | |
54 | | - | |
55 | | - | |
56 | | - | |
57 | | - | |
58 | | - | |
59 | | - | |
60 | 42 | | |
61 | 43 | | |
62 | 44 | | |
| |||
0 commit comments