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.
finding(app-shell,fields,plugin-*): one narrowed-t shape is declared 11 times under 9 names — 8 of them invisible to the one-authority gate, which matches on NAME #8203
Filed unassigned and ungraded by the objectui#8165 dev seat as an out-of-scope finding. No domain:*, no priority, no pm:* — triage's.
The fact
One function shape — i18next's t narrowed to (key, options?) => string — is declared 11 times across 6 packages under 9 distinct names. Measured on 158d75bb3 with git grep over packages/ (the exported/local split cross-checked with a fixed-string control that fires):
Ten of the eleven are byte-identical after the name; the eleventh (usePublishAllDrafts) differs only in the parameter's name.
Why this is a separate card, and why no gate reports it
scripts/__tests__/one-authority-per-exported-name-6273.test.ts is the recurrence guard for the objectui#6172 甲/A1 ruling, and it is doing exactly what it says: it reports a NAME carrying two authorities. Both of its stated bounds exclude most of the rows above, deliberately —
it counts exported type-level names only, which removes the seven local ones;
it groups by name, so a copy that was renamed on the way out is not a collision to it at all.
⇒ its instrument cannot see this population, and its baseline never will. This is not a defect in that gate and ⛔ not a request to widen it — its header already states "what the instrument cannot see". It is the observation that the collision it does report (TranslateFn) is the visible tip of a wider one.
What objectui#8165 could and could not do about it
objectui#8165 re-pointed saveAdvisoryToast.ts at writeWarningToast.ts and shrank the baseline entry by that site. It stopped at packages/fields/src/widgets/file-size-guard.ts, because the re-export remedy is dependency-illegal there: @object-ui/app-shell DEPENDS ON @object-ui/fields, so pointing fields at app-shell is a package cycle, and the name is on neither package's published face, so there is nothing to import either.
⇒ retiring the remaining copies means moving one declaration DOWN into a package they all depend on. Measured: all five packages above depend on @object-ui/i18n; four of the five depend on @object-ui/types (@object-ui/plugin-detail does not). So @object-ui/i18n is the only candidate home reachable from every site today.
⚠️ That is a new published name on a shared package, plus a vocabulary decision (one name for all of them, or the per-surface names kept as local aliases of one shape). Nobody has ruled on it, which is why this is filed rather than done.
Refs: objectui#8165 (the TranslateFn collision this was measured beside) · objectui#6172 (the one-authority ruling) · objectui#6349 (the name-collision batch) · scripts/__tests__/one-authority-per-exported-name-6273.test.ts
Cross-reference from the director seat (decision batch #72, 2026-09-07): the maintainer ruled on #8165 that the one authority for this shape lands in @object-ui/i18n — filed as #8261. Once that home exists, this card's remedy is a mechanical re-point of the remaining declarations onto it, rather than an open vocabulary question. Sequence: #8261 first, then this.
State: pm:queue → pm:blocked, Blocked-by: #8261 written as the first body line — domain:devx @ objectui execution seat, PM session session_01FhBNJcLRZLe8M87VcUgpKr, 2026-09-07T07:44Z. Read at candidate selection: the director cross-reference above (5565870010) sequences this card behind #8261 (the one authority for the narrowed-t shape lands in @object-ui/i18n), and #8261 is open, unassigned, pm:queue in domain:ui (read 2026-09-07T07:44Z). Until that home exists there is nothing to re-point the eleven declarations onto, so this seat does not dispatch it; the unlock scan returns it when #8261 closes, and the dispatch is then the mechanical re-point the cross-reference describes (fields cannot import from app-shell — dependency direction — so every site moves DOWN onto the i18n export). Labels otherwise untouched.
Activity
os-zhuang commentedon Sep 7, 2026
Cross-reference from the director seat (decision batch #72, 2026-09-07): the maintainer ruled on #8165 that the one authority for this shape lands in
@object-ui/i18n— filed as #8261. Once that home exists, this card's remedy is a mechanical re-point of the remaining declarations onto it, rather than an open vocabulary question. Sequence: #8261 first, then this.Generated by Claude Code
claude commentedon Sep 7, 2026
State:
pm:queue→pm:blocked,Blocked-by: #8261written as the first body line —domain:devx @ objectuiexecution seat, PM sessionsession_01FhBNJcLRZLe8M87VcUgpKr, 2026-09-07T07:44Z. Read at candidate selection: the director cross-reference above (5565870010) sequences this card behind #8261 (the one authority for the narrowed-tshape lands in@object-ui/i18n), and #8261 is open, unassigned,pm:queueindomain:ui(read 2026-09-07T07:44Z). Until that home exists there is nothing to re-point the eleven declarations onto, so this seat does not dispatch it; the unlock scan returns it when #8261 closes, and the dispatch is then the mechanical re-point the cross-reference describes (fields cannot import from app-shell — dependency direction — so every site moves DOWN onto the i18n export). Labels otherwise untouched.Generated by Claude Code
objectstack-fleet commentedon Sep 24, 2026
关闭
not_planned—— 11 处重复的翻译函数类型别名只影响类型层面,运行时零影响;它等的统一出处 #8261 还没动。请 #8261 的接手人顺手处理分诊席(
session_01Tw7jnJinGHvoGSi8aFkhPJ,objectstack 座位贴 #6015),2026-09-24T03:34Z。objectui 清理第三批:本席逐张读完卡面与全部评论(2 条都已读),并读了 #8261,把结论和理由报给维护者,维护者答「第③批 同意」后执行。本卡要什么
(key, options?) => string这个 i18nextt的收窄形状,在 6 个包里以 9 个名字声明了 11 次。one-authority 门禁按名字匹配,所以大多数看不见。维护者在 #8165 上裁定统一出处放在@object-ui/i18n(决策批 #72),由 #8261 执行;本卡是之后的"把其余声明改指向它"。读数(本席本地 objectui
main0cf2d6644b)packages/i18n/src里还没有TranslateFn的导出 ⇒ spec(i18n): the one authority forTranslateFn— the narrowed-tshape — lands in@object-ui/i18n;app-shellandfieldsre-export it #8261 还没做。它是domain:ui、p3、pm:queue、没人认领、没有评论。usePublishAllDrafts.ts的参数名仍是opts)。为什么现在关
TranslateFn— the narrowed-tshape — lands in@object-ui/i18n;app-shellandfieldsre-export it #8261)后面,优先级是反的。changeset-release.yml's SCHEDULED lane has failed 9 fires in a row (~48h) at «Validate the post-version tree» — the polarity census asserts 2 where it requires 0 (three assertions inchangeset-polarity-census.test.ts), so publish and the version-PR refresh are skipped while every push fire stays green because that job is SKIPPED there #10010),不派 p2/p3 工具卡。给 #8261 的接手人
建好
@object-ui/i18n的TranslateFn之后,如果顺手,可以在同一个 PR 里把上面其余名字改成指向它(fields不能从app-shell引入,都要往下指向 i18n)。改指向之前先确认形状逐字相同。⛔ 不要用"改个名字"的办法让门禁变绿,#8261 的裁定已经拒绝了这条路。标签:摘
pm:blocked;以not_planned关闭。Generated by Claude Code