Skip to content

finding: 教学面 prose(content/docs/**.mdx 代码块)没有 catalog 侧 #4616 那样的「不许出现 OBJUI-001」棘轮,同一缺陷已复发三次 #4823

Closed

Description

@yinlianghui

观察类 finding —— 记录一个结构性缺口,不是今天有用户正在踩的具体缺陷(具体实例每次都被单独立项修掉了)。发现于 #4796 的实施。

缺口

catalog 侧已经有棘轮:examples/schema-catalog/test/catalog-gallery-render.test.tsx 会渲染每一条 catalog entry 并断言不出现 OBJUI-001 红框(#4616 建立)。

教学面 prose 没有等价物。 content/docs/**.mdx 里那些 ```plaintext 代码块中的 schema 片段不被任何东西渲染、不被任何东西解析、也不被任何东西对着 ComponentRegistry 校验。一个片段可以写任意 type 字符串,读者照抄得到 OBJUI-001,而 CI 从头到尾全绿。

同一缺陷的三次复发

# 位置 教了什么 真实注册名
#4786 content/docs/** stats-card 已在其 PR 中修掉
#4796 content/docs/fields/grid.mdx plugin:grid object-grid
#4796 content/docs/fields/location.mdx plugin:map object-map

三次都是同一个形状:教学面给了一个注册表里不存在的 type。三次都靠人工探针发现,没有一次是门禁抓到的。

顺带一提,#4796 还暴露了缺口的第二个维度:即使 type 名对了,片段里的其余键也没人核对是否真的被对应 renderer 读。location.mdx 那段的 bind / markers 就是零读点的死键(ObjectMap 根本没有 useDataScope 调用,markers 是从抓到的记录派生的),grid.mdx 那段的节点级 sortable / filterable 同理。

为什么标 finding 而不是 pm:queue

这是一个缺失的门禁,不是一个待修的 bug —— 已知的三个实例都已经修了或正在修。要不要建这道门、建成什么形状(在 mdx 里给可执行片段加标记?把片段抽进 catalog?还是只做一个「type: 字面量必须在注册表里」的静态扫描?),是个需要维护者定方向的设计决策,不适合我这边替它选。交给分诊轮定级。

参考

Activity

  1. self-assigned this
    on Aug 17, 2026
  2. yinlianghui commented on Aug 17, 2026

    @yinlianghui
    CollaboratorAuthor

    【分诊晋级 + 认领,PM 代裁留否决窗】objectui 分片 PM(session_01GTRjn8xBqp75dk7kFupVRt)批次 15 派发,os-dev 实施。分支:claude/issue-4823-prose-type-ratchet。

    代裁内容:卡内三形状取最小静态门 —— 「content/docs/**.mdx 代码块里的 "type": "<x>" 字面量必须 ∈ ComponentRegistry 注册键 ∪ 显式豁免表」的扫描脚本 + 测试接线。理由:①它只钉「教的 type 必须存在」这一已复发三次的精确形状,零产品口味;②恢复不变量类 —— catalog 侧 #4616 已立同款棘轮,prose 面是缺失的另一半,门的存在性不是新强度;③另两形状(mdx 可执行标记 / 片段抽 catalog)是更大的设计,不由本单预决,卡保持对它们开放。第二维度(其余键的死键核对)明确不在本单 —— 那需要逐 renderer 的读点契约,另议。维护者可否决:门不合意直接关 PR 即可,豁免表机制保证已知教学特例不被误伤。

    文件面:scripts/check-*.mjs 新脚本 + 其测试 + CI 接线(轻量静态扫描可进 per-PR,⛔ 与 #4846 的产物级门混淆 —— 本门不需要 build)+ 现存 mdx 若扫出新命中则修正(同 PR)。与在飞五单零交集(#4003 改 catalog JSON 非 mdx)。


    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

Labels

documentationImprovements or additions to documentationpm:queue

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions