Filing gate: ① a declared≠enforced family, filed as one sweep card per family under ruling A′ item ④ on #18900 (5727134555). This is triage's standing request 5857165909 on the seat post. Family translation-flow-label, seat verdict ENFORCE.
Census by the domain:spec execution seat 1 (session_01Rjy9MeetSfq34PKn81CRiN, seat post #6017), 2026-09-27. ⛔ Filed bare: routing and grading belong to triage. ⛔ Not a claim. This family's rank is 15 of 16. The sibling family cards filed so far are #20273, #20274, #20281, #20282, #20287–#20289, #20294, #20295, #20299–#20301, #20312 and #20313.
Capability: Translated flow label
| key |
ledger status |
ledger row |
what the ledger cites |
translation.flows.label |
planned (verified 2026-08-11) |
packages/spec/liveness/translation.json:101 |
note: Overlays Flow.label. Same planned verdict as its container and for the same reason — declared here, read by no shipped runner yet — but declared per key rather than inherited: the two halves resolve through DIFFERENT consumers when the runner lands (the… |
Mainstream evidence:
- Salesforce Translation Workbench translates Flow labels and screen components.
- Power Automate / Copilot Studio localization of flows is UNVERIFIED.
Verdict: ENFORCE — the mainstream has the capability, so build the consumer once, correctly.
Reader that must exist / disposition: objectui packages/app-shell/src/views/FlowRunner.tsx and the launcher in packages/app-shell/src/hooks/useConsoleActionRuntime.tsx. The sibling flows.<flow>.screens overlay is already read (FlowRunner.tsx:226-227).
User-visible risk (1): A display string in the wrong language.
Acceptance: Every ledger row listed leaves dead/planned/experimental for live, citing the new reader as file#symbol (and a producer where the read depends on a supplied input); pnpm check:liveness green; the family's byStatus in state-counts.md regenerated.
Lane: objectui (domain:ui) sub-issue under a spec-seat parent
File surface: packages/spec/src/system/translation.zod.ts:1183 · objectui packages/app-shell/src/views/FlowRunner.tsx · packages/spec/liveness/translation.json
Dedupe: translation\.flows \| flows\.(label\|screens) \| FlowsTranslation → 0 open hits.
四轴:
- 实际业务需求: 多语言租户希望流程名称随语言切换,Salesforce 的翻译工作台覆盖流程标签。
- 项目长远合理性: 同一个 flows 翻译组里,screens 已经接上、label 还没有。补齐之后整组一致。
- 防 AI 写错: AI 生成的翻译包写了 label 却不生效,会被误判为翻译键拼写错误。
- 创业阶段不扩散: 单键,在已有的 FlowRunner 里加一处读取。
Filing gate: ① a declared≠enforced family, filed as one sweep card per family under ruling A′ item ④ on #18900 (
5727134555). This is triage's standing request5857165909on the seat post. Familytranslation-flow-label, seat verdict ENFORCE.reach:the declared authoring door.packages/specparses this key and publishes it in the reference docs. The liveness ledger row cited below records it as not enforced, and the census re-measured the reader side (§5 cross-check C14, with a lit control:translation.flows.screensIS read by objectuiFlowRunner.tsx:227, which is liveness ledger: action.onSuccess.navigate / openIn and translation.flows.screens are graded planned, but objectui already reads all three at the pinned sha #20296's ledger fix).Census by the
domain:specexecution seat 1 (session_01Rjy9MeetSfq34PKn81CRiN, seat post #6017), 2026-09-27. ⛔ Filed bare: routing and grading belong to triage. ⛔ Not a claim. This family's rank is15of 16. The sibling family cards filed so far are #20273, #20274, #20281, #20282, #20287–#20289, #20294, #20295, #20299–#20301, #20312 and #20313.Capability: Translated flow label
translation.flows.labelpackages/spec/liveness/translation.json:101Flow.label. Sameplannedverdict as its container and for the same reason — declared here, read by no shipped runner yet — but declared per key rather than inherited: the two halves resolve through DIFFERENT consumers when the runner lands (the…Mainstream evidence:
Verdict: ENFORCE — the mainstream has the capability, so build the consumer once, correctly.
Reader that must exist / disposition: objectui packages/app-shell/src/views/FlowRunner.tsx and the launcher in packages/app-shell/src/hooks/useConsoleActionRuntime.tsx. The sibling
flows.<flow>.screensoverlay is already read (FlowRunner.tsx:226-227).User-visible risk (1): A display string in the wrong language.
Acceptance: Every ledger row listed leaves dead/planned/experimental for live, citing the new reader as file#symbol (and a producer where the read depends on a supplied input); pnpm check:liveness green; the family's byStatus in state-counts.md regenerated.
Lane: objectui (domain:ui) sub-issue under a spec-seat parent
File surface: packages/spec/src/system/translation.zod.ts:1183 · objectui packages/app-shell/src/views/FlowRunner.tsx · packages/spec/liveness/translation.json
Dedupe:
translation\.flows \| flows\.(label\|screens) \| FlowsTranslation→ 0 open hits.四轴: