Uh oh!
There was an error while loading. Please reload this page.
docs(releases): qualify the v17 notify-template locale as one per notification, not per recipient - #13707
Merged
os-project-manager merged 1 commit intoAug 31, 2026
Conversation
…ification The v17 page still promised the retired shape: the `notify` node's `template` path "resolved by `(name, recipient locale)` at delivery time". Per the maintainer ruling of 2026-08-13 there is no per-recipient locale — `payload.locale` is interpolated once, before fan-out, its fallback is the deployment default (`II18nService.getDefaultLocale()`), and `sys_user` carries no locale column. The live docs were corrected accordingly; this page was the residue, read by exactly the audience the wording misleads. Wording is copied from the corrected live sites rather than invented, so one fact keeps one qualifier. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Pk26oZ12t5N1hwGW1m1MgC
This was referenced Aug 31, 2026
os-project-manager
marked this pull request as ready for review
August 31, 2026 08:19
Uh oh!
There was an error while loading. Please reload this page.
os-project-manager
deleted the
claude/issue-12507-v17-recipient-locale-qualifier
branch
August 31, 2026 08:38
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 freeto 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#12507
A deliberately releases-docs-only PR, and the only file it touches is
content/docs/releases/v17.mdx. The standing rule — never editcontent/docs/releases/in a code PR — carries its own stated exception for exactly this shape ("if a releases page has a factual error, file an issue or make it a dedicated docs-only PR"), and the maintainer ruled that route on 2026-08-27 (Option A).What changed
The v17 page still carried the retired promise for flow
notifynodes:Per the maintainer ruling of 2026-08-13 there is no per-recipient locale:
payload.localeis interpolated once, before fan-out, its fallback is the deployment default (II18nService.getDefaultLocale()), andsys_usercarries no locale column. #12178 correctedpackages/specand #12446 / PR #12505 corrected the five live doc sites; this page was the residue — read by exactly the audience the wording misleads, for whom acting on it is a net regression (TEMPLATE_*failures classifypermanentand dead-letter).The sentence now reads:
Wording provenance — matched, not invented
Two different qualifiers for one fact is the defect class this card belongs to, so every clause is copied from a site already corrected:
content/docs/automation/email-templates.mdx:167(the hand-written live page corrected by #12446 / PR #12505), bolded there toopayload.localeif the producer set one, else the deployment default (II18nService.getDefaultLocale())"content/docs/references/automation/io-node-config.mdx:101(generated from the spec corrected by #12178)content/docs/automation/email-templates.mdx:170-171content/docs/references/automation/io-node-config.mdx:101(name, locale)io-node-config.zod.ts:276,298, both live doc pagesThe bare phrase "recipient locale" is now absent from the page: leaving it while appending "not one per recipient" would have left the page contradicting itself, and the pins added by #12178 / #12446 refuse that bare phrase everywhere they reach.
Deliberately NOT in this diff
packages/spec/CHANGELOG.md:2745carries the same sentence and stays untouched by ruling — a generated CHANGELOG is history, a record of what the release said at the time. Confirmed still present and unmodified.skip-changeset(the repo's only path-independent exemption inpr-automation.yml; that job has no docs-only carve-out).content/docs/releases/v17.mdxhas 13 otherlocaleoccurrences and zero "per recipient" / "each person" / "own language" phrasing; this bullet was the page's only per-recipient-locale claim.Gates
Local union re-run after the final commit, on
05b429955— all 28 derived families green; the 29th is not locally measurable:pnpm check:role-word(the ratchet that pins this page: baselinecontent/docs/releases/v17.mdx= 2, unchanged — the new prose adds no reserved word) ·check:release-notes·check:release-page-status·check:release-section-coverage·check:docs-single-h1·check:doc-anchors·check:doc-authoring·check:doc-frontmatter·check:doc-route-spelling·check:docs-section-name·check:docs-redirects·check:docs-audit-scope·check:section-landing-index·check:published-readme-links·check:react-page-adapter-contract·check:cross-package-test-inputs·check:ci-filter-parity·check:shard-attestation·check:nul-bytes·@objectstack/speccheck:docs,check:yaml-examples,check:skill-examples,check:empty-state,check:liveness,check:strictness-ledger,check:variant-docs·@objectstack/lintcheck:doc-formula-expressions,check:doc-security-posture. Gate list derived bynode scripts/pm/dispatch-gates.mjs --repo objectstack-ai/objectstack, not recalled.check-test-completenessis NOT MEASURED: it grades a savedturbo run testlog that only CI produces (its own exit-3 prerequisite branch says so).Repo-wide
pnpm lintis narrowed, declared: eslint's own configuration supplies no matching config for.mdx, so the single edited file is outside the lint population — measured, not assumed, viapnpm exec eslint --no-inline-config --format json content/docs/releases/v17.mdx→ 1 result, 0 errors, message "File ignored because no matching configuration was supplied". No eslint config and no JS/TS source changed, and no type-aware linting spans this file, so no untouched file's verdict can move.Draft on purpose — the
domain:devxPM seat arms it after review.Session: https://claude.ai/code/session_01Pk26oZ12t5N1hwGW1m1MgC
Generated by Claude Code