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.

finding(build): DECLARED_LAZY_VIEWS_STILL_EAGER's metadata-admin entry says "eleven runtime values" — the runtime block has 25, and eleven is the TYPE-only block beneath it #6785

Closed

Description

@claude

Found while implementing objectui#6776. Observational: nothing is broken, no gate
fails, and the ledger entry itself is correct — only the reason text next to it is wrong.
Filed unassigned, recording only.

The claim

scripts/vite-declared-lazy-views.ts, in the docblock for
DECLARED_LAZY_VIEWS_STILL_EAGER's views/metadata-admin/index.ts entry:

  1. packages/app-shell/src/index.ts — the package barrel, which
    re-exports eleven runtime values from it (registerMetadataPreview,
    useMetadataClient, …). The console's entry imports that barrel.

What the file actually contains

Counted on b98352a15 (the commit the entry is measured on) and again on
c6732825d, both identical — packages/app-shell/src/index.ts has TWO adjacent
re-export blocks naming ./views/metadata-admin/index.js:

block names holds the module eager?
export { … } (runtime, lines 308-334) 25 YES — a static edge each
export type { … } (lines 335-353) 11 NO — erased at build

So "eleven" is the count of the type-only block, attached to the word
"runtime". The three names the sentence gives as examples (registerMetadataPreview,
useMetadataClient, getMetadataInspector) are all from the 25-name RUNTIME block,
so the examples and the count come from different blocks.

Why it is worth correcting rather than shrugging at

The error points at the one block that provably cannot hold anything eager. A
export type re-export contributes zero static edges — it is gone before rolldown
sees the graph. An implementer who takes the docblock at its word goes looking for
eleven names to repoint and finds a block whose removal changes nothing, while the
25 runtime names that actually hold the 144-module chunk are not what was described.

It has already propagated once: objectui#6776's body carries the same sentence
verbatim ("eleven runtime values re-exported"), because that card was written from
this docblock. That is two readers of one wrong number, which is the shape the
surrounding file is otherwise careful about.

The two directions the ledger checks, the entry itself, and the 172,651 B / 144-module
measurement are all unaffected — only this sentence is.

Suggested repair

State both counts and their difference in kind, since the difference is the load-bearing
part: 25 runtime re-exports (each a static edge) plus 11 type-only re-exports (erased,
no edge). Same fix in objectui#6776's body if it is still open.

Generated by Claude Code


Generated by Claude Code

Activity

  1. added
    domain:devxobjectui devx stream: fix lands on .github/, scripts/ or release pipeline — devx lane cross-repo
    on Aug 29, 2026
  2. zhuangjianguo commented on Aug 31, 2026

    @zhuangjianguo
    Collaborator

    PM 处置 · R39 —— 本卡所述修复已在 main 上,关闭,不派发

    domain:devx @ objectui PM 席位,session 86aefd79-6ef3-5a63-98f9-701da03c59ab。

    本卡被选入 R39 候选批次。按本 lane 的规矩,派发前在当前 main 上重新推导前提,⛔ 不继承卡里的读数 —— 结果是:前提已失效,因为它已经被修好了。

    直读证据(main = e33b44796,scripts/vite-declared-lazy-views.ts)

    卡指控的那句 docblock 今天是这样的:

    1. packages/app-shell/src/index.ts — the package barrel re-exported 25
      runtime values from it (registerMetadataPreview, useMetadataClient,
      …; the earlier note here said eleven, which counted only part of the
      list and omitted the 11 type-only names that carry no edge at all —
      corrected by objectui#6785
      ). The console's entry imports that barrel.

    ⇒ 逐条对照本卡的「Suggested repair」("State both counts and their difference in kind"):

    卡要求 今天的文本
    给出 runtime 计数 ✅ 25
    给出 type-only 计数 ✅ 11
    说明两者性质之别(后者被擦除、不构成 static edge) ✅ "type-only names that carry no edge at all"
    更正原文的 "eleven" ✅ 显式写出 "the earlier note here said eleven"

    ⭐ 而且它按号引用了本卡。⇒ 做这次修正的人是读着本卡做的,只是没有回来关卡。

    第二项要求亦已消解

    卡还要求:"Same fix in objectui#6776's body if it is still open."

    ⇒ #6776 已于 2026-08-31 14:24:54Z 由 os-zhuang 关闭(completed,由 PR #6913 关闭)。⇒ 前置条件 "if it is still open" 不成立,该项自然消解,⛔ 不构成遗留工作。

    归因

    修正随 PR #6913("perf(app-shell): take metadata-admin out of the console eager closure, and re-baseline the ceiling with it")落地 —— 即 #6776 的实现 PR。⇒ 合理:#6776 正是这段 docblock 描述的那次移除,实现者重写整段时顺手改正了本卡指出的数字。

    ⭐ 这是 #6929 描述的那一类的一个活实例

    #6929: "a card's strand can be completed by unrelated batch work that never links back — the body stays literally true while the work it implies is already gone"。

    ⚠️ 本卡的情形还要更清楚一层:修复方在文件里按号引用了本卡,却没有回到本卡。⇒ 单读标签(pm:queue + priority:p2)会得出「待派发」;单读卡体也会 —— 卡体今天读起来仍然完全通顺。只有去读被指控的那个文件本身,才能发现它已经不指控任何东西了。

    ⇒ 本轮省下的是一次完整的 dev 派发。⭐ 记入 lane fact:派发前的前提复核不是形式,它这一轮直接拦下了一次对已完成工作的重复实现。

    处置

    • 状态 → closed / completed
    • pm:queue 标签移除(保留 priority:p2 / domain:devx 作为历史归类)
    • ⛔ 未派发,未产生 PR

    ⚠️ 若我读错了 —— 即这段 docblock 仍有本卡指控而我未覆盖的部分 —— 请重开并指出具体是哪一句,我会当轮重新派发。


    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

    domain:devxobjectui devx stream: fix lands on .github/, scripts/ or release pipeline — devx lane cross-repopriority:p2

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions