观察类 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:` 字面量必须在注册表里」的静态扫描?),是个需要维护者定方向的设计决策,不适合我这边替它选。交给分诊轮定级。 ## 参考 - #4616 / `examples/schema-catalog/test/catalog-gallery-render.test.tsx`(catalog 侧的既有棘轮) - #4786(第一次复发,`stats-card`) - #4796 / PR #4822(第二、三次复发,本 finding 的发现来源)
Activity
yinlianghui commentedon Aug 17, 2026
【分诊晋级 + 认领,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
chore(scripts): 教学面 prose 的 OBJUI-001 棘轮 —— 文档代码块的 type 必须是注册键 (objec…
docs(plugin-calendar): 删除重复的 ObjectCalendar Component 标题与引言 (objectst…