由 domain:ui @ objectui 派发席开出,来源是 objectui#8441 / PR #8815 的实现方在 open_questions 里提的升级。⛔ 未认领。
读数
✅ chunk `i18n-locales` 443.8 KB measured / 444.3 KB ceiling (headroom 0.5 KB)
PR #8815 给十个语言包各加了两组复数族(detail.repeaterItemCount、detail.fileCount),十个包文件的源码 gzip 增长 783 字节(536,883 → 537,666,-9 口径;这是对 chunk 增量的近似,因为该 chunk 是压缩并打包后的)。⇒ 本次吃掉了余量的大部分,而在它之前余量就已经很少。
门禁当前是绿的。这张卡不是报缺陷。
⚠️ 真正的问题不是「上限快满了」,而是它会红错 PR
派发席最初的判断是「不开卡 —— 门禁自己就是标记,下一张加包键的卡会被它拦住,并给出清楚的信息」。这个判断不完整,现予更正。 #8815 的实现方指出的机制比它严重:
门禁称量的是 merge ref。所以一个新增语言包键的兄弟 PR 若先落地,会让一个在飞的、本身并不越界的 PR 在合并队列里变红 —— 那是一次算术碰撞,读起来却像是该 diff 自己的缺陷。
⇒ 这不是「门禁拦住了该拦的人」,而是门禁把账算到了无辜的 PR 头上。被拦的那个 dev 会去检查自己的 diff,而他的 diff 没有问题。
⚠️ 这正是本仓已经为之退役过一个门禁的形状:一个会误归因的仪器,比一个缺失的仪器更贵。
⇒ 定级 p2(⛔ 不是 p3):它不是「以后要处理的技术债」,而是一个会主动生成假红并误导承接者的机制,且触发条件(两个 i18n PR 在飞)本班次已经出现过。
三个选项(⛔ 派发席不代维护者决定)
A — 在一张专门的 PR 里抬 PER_CHUNK_GZIP_CEILINGS['i18n-locales'],按 ratchet 平常移动的方式。
代价:一次维护者决定。收益:后续每一张 i18n 卡都不被卡住,假红消失。
⇒ 实现方推荐 A,派发席同意,理由是上面那条假红机制:它的代价不是「一张卡被挡」,而是「一个无关的 dev 去调查一个不存在的缺陷」。
B — 不动,让下一次加键把门禁撞红,把那次红当作触发 chunk 拆分 / 懒加载的强制函数。
代价:一个被打断的 dev + 一张被挡的卡,外加上面那条假红的风险。
C — 全仓把复数族缩成 base + _one(去掉 _other,i18next 本来就会把它解析回 base —— common.objects / common.objects_one 已经是这个写法)。
可在现有各族上省下几 KB。
⚠️ 但它会在同一个包里混用两种约定,除非作为一次全仓清扫来做。⛔ 且不应搭在任何功能卡上。
⛔ #8815 刻意没有选 C 来给自己买余量,派发席已确认这个拒绝是对的:base + _one + _other 是 en 包自己的规范注释所背书的「A REAL i18next plural family」形状,为一个不属于该 PR 的天花板牺牲约定清晰度,方向是反的。
⚠️ 承接约束
- ⛔ 不要在一张功能卡里顺手抬上限。 ratchet 的移动要可追溯到一次明确的决定,而不是藏在某个改动的附带里。
- ⛔ 不要按「先测一下到底还剩多少」来代替决定。 数字已经在上面了(0.5 KB),而且它每次有人加键就会变 —— 再测一次不产生新信息。
- 若取 A:PR 里应写清抬到多少、依据什么(例如「够 N 个语言包键」),否则下一次还是同一个问题,只是推迟了。
- 若取 C:那是一次全仓清扫,需要自己的卡和自己的反向核验,⛔ 不要与 A 打包。
Dedup
派发席按 i18n-locales / eager-closure / PER_CHUNK_GZIP_CEILINGS 在本仓 open issue 中查过,未见覆盖本决定的卡。⚠️ 该查询没有配亮对照,所以这个零应当被当作未经确认的读数 —— 承接者若要依赖它,请带对照重查。
来源
objectui#8441 · PR #8815(该 PR 的 验收备注 与 open_questions 载有完整读数)· check:eager-closure
由
domain:ui @ objectui派发席开出,来源是 objectui#8441 / PR #8815 的实现方在open_questions里提的升级。⛔ 未认领。读数
PR #8815 给十个语言包各加了两组复数族(
detail.repeaterItemCount、detail.fileCount),十个包文件的源码 gzip 增长 783 字节(536,883 → 537,666,-9口径;这是对 chunk 增量的近似,因为该 chunk 是压缩并打包后的)。⇒ 本次吃掉了余量的大部分,而在它之前余量就已经很少。门禁当前是绿的。这张卡不是报缺陷。
派发席最初的判断是「不开卡 —— 门禁自己就是标记,下一张加包键的卡会被它拦住,并给出清楚的信息」。这个判断不完整,现予更正。 #8815 的实现方指出的机制比它严重:
⇒ 这不是「门禁拦住了该拦的人」,而是门禁把账算到了无辜的 PR 头上。被拦的那个 dev 会去检查自己的 diff,而他的 diff 没有问题。
⇒ 定级
p2(⛔ 不是 p3):它不是「以后要处理的技术债」,而是一个会主动生成假红并误导承接者的机制,且触发条件(两个 i18n PR 在飞)本班次已经出现过。三个选项(⛔ 派发席不代维护者决定)
A — 在一张专门的 PR 里抬
PER_CHUNK_GZIP_CEILINGS['i18n-locales'],按 ratchet 平常移动的方式。代价:一次维护者决定。收益:后续每一张 i18n 卡都不被卡住,假红消失。
⇒ 实现方推荐 A,派发席同意,理由是上面那条假红机制:它的代价不是「一张卡被挡」,而是「一个无关的 dev 去调查一个不存在的缺陷」。
B — 不动,让下一次加键把门禁撞红,把那次红当作触发 chunk 拆分 / 懒加载的强制函数。
代价:一个被打断的 dev + 一张被挡的卡,外加上面那条假红的风险。
C — 全仓把复数族缩成 base +
⚠️ 但它会在同一个包里混用两种约定,除非作为一次全仓清扫来做。⛔ 且不应搭在任何功能卡上。
_one(去掉_other,i18next 本来就会把它解析回 base ——common.objects/common.objects_one已经是这个写法)。可在现有各族上省下几 KB。
⛔ #8815 刻意没有选 C 来给自己买余量,派发席已确认这个拒绝是对的:base +
_one+_other是en包自己的规范注释所背书的「A REAL i18next plural family」形状,为一个不属于该 PR 的天花板牺牲约定清晰度,方向是反的。Dedup
派发席按⚠️ 该查询没有配亮对照,所以这个零应当被当作未经确认的读数 —— 承接者若要依赖它,请带对照重查。
i18n-locales/eager-closure/PER_CHUNK_GZIP_CEILINGS在本仓 open issue 中查过,未见覆盖本决定的卡。来源
objectui#8441 · PR #8815(该 PR 的
验收备注与open_questions载有完整读数)·check:eager-closure