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
第二条使第一条的目标不可达:投递路径每次通知只解析一个语言(payload.locale 在 fan-out 前插值一次,或部署默认),从不按收件人解析。service-messaging/src/email-channel.ts L86-99 自述此状并写明「a per-user locale, when it lands, plugs in here」。
Blocked-by: (resolved 2026-09-03T09:54Z — PR #14775 MERGED as 1401ae7; the #14832 hang was quarantined on main by PR #14871)
Unlock-action: (fired — PR #14775 merged 09:53Z)
(Added by the domain:spec seat 2026-09-03T05:00Z: work complete — PR #14775 review PASS 5519054527, kicked from the merge queue twice by the packages/clirun-dev-unbuilt-workspace.e2e.test.ts defect that survived its first fix (#14648 closed, successor #14832); re-check the PR when #14832 closes, do not re-dispatch.)
按维护者指示上行立卡(2026-08-31,hotcrm#1185 决裁,逐字:「1185 如果是平台的问题就去平台立卡片」)。
背景:两条既有裁决的交汇
notifynodes cannot be localized:title/messageare raw strings with no template or locale channel, so a four-locale app sends English-only notifications #9205 / PR feat(automation): notify nodes reference email templates for localized delivery — resolve (name, recipient locale) at delivery time #9224 落地,spec@17.1.0钉内可用,四探针实测全通过;II18nService.getDefaultLocale()),per-user locale 推迟至「有实测拉力为止」。第二条使第一条的目标不可达:投递路径每次通知只解析一个语言(
payload.locale在 fan-out 前插值一次,或部署默认),从不按收件人解析。service-messaging/src/email-channel.tsL86-99 自述此状并写明「a per-user locale, when it lands, plugs in here」。实测拉力(hotcrm#1185 的 dev 停手报告 + PM 复核,两个独立车道同判)
sys_user无 locale 列且protection.lock: 'full',应用加不了;sys_notification_preference亦无;逐 flow 查偏好的绕行被测量排除(无偏好行用户会以字面量 "undefined" 作 locale 静默死信,严格差于现状)—— 且按 2026-08-31 应用仓三原则([ruled] 应用仓基本原则落编:阻塞是平台缺陷时,应用侧等待平台修复 —— ⛔ 不绕行、不半边落地(维护者 2026-08-31,判例 hotcrm#549) #13848)应用侧绕行本就 ⛔;要裁的形状(两个候选,均插在 email-channel 预留的 seam 上)
sys_user.locale列:一等公民;动packages/spec/src/system的用户面(better-auth 相邻面需核),条款②;sys_user_preference支撑的覆盖位:不动sys_user;投递 fan-out 时按收件人解析(今天payload.locale是 fan-out 前单值 —— 两个形状都要求把解析点移到 per-recipient)。公共要求:解析链 = 收件人 locale → 部署默认(缺失恒回退,⛔ 不得死信);与
TEMPLATE_*permanent 失败分类的交互写进设计;首个消费者 = hotcrm#1185(已改挂本卡,能力落地日退化为纯元数据转换)。Refs: hotcrm#1185(拉力测量全records)· #9205 / PR #9224(模板通道)· #12178(文档漂移)· 2026-08-13 裁决(email-channel.ts 注记引用)。
Blocked-by: (resolved 2026-09-03T09:54Z — PR #14775 MERGED as 1401ae7; the #14832 hang was quarantined on main by PR #14871)
Unlock-action: (fired — PR #14775 merged 09:53Z)
(Added by the
domain:specseat 2026-09-03T05:00Z: work complete — PR #14775 review PASS 5519054527, kicked from the merge queue twice by thepackages/clirun-dev-unbuilt-workspace.e2e.test.tsdefect that survived its first fix (#14648 closed, successor #14832); re-check the PR when #14832 closes, do not re-dispatch.)Generated by Claude Code