Repository navigation
docs: name resolveLocaleAmong's five-step locale ladder where comments still restate four steps - #30694
Conversation
… restate four steps PR #30601 put both server locale resolvers on resolveLocaleAmong (exact, case-insensitive, platform locale table language, base language, first registered variant). Comments in objectql, service-automation, plugin-auth and plugin-email, the translations docs page and the email-template-render checklist item still listed the old four steps. They now name the resolver and its five steps, and say the table step only adds answers for the table's aliases. Comment, docs and checklist text only; no behaviour change. Co-authored-by: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016WV4cytQjG9X1CrCgytUM5
📓 Docs Drift Check1 anchor(s) derived from 4 changed package(s); no hand-written page names any of them. What this run could not see
Coarse fallback — 39 page(s) merely mention a changed package (the pre-#9192 predicate, kept for the deliberately-wide backstop): Which tree this was computed onThis run read A worktree cut from an older # while this PR is open — GitHub drops the merge commit once it closes
git fetch origin 6443a24b3fd87cc830cd8929138fb22bf75b8960 && git checkout 6443a24b3fd87cc830cd8929138fb22bf75b8960
# afterwards, rebuild it from the two parents, which stay fetchable
git fetch origin a2437b560bd8872feece6ec8b57c6fdf21cff1f4 e5703af2ca0beaf87f8fdd3b07430a74e0a05bdd && git checkout -B drift-repro a2437b560bd8872feece6ec8b57c6fdf21cff1f4 && git merge --no-ff e5703af2ca0beaf87f8fdd3b07430a74e0a05bdd
node scripts/docs-audit/affected-docs.mjs --json a2437b560bd8872feece6ec8b57c6fdf21cff1f4 |
|
domain:server#3 · os-elon-musk · session_016WV4cytQjG9X1CrCgytUM5 ACCEPT · #30617 · 2026-11-05T22:36Z · Head-sha: 席位核对
|
Requested by Elon · project thread
Fixes #30617
Clause-②: no
Metadata-protocol: none
Skills-docs: none — comment/docs text only; skills/** carried by #30603
维护者速读
resolveLocaleAmong的五步(多了平台语言表一步)。content/docs/ui/translations.mdx(对外文档)、docs/qa/platform-checklist/areas/integration-system.json(清单条款 revision 15→16)、organization-mfa-enrollment-guard.ts注释。node scripts/check-platform-checklist.mjs,预期打印 OK。What changes
Comment, docs and checklist text only; no code or behaviour change. Each place that restated the old four-step ladder (exact, case-insensitive, base language, variant) now names
resolveLocaleAmong(@objectstack/spec/system) and its five steps, adding the platform locale table step (platformLocaleTagOf:zhreacheszh-CN,zh-TW/zh-HK/zh-MOreachzh-Hant), or says the table step only adds answers for the table's aliases.packages/objectql/src/engine-validation-messages.ts: thenegotiatedMessageLocaledoc comment.packages/objectql/src/engine-validation-locale-negotiation.test.ts: the header comment.packages/services/service-automation/src/engine.ts: the comment on theresolveBundleLocaleimport.packages/plugins/plugin-auth/src/organization-mfa-enrollment-guard.ts: the module doc and thecopyLocaleFordoc (the copy carries nozh-Hant, sozh-TWstill readszh-CN).packages/plugins/plugin-email/src/template-loader.ts: the sorted-tags comment now says the sort fixes both first-match steps (table language and variant expansion).content/docs/ui/translations.mdx: the "Within the bundle, matching walks" paragraph.docs/qa/platform-checklist/areas/integration-system.json:integration-system.email-template-renderacceptance[3] clause and verify; revision 15 to 16 with a history row. The showcase bundle holds nozh-Hanttag, so no verdict changes.Dropped from the card's list:
packages/plugins/plugin-auth/src/idp-locale-claim.tsalready namesresolveOfferedLocaleand the five steps onorigin/main(b77c160), so it is unchanged.Acceptance notes
packages/spec/src/stack.zod.ts(thedefineStackemail-template floor warning) still prints the four-step list (exact, case-insensitive, base language, variant expansion). It is in spec and outside this card's file list, so it is not touched here. Noted, not filed.skip-changesetlabel.Verification
Gates run at e5703af (
node scripts/pm/dispatch-gates.mjs --commands, 87 derived): 79 exit 0; 7 exit 3 NOT MEASURED (prerequisite not met in this shallow, unbuilt worktree:check-plugin-teardown-shape --self-testneeds an unshallow clone;@objectstack/lintdoc-formula-expressions and doc-security-posture, speccheck:skill-examples,check:docs-transcript-drift,check:dual-build-cjs-loads,check:lean-entry-closureneed builds);check:type-check-debtNOT MEASURED locally (it re-measures every package typecheck; hit the local timeout). CI's Lint & Repo Gates runs all of them.node scripts/check-platform-checklist.mjsexit 0. eslint on the five changed TS files exit 0 (scoped; the whole-repo lint is CI's).🤖 Generated with Claude Code