Repository navigation
fix(app-shell): metadata designer copy says "this system", not the cloud noun (objectui#12960) - #12962
Merged
objectstack-fleet[bot] merged 1 commit intoOct 18, 2026
Conversation
…oud noun (objectui#12960)
The metadata designer's own string table named the running system by the
cloud noun "environment" ("this environment" / 「此环境」「本环境」), which
objectstack-ai/cloud#3002 ruling A forbids inside the running system and
objectui#12956 already applied to the locale packs.
Per the triage reading on the card, in
packages/app-shell/src/views/metadata-admin/i18n.ts:
- engine.packages.description, .noCapability, .detail.adoptConfirm (en, zh):
"this system" / 「本系统」.
- perm.badge.custom (zh): 「本环境自定义」 -> 「自定义」, matching en "Custom".
- the four permission-set clone / lock strings (en, zh): "authored in this
system" / 「本系统中创作的」.
"Environment-scope" / "environment overlay" stay: they name the overlay layer
(allowEnvironmentOverlay), the same term the rest of the table uses, not the
system. No key is added, removed or renamed.
Claude-Session: https://claude.ai/code/session_0188TsgPV8kQXfuRuKmkj2ks
Co-authored-by: Claude <noreply@anthropic.com>
Contributor
✅ Console Performance Budget
The eager closure is every chunk the entry reaches through static imports — what the browser fetches and parses before the app renders. The entry chunk on its own is a small fraction of it. 📦 Bundle Size Report
Size Limits
|
Contributor
Author
席位核对 — ACCEPT ·
|
objectstack-fleet
Bot
deleted the
claude/issue-12960-designer-copy-system
branch
October 18, 2026 13:07
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #12960
Clause-②: no
Copy only: the metadata designer's own string table says "this system" where it said "this environment". No key is added, removed or renamed, and no export, prop or exported type changes.
What this does
packages/app-shell/src/views/metadata-admin/i18n.tsis the Studio designer's module-local string table. objectstack-ai/cloud#3002 ruling A (the maintainer, 2026-10-18): inside the running system a user-facing string never names the system by the cloud noun "this environment"; it says "this system" (zh 「本系统」) or drops the noun. objectui#12956 applied that to the locale packs and, by its Scope, left this table. This PR applies the triage seat's per-string reading (comment 6249658907 on the card) to it: 15 lines, en and zh together.engine.packages.descriptionengine.packages.noCapabilityengine.packages.detail.adoptConfirmperm.badge.custom'Custom'perm.readOnly.artifact.hint,perm.clone.hint,perm.clone.guidance,perm.save.lockedThe wording call for the mechanism
Triage left one choice: where an en string names the mechanism, keep "environment-scope" as the platform term or say "an edit here would overlay a packaged item", and use one wording in all four permission-set strings. This PR keeps "environment-scope" (zh 「环境作用域」) and leaves that clause as it was. Why: the same sentence goes on to cite
allowEnvironmentOverlayand "an environment overlay" (ADR-0131 D6), and the Studio landing strings use "environment overlay" / 「环境覆盖」 for the same layer, so rewording only the lead-in would leave the term two clauses later in the same sentence. Only one of the four en strings (perm.readOnly.artifact.hint) names the mechanism at all; the other three do not, so "one wording in all four" holds with nothing to reconcile.Every environment-noun hit in the file, changed or left
grep -nP 'this environment|此环境|本环境|该环境|当前环境'on the file found 15 at the base (7 en, 8 zh) and finds none now.engine.studio.landing.description,.readonlyHintand.overlayTitlein en and zh ("environment overlay" / 「环境覆盖」), and theLAYER_SCOPE_ZHentryenv: '环境', the zh label of the overlay-scope enum value.allowEnvironmentOverlayinperm.readOnly.hint(en and zh) and in the clause kept above.grep -nPi 'environment|环境'that sit on a comment line.packages/i18n/src/locales/*,marketplace.*,cloudWorkspaceTimezoneNotice.*.Verification (head 473ac84)
pnpm check:i18n-designer-parityenkey has azhrow and that shared keys carry the same{placeholders}; it does not judge wording.pnpm check:i18n-driftenvalues changed, 7zhrows followed.PackageFormDialog.test.tsx,PackageFormDialog.envelopeUserMessage.test.tsx,PackagesPage.confirmFlows-11784.test.tsx,PermissionMatrixEditor.badge.test.tsx,PermissionMatrixEditor.cloneToCustomize.test.tsx,PermissionMatrixEditor.provenanceBadge-7611.test.tsx,PermissionMatrixEditor.readonlyHeaderBadge.test.tsx,walledCatalogReadOnly-12183.test.tsx,studio-locale.i18n.test.tsx. The wider app-shell run is CI's. No test asserts the old wording: they read these strings throught(key).node scripts/check-changeset-presence.mjs,pnpm changeset:checkpnpm check:changeset-claimsnode scripts/check-governed-queue-guard.mjs --teston the two filespnpm check:new-line-citationspnpm --filter @object-ui/app-shell type-checkdistin this worktree, so a real run needs the upstream closure built under the verify lock, which stayed occupied. The edit cannot move a type (the tables are plain string-to-string records with noas const), and a transpile of the file reports 0 syntax diagnostics. The CIType Checkjob is the measurement.No ablation: copy only, and no test pins the behaviour.
Acceptance notes (observations, not filed here)
noticewhose text still says "authored in this environment" (PERMISSION_SET_CLONE_NOTICEin the objectstack runtime'spermission-set-clone.ts, sent asnoticein the door's success response). The editor shows it verbatim after a clone, so once this PR lands a user reads "authored in this system" in the hint and "authored in this environment" in the notice, in the same flow. Source-read only, not run against a live door. That string is objectstack's and outside this card's file surface; the objectui testPermissionMatrixEditor.cloneToCustomize.test.tsxcarries a copy of it as its fixture, which will need to follow.PermissionMatrixEditor.tsx, a doc comment inpermission-set-clone.ts, and test names in the badge and provenance-badge tests. They describe a code path, not copy the user reads.Draft per the dispatch contract; flipping to ready and queueing are the PM seat's.
Generated by Claude Code