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
{{ message }}
This repository was archived by the owner on Nov 4, 2026. It is now read-only.
Repository navigation
This repository was archived by the owner on Nov 4, 2026. It is now read-only.
Premise re-verified on origin/main @ 53b7b88: the fallback needle is still the exact literal value.split({{${k}}}) (packages/i18n/src/useSafeTranslation.ts:40), so the spaced/formatted/nested divergence vs i18next stands. Still dormant — the finder's sweep found zero in-repo strings using any of the wider spellings, and no new i18n work has changed that. Held because the two candidate directions (widen the fallback vs gate the accepted spellings in CI) were explicitly left un-adjudicated and #3418's ruling constrains which are legal; nothing hits it today. Restart condition: first in-repo default string using a spaced/formatted/nested placeholder, or a ruling on the accepted-spelling contract.
Triage (findings pass): held, premise re-verified on origin/main @ c29ceff — grade unchanged, no ownership taken.
The fallback needle is still the exact literal (useSafeTranslation.ts:40, split/join on {{k}}).
The zero-occurrence claim still holds: a fresh spaced-placeholder grep hits only JSX prop object literals (context={{ org }}, value={{ openRecordList }} in app-shell views) — the exact non-copy class the card predicted; formatted ({{count, number}}) and nested ($t() forms remain at zero in source copy.
Findings round — held (finding kept), premise re-verified.
Re-checked @ objectui origin/maine638531: the fallback needle is still the exact-literal split/join on {{k}} (packages/i18n/src/useSafeTranslation.ts:40), so the spaced / formatted / nested divergence vs i18next stands; still dormant (prior rounds' sweeps found zero in-repo copy using the wider spellings, and no new i18n work landed on that file since).
Held: the two candidate directions (widen the fallback vs gate the accepted spellings with a parity pin) remain an unmade choice, and no string hits the divergence today.
Findings round — held (finding kept), premise re-verified.
Re-checked @ objectui origin/mainb42558a: the fallback needle is still the exact-literal split/join on {{k}} in packages/i18n/src/useSafeTranslation.ts (with its own comment asserting literal-on-both-sides), so the spaced / formatted / nested divergence vs i18next stands. Still dormant — prior sweeps found zero in-repo copy using the wider spellings and no new i18n work has landed on that file. Held until a real string adopts one of the wider forms or the fallback is consolidated with the provider path.
Cross-reference for the next grading pass: the maintainer ruled 2026-08-11 on ui#4135 that the repo-wide hole convention is — {{x}} exclusively for i18next (argument mandatory at the call site), {x} single braces for any hole filled downstream of t(). When this card is next graded, its provider-less interpolation question aligns to that convention rather than re-opening the spelling fork.
Recorded by the triage seat Routine (#5474 pilot) — reference note, not a claim.
Findings triage (cadence re-check): HOLD — stays finding.
Premise re-verified on origin/main @ 6d8231c: packages/i18n/src/useSafeTranslation.ts:40 is still the exact-literal value.split({{${k}}}).join(...) needle — the fallback recognizes one spelling where i18next recognizes four. The fork survives PR #3510 unchanged, as the card records.
Why still held: the card's own sweep found zero in-repo strings using the spaced/formatted/nested spellings, so no copy misrenders today; the failure mode only arrives with a future string using an i18next-only spelling in a provider-less host. Cheap tripwire idea for whoever picks it up (noted, not scoped here): a lint asserting locale strings stick to the one spelling the fallback understands would fail-closed the day someone introduces the divergence.
Triage (batch first-touch round, 2026-08-17): promotedfinding → pm:queue, type Task, with the scope re-cut by a ruling that landed after filing.
The card's open fork (widen the fallback vs constrain the accepted spelling set) was settled by the maintainer's #4135 ruling (2026-08-11, cross-referenced on this card): repo convention is {{x}} exclusively for i18next-bound copy and {x} for downstream-filled holes. So the remaining work is not widening the fallback — it is a lint/tripwire pinning the convention: default-table (and locale-table) placeholders must use the exact spelling the fallback accepts ({{name}}, no spaces, no format args, no $t( nesting), red in CI on violation. Declared = enforced; the divergence stays dormant by construction instead of by luck. Premise re-verified this round: useSafeTranslation.ts:89 split/join literal, zero violating strings today.
Size/model suggestion: S (mechanical gate with an existing parity-test neighbourhood), sonnet.
Activity
yinlianghui commentedon Aug 7, 2026
发现分诊轮(持有):前提复核 live(fallback 仍只认
{{name}}精确拼形),但三种方言形态在仓内实测零命中、全部休眠;修形要回答"回退该重实现 i18next 方言到什么程度",宜等首个真实出现或并入未来 i18n 加固批,不单独派。(objectui 车道 PM,会话session_01GTRjn8xBqp75dk7kFupVRt)Generated by Claude Code
claude commentedon Aug 9, 2026
Findings round — held (
findingkept).Premise re-verified on
origin/main@53b7b88: the fallback needle is still the exact literalvalue.split({{${k}}})(packages/i18n/src/useSafeTranslation.ts:40), so the spaced/formatted/nested divergence vs i18next stands. Still dormant — the finder's sweep found zero in-repo strings using any of the wider spellings, and no new i18n work has changed that. Held because the two candidate directions (widen the fallback vs gate the accepted spellings in CI) were explicitly left un-adjudicated and #3418's ruling constrains which are legal; nothing hits it today. Restart condition: first in-repo default string using a spaced/formatted/nested placeholder, or a ruling on the accepted-spelling contract.本评论来自分诊座位 Routine(#5474 试点),不构成认领。
Generated by Claude Code
claude commentedon Aug 10, 2026
Triage (findings pass): held, premise re-verified on
origin/main@c29ceff— grade unchanged, no ownership taken.useSafeTranslation.ts:40, split/join on{{k}}).context={{ org }},value={{ openRecordList }}in app-shell views) — the exact non-copy class the card predicted; formatted ({{count, number}}) and nested ($t() forms remain at zero in source copy.本评论来自分诊座位 Routine(#5474 试点),不构成认领。
Generated by Claude Code
claude commentedon Aug 10, 2026
Findings round — held (
findingkept), premise re-verified.origin/maine638531: the fallback needle is still the exact-literal split/join on{{k}}(packages/i18n/src/useSafeTranslation.ts:40), so the spaced / formatted / nested divergence vs i18next stands; still dormant (prior rounds' sweeps found zero in-repo copy using the wider spellings, and no new i18n work landed on that file since).本评论来自分诊座位 Routine(#5474 试点),不构成认领。
Generated by Claude Code
os-zhuang commentedon Aug 11, 2026
Findings round — held (
findingkept), premise re-verified.Re-checked @ objectui
origin/mainb42558a: the fallback needle is still the exact-literal split/join on{{k}}inpackages/i18n/src/useSafeTranslation.ts(with its own comment asserting literal-on-both-sides), so the spaced / formatted / nested divergence vs i18next stands. Still dormant — prior sweeps found zero in-repo copy using the wider spellings and no new i18n work has landed on that file. Held until a real string adopts one of the wider forms or the fallback is consolidated with the provider path.本评论来自分诊座位 Routine(#5474 试点),不构成认领。
Generated by Claude Code
claude commentedon Aug 11, 2026
Cross-reference for the next grading pass: the maintainer ruled 2026-08-11 on ui#4135 that the repo-wide hole convention is —
{{x}}exclusively for i18next (argument mandatory at the call site),{x}single braces for any hole filled downstream oft(). When this card is next graded, its provider-less interpolation question aligns to that convention rather than re-opening the spelling fork.Recorded by the triage seat Routine (#5474 pilot) — reference note, not a claim.
Generated by Claude Code
os-zhuang commentedon Aug 11, 2026
Findings triage (cadence re-check): HOLD — stays
finding.Premise re-verified on
origin/main@6d8231c:packages/i18n/src/useSafeTranslation.ts:40is still the exact-literalvalue.split({{${k}}}).join(...)needle — the fallback recognizes one spelling where i18next recognizes four. The fork survives PR #3510 unchanged, as the card records.Why still held: the card's own sweep found zero in-repo strings using the spaced/formatted/nested spellings, so no copy misrenders today; the failure mode only arrives with a future string using an i18next-only spelling in a provider-less host. Cheap tripwire idea for whoever picks it up (noted, not scoped here): a lint asserting locale strings stick to the one spelling the fallback understands would fail-closed the day someone introduces the divergence.
本评论来自分诊座位 Routine(#5474 试点),不构成认领。
Generated by Claude Code
os-project-manager commentedon Aug 17, 2026
Triage (batch first-touch round, 2026-08-17): promoted
finding→pm:queue, typeTask, with the scope re-cut by a ruling that landed after filing.The card's open fork (widen the fallback vs constrain the accepted spelling set) was settled by the maintainer's #4135 ruling (2026-08-11, cross-referenced on this card): repo convention is
{{x}}exclusively for i18next-bound copy and{x}for downstream-filled holes. So the remaining work is not widening the fallback — it is a lint/tripwire pinning the convention: default-table (and locale-table) placeholders must use the exact spelling the fallback accepts ({{name}}, no spaces, no format args, no$t(nesting), red in CI on violation. Declared = enforced; the divergence stays dormant by construction instead of by luck. Premise re-verified this round:useSafeTranslation.ts:89split/join literal, zero violating strings today.Size/model suggestion: S (mechanical gate with an existing parity-test neighbourhood),
sonnet.Generated by Claude Code
yinlianghui commentedon Aug 17, 2026
认领(objectui 车道分片 PM,会话
session_01GTRjn8xBqp75dk7kFupVRt,批次 16):branchclaude/issue-3512-placeholder-gate。按 2026-08-17 晋级评论的重切范围实施:不拓宽 fallback,建占位符拼写门 —— 默认表与语言包表的 i18next 占位符只准 fallback 能认的精确
{{name}}拼形(无空格、无格式化参数、无$t(嵌套),违例 CI 红;对齐 #4135 裁定({{x}}专属 i18next、{x}单花括号下游洞,后者不得误伤)。文件面:packages/i18n测试邻域(parity 测试同处)。Generated by Claude Code
yinlianghui commentedon Aug 17, 2026
Draft PR: #4904 (branch
claude/issue-3512-placeholder-gate).前提复核 live:
packages/i18n/src/useSafeTranslation.ts:89仍是精确字面value.split(\{{${k}}}`).join(...);今日违例数在三个面上均为 **0**(十个语言包 28,867 条字符串叶子、31 张createSafeTranslation` 默认表 762 条行、3 张手写同款 needle 的兄弟表),所以门是绿着落地的 —— 把休眠分叉从「靠运气不发生」改成「按构造不可达」。按晋级评论的重切实施:不拓宽 fallback,
useSafeTranslation.ts未改一字节。三面反向验证(带空格 / 格式化参数 /$t(嵌套)各自先书面预判再跑,方向全中;两项误伤对照(单花括号{x}、JSX 对象字面量)按 #4135 裁定保持全绿 —— 详见 PR 正文的表格与文案源清单。相邻面已另立 finding:#4905(内联
t(key, { defaultValue })是fallbackT链上的第二步,本门只覆盖文案表;909 条字面内联默认值里 906 条经default-value-drift传递性覆盖,残余 3 条 not comparable + 62 条 computed 无钉,今日 0 违例)。未加pm:queue,留给分诊定级。Generated by Claude Code
test(i18n): 占位符拼写门 —— 无 provider 回退只会遇到它认得的 {{name}} 拼形 (objectstack-…
fix(i18n,scripts): hold every inline defaultValue to the spelling the…
fix(i18n,scripts): hold every inline defaultValue to the spelling the…