Commit 06f9848
* test(showcase): land the seed fixtures the platform checklist could not run without (#9308)
Three platform capabilities had no fixture anywhere in the reference app, so the
checklist items covering them were not failing — they were unrunnable.
1. A second, actually LOGINABLE member. The demo personas have been sys_user rows
since #3409/#3411 and neither could sign in, blocking every item that needs two
acting identities. The non-obvious half: better-auth 1.7 keys accounts on
(issuer, providerAccountId), so a credential row carrying any other issuer is
invisible to sign-in and fails INVALID_EMAIL_OR_PASSWORD behind a "User not
found" warn that points at the user row instead of the account.
seed-approval-demo.ts now provisions the credential account through better-auth's
own $context and READS the issuer off the dev admin's own credential row rather
than re-spelling a constant plugin-auth owns. Dev-only by construction.
2. showcase_client_brief — the first object to opt into publicSharing. Carries
redactFields, an expiry cap and an eligibility predicate; the seed holds a
published brief (mint-eligible) and a draft one (refused RECORD_NOT_ELIGIBLE) so
the predicate is falsifiable. Every other object still declines the opt-in, which
is what keeps the per-object 422 a real control.
3. showcase_client_liaison — the app's first readable:false FLS grant, on the same
three showcase_project budget figures showcase_contributor governs with
readable:true/editable:false. All three move together because budget_remaining is
a formula over budget - spent.
Downstream reconciliations, each deliberate and none a re-baseline: access-matrix.json
gains two rows and moves none; the persona x CRUD census follows the matrix
(50/50 -> 54/54, arithmetic recorded at the assertion) and its fixture maps learn the
new object; the position count pin follows the new position. Five checklist items are
revised in the same change — gap text kept, marked closed-by-fixture, revision bumped,
history appended (#7670 pattern).
Not landed: the writable-package summary field for automation.rollup-summary-filter.
It is not seed data and cannot be made into seed data — see FOLLOW-UPS.md section 6.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Y26DJEHSBhhAQ6wwfsHNza
* i18n(showcase): translate the client-brief fixture into zh-CN (#9308)
`check:i18n-coverage` went red on PR #9789: untranslated declared strings for
examples/app-showcase grew 393 -> 405. The showcase declares supportedLocales
['en', 'zh-CN'], so every label the new `showcase_client_brief` object declares
owed a zh-CN rendering. Measured: all 12 are that object — label, pluralLabel,
description, seven field labels and both `status` options. The new position and
permission set are NOT counted by this rule, which counts object/field/option
strings only.
Both locales are written key for key. `check-i18n-coverage` is a two-sided
ratchet, so an `en` entry landing without its zh-CN mirror is what widens the
gap rather than closing it.
Renderings follow the ones this bundle already established rather than being
coined fresh — 标题 / 项目 / 状态 / 备注 / 负责人 are the words showcase_task and
showcase_invoice already use for the same concepts, which is the whole point of
the file: a list must not mix a translated 状态 with an English Owner beside it.
草稿 / 已发布 are new (nothing here rendered a draft state before); 已发布 follows
the 已完成 pattern the bundle uses for a state that has been reached.
The description is mirrored byte-for-byte from the object declaration on the en
side and translated in full on the zh side, ADR reference included. A bundle
entry overrides the schema label for its locale, so a "tidied" English
description would silently rewrite product copy under the guise of translating
it, and a half-dropped Chinese one is the locale degradation the bundle exists
to prevent.
Count back to 393 exactly, not merely stopped growing. The baseline in
scripts/i18n-coverage-baseline.json is untouched (no --update anywhere).
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Y26DJEHSBhhAQ6wwfsHNza
---------
Co-authored-by: Claude <noreply@anthropic.com>
1 parent 1258dca commit 06f9848
20 files changed
Lines changed: 1029 additions & 57 deletions
File tree
- .changeset
- docs/qa/platform-checklist
- areas
- examples/app-showcase
- src
- data
- objects
- seed
- security
- system/translations
- test
- packages/qa/dogfood/test
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
136 | 136 | | |
137 | 137 | | |
138 | 138 | | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
621 | 621 | | |
622 | 622 | | |
623 | 623 | | |
624 | | - | |
| 624 | + | |
625 | 625 | | |
626 | 626 | | |
627 | 627 | | |
| |||
632 | 632 | | |
633 | 633 | | |
634 | 634 | | |
635 | | - | |
| 635 | + | |
| 636 | + | |
636 | 637 | | |
637 | 638 | | |
638 | | - | |
| 639 | + | |
| 640 | + | |
639 | 641 | | |
640 | 642 | | |
641 | 643 | | |
| |||
709 | 711 | | |
710 | 712 | | |
711 | 713 | | |
| 714 | + | |
| 715 | + | |
| 716 | + | |
| 717 | + | |
| 718 | + | |
| 719 | + | |
712 | 720 | | |
713 | 721 | | |
714 | 722 | | |
| |||
1413 | 1421 | | |
1414 | 1422 | | |
1415 | 1423 | | |
1416 | | - | |
| 1424 | + | |
1417 | 1425 | | |
1418 | 1426 | | |
1419 | 1427 | | |
| |||
1424 | 1432 | | |
1425 | 1433 | | |
1426 | 1434 | | |
1427 | | - | |
| 1435 | + | |
| 1436 | + | |
1428 | 1437 | | |
1429 | 1438 | | |
1430 | | - | |
1431 | | - | |
| 1439 | + | |
| 1440 | + | |
| 1441 | + | |
1432 | 1442 | | |
1433 | 1443 | | |
1434 | | - | |
1435 | | - | |
1436 | | - | |
1437 | | - | |
1438 | 1444 | | |
1439 | 1445 | | |
1440 | 1446 | | |
| |||
1513 | 1519 | | |
1514 | 1520 | | |
1515 | 1521 | | |
| 1522 | + | |
| 1523 | + | |
| 1524 | + | |
| 1525 | + | |
| 1526 | + | |
| 1527 | + | |
1516 | 1528 | | |
1517 | 1529 | | |
1518 | 1530 | | |
| |||
0 commit comments