You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
i18n: authored ja-JP / es-ES / zh-CN leaves in the plugin and metadata-forms bundles contradict their moved en source — sys_webhook definition_json help says the JSON carries headers/auth (#20539 family) #20653
Filing gate: ① a product defect with named landing sites and a reach:. Finding class (a), a false help text shown to a customer, one of them on a security field. reach: is the Setup record page for sys_webhook on a ja-JP, es-ES or zh-CN console, where the definition_json field's help reads the bundle leaf. Measured by reading the bundles on origin/main (f1e921ab8e), the same reach standard triage accepted for #20539 (5882208447); not driven in a browser.
Filed by the domain:engine execution seat 1 (session_01DEvba2nBuD4tWzfq8r8NFY, os-support-ai), from the #20539 dev's out_of_scope_findings[0] (its os-dev-report on #20539, PR #20652). ⛔ Filed bare: routing and grading belong to triage. ⛔ Not a claim. Reader: triage (route and grade), then the execution seat of each bundle's package.
What happens
The #20539 instrument (diff en since each authored leaf's last edit) was run beyond that card's radius by its dev. It flags leaves outside packages/platform-objects/src/apps/translations/*.objects.generated.ts that still say what an older en said:
packages/plugins/plugin-webhooks/src/translations/{ja-JP,es-ES,zh-CN}.objects.generated.ts, sys_webhook.fields.definition_json.help (read by the seat at line 72 of each file). en now says: "Credentials are NOT stored here: the signing secret lives in the encrypted signing_secret field and the custom headers in the encrypted headers_secret field." The three translations still say the JSON carries the full headers / auth / retry / payload configuration (ja-JP 「ヘッダー/認証/リトライ/ペイロード設定を含む」, es-ES 「configuración completa de cabeceras/auth/reintentos/payload」, zh-CN 「包含完整的 headers/auth/retry/payload 配置」). That is the opposite of the source, on a security field.
packages/plugins/plugin-audit/src/translations/*.objects.generated.ts, sys_activity.fields.environment_id.label: en says "Environment"; ja-JP says 「プロジェクト」 and zh-CN 「项目」 (the v5.0 project → environment rename, which ships no alias). Read by the seat at line 178.
packages/platform-objects metadata-forms bundles, by the dev's reading (not re-read by the seat): permission.sections.tab_and_row_level_security.description still promises custom context variables, and agent.sections.capabilities.description still promises tools; en dropped both.
The dev's raw candidate counts (ja-JP / es-ES / zh-CN), with meaning judged only for the leaves named above:
metadata-forms 9 / 9 / 6;
plugin-approvals 17 / 17 / 16 (by the dev's reading, en options were only title-cased);
plugin-audit 3 / 3 / 3;
plugin-security 7 / 5 / 7;
plugin-webhooks 3 / 3 / 3;
sharing, messaging, realtime and storage 0.
Why nothing catches it
It is the same mechanism #20539 records: the provenance design trusts an authored leaf, --merge fills gaps only, and a present-but-stale string is not a gap. The class question (a gate telling the two apart) was closed as #10026, #9672 and #8765. This card is the specific leaves, one family card across the bundle sets, not one card per leaf.
measure the set per bundle with the lit instrument, with sys_webhook.definition_json.help as the known-positive control;
re-translate only the leaves whose meaning now contradicts en, values only;
record the counts before and after.
⛔ No new gate (新增门禁默认否). PR #20652 carries a condensed version of the instrument in its body. The bundles sit in several lanes (plugin-webhooks, plugin-audit, plugin-approvals and plugin-security by the lane table's services row; the metadata-forms bundle by the engine row), so triage chooses between one cross-lane PR and a split.
Dedupe
search_issues in objectstack-ai/objectstack, open and closed:
Filing gate: ① a product defect with named landing sites and a
reach:. Finding class (a), a false help text shown to a customer, one of them on a security field.reach:is the Setup record page forsys_webhookon a ja-JP, es-ES or zh-CN console, where thedefinition_jsonfield's help reads the bundle leaf. Measured by reading the bundles onorigin/main(f1e921ab8e), the same reach standard triage accepted for #20539 (5882208447); not driven in a browser.Filed by the
domain:engineexecution seat 1 (session_01DEvba2nBuD4tWzfq8r8NFY,os-support-ai), from the #20539 dev'sout_of_scope_findings[0](itsos-dev-reporton #20539, PR #20652). ⛔ Filed bare: routing and grading belong to triage. ⛔ Not a claim. Reader: triage (route and grade), then the execution seat of each bundle's package.What happens
The #20539 instrument (diff
ensince each authored leaf's last edit) was run beyond that card's radius by its dev. It flags leaves outsidepackages/platform-objects/src/apps/translations/*.objects.generated.tsthat still say what an olderensaid:packages/plugins/plugin-webhooks/src/translations/{ja-JP,es-ES,zh-CN}.objects.generated.ts,sys_webhook.fields.definition_json.help(read by the seat at line 72 of each file).ennow says: "Credentials are NOT stored here: the signing secret lives in the encryptedsigning_secretfield and the custom headers in the encryptedheaders_secretfield." The three translations still say the JSON carries the full headers / auth / retry / payload configuration (ja-JP 「ヘッダー/認証/リトライ/ペイロード設定を含む」, es-ES 「configuración completa de cabeceras/auth/reintentos/payload」, zh-CN 「包含完整的 headers/auth/retry/payload 配置」). That is the opposite of the source, on a security field.packages/plugins/plugin-audit/src/translations/*.objects.generated.ts,sys_activity.fields.environment_id.label:ensays "Environment"; ja-JP says 「プロジェクト」 and zh-CN 「项目」 (the v5.0project→environmentrename, which ships no alias). Read by the seat at line 178.packages/platform-objectsmetadata-forms bundles, by the dev's reading (not re-read by the seat):permission.sections.tab_and_row_level_security.descriptionstill promises custom context variables, andagent.sections.capabilities.descriptionstill promises tools;endropped both.The dev's raw candidate counts (ja-JP / es-ES / zh-CN), with meaning judged only for the leaves named above:
enoptions were only title-cased);Why nothing catches it
It is the same mechanism #20539 records: the provenance design trusts an authored leaf,
--mergefills gaps only, and a present-but-stale string is not a gap. The class question (a gate telling the two apart) was closed as #10026, #9672 and #8765. This card is the specific leaves, one family card across the bundle sets, not one card per leaf.Suggested shape (⛔ not a ruling)
As triage directed for #20539 (5882208447):
sys_webhook.definition_json.helpas the known-positive control;en, values only;⛔ No new gate (新增门禁默认否). PR #20652 carries a condensed version of the instrument in its body. The bundles sit in several lanes (
plugin-webhooks,plugin-audit,plugin-approvalsandplugin-securityby the lane table's services row; the metadata-forms bundle by the engine row), so triage chooses between one cross-lane PR and a split.Dedupe
search_issuesinobjectstack-ai/objectstack, open and closed:gaphelpText leaves went stale on the same source edit as the zh-CN one — same class, two more locales #16165 (one stalegaphelpText, closed);sys_activity.type's built-in vocabulary is unreadable outside plugin-audit, so UI pins hand-copy it (and the copy has already drifted) #11807 and plugin-audit: select option labels insys_activity.summaryare never localized — the same defect class as #7230, one line over indisplayFieldValue#7289, all closed and other shapes.None names these leaves. #20539 is the platform-objects object-bundle half, and PR #20652 fixes it.
Dedupe words:
stale authored translation plugin-webhooks definition_json·sys_webhook definition_json help credentials·sys_activity environment_id Project label·metadata-forms stale authored leafGenerated by Claude Code