Skip to content
This repository was archived by the owner on Nov 4, 2026. It is now read-only.
This repository was archived by the owner on Nov 4, 2026. It is now read-only.

[Decision] Should the eager-closure budget be tightened below today's payload — absolute ceiling, true ratchet, or per-chunk budgets? #5468

Closed

Description

@claude

Follow-up owed by the seat that accepted #5324 / PR #5463…#5466. ⛔ Filed as the fork only — not a grading and not a recommendation adopted. Dedupe done before filing: repo-scoped listing of all open issues, three pages, regex over titles and bodies for ratchet.*budget / per-chunk budget / vendor-objectstack / tighten.*ceiling / performance budget — the only hits are #5324 itself, #5359 (a specific regression, pm:blocked) and #5382 (unrelated). No twin.

Context

#5324 landed the eager-closure gauge (PR #5466). Per its dispatch, the dev shipped a truthful current-state ceiling and did not lower it unilaterally: 3,960,000 gzipped bytes = today's 3,881,609 plus 2.02% headroom, deliberately narrower than the 89 KiB #5266 regression it exists to catch (a repeat fails by 12.4 KB). Both constraints are expect()s in scripts/__tests__/check-eager-closure-budget.test.ts, so widening the ceiling past the regression size fails a test.

The gap that ceiling records is the point of this card. 3.79 MB gzipped before first render is a bad payload. Where the mass actually is, measured:

eager chunk gzipped share of closure
vendor-objectstack 1,493 KB 38%
framework 484 KB 12%
ui-components 380 KB 10%

The fork

Dev's recommendation: A now, C next, B only if C proves insufficient — the shipped headroom (78,391 bytes) is already narrower than the regression it targets, so B's marginal value over A today is small relative to its queue cost, while C is the cheapest real tightening and points at where 38% of the mass sits.

Why this is a decision and not a seat's call

It sets how much friction CI imposes on every future PR, and B's failure mode lands on authors who did nothing wrong. Gate-strength policy is the maintainer's. ⛔ No seat should pick this.

Triage may re-grade the label; filing it in the decision inbox because the fork is already fully measured and there is nothing left to investigate before answering it.


Generated by Claude Code

Activity

  1. os-zhuang commented on Aug 21, 2026

    @os-zhuang
    Contributor

    分诊决策箱勤务:本卡入箱时缺标准四棱卡面块,补齐如下(卡内测量与 dev 建议为输入;维护者回一个字母即可)。

    <!-- os-decision-facets -->

    一句话问题

    首屏渲染前要下载 3.79MB(gzip)——门禁已钉住"不再变得更糟",但要不要收得更紧、用哪种闸,决定了以后每个 PR 在 CI 里付多少摩擦。

    选项 × 真实代价

    选项 做什么 客户/团队可感知代价
    A 维持绝对上限 现状(今日负载 +2.02% 余量),等闭包真被切开(#5325/#5359)后再收 零新增摩擦;#5266 级回退(89KiB)今天就拦得住;总量不缩
    B 改为对 main 的真棘轮 每 PR 对比 main 构建 每 PR 多一次 main 构建;两个并发加体积的 PR 会在合并队列里互相弹出,作者双方都无法预见 —— 罚到没做错事的人
    C 叠加分块预算 给 vendor-objectstack(38% 质量所在)等单块设上限 一次性设定;聚合余量内的单块膨胀从此可见;不加每 PR 成本

    四轴(业务立场)

    推荐 A 现在 + C 下一步(即 dev 建议);回退 B 仅当 C 实测不够。
    置信缺口:本分析看不见 vendor-objectstack 块内部的可拆性(未测量其构成),也看不见 #5325/#5359 路由切分的落地时间表 —— 若那两张卡近期落地,C 的分块线应在其后设定而非之前。

    裁后执行(你不用管)

    回一个字母。A → 本卡关 not planned(现状即裁定),C 候补开工卡入队;C → 立 pm:queue 工卡(分块预算,S 级);B → 立卡并注明队列弹出税已被知情接受。


    Generated by Claude Code

  2. os-zhuang commented on Aug 21, 2026

    @os-zhuang
    Contributor

    Maintainer ruling (2026-08-21, live PM chat — recorded by the triage seat)

    Verbatim (untranslated): 「其他接受」 — accepting the triage recommendation for this card: A now + C next; B rejected (the merge-queue double-ejection failure mode and per-PR main-build cost land on authors who did nothing wrong, for marginal value over the shipped ceiling).

    Execution per the card's pre-written clause: the absolute ceiling stands as shipped (nothing to change = A); the C work card is filed as #5490 (pm:queue, S-size: per-chunk budgets, vendor-objectstack first). This decision card closes as completed — the ruling is recorded here and on #5490.


    Generated by Claude Code

  3. os-zhuang commented on Aug 21, 2026

    @os-zhuang
    Contributor

    Closing as completed — the decision this card exists for is made and executed. Provenance: maintainer ruled A + C in the 2026-08-21 chat adjudication session (recorded on this card and in the triage seat post objectstack-ai/objectstack#6015 appendix, 03:54Z): keep the absolute ceiling now (A), and per-chunk budgets as the next tightening (C), with B only if C proves insufficient. The C work card exists as #5490. The close itself was owed from that session (blocked then by rate limiting) and is executed now by the triage seat, session session_01YCm6utUKLsQ7B6VStm3XUM.


    Generated by Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions