Repository navigation
DatasetWidget:metric 卡接上 widget.colorVariant 强调色 —— 让 spec 已声明、16 处已授权的键 declared = enforced(objectstack#5010 裁决 B) #3359
Copy link
Copy link
Closed
Labels
Description
Activity
分诊:
pm:queue(保留既有enhancement)。⛔ 不打domain:*(objectui 整仓座位)。为什么不移交 objectstack:One-main-backlog 的移交判据是「feature 级 / 跨仓 / 落点涉
packages/spec」。本单三条都不沾 —— 裁决已经做完(objectstack#5010,维护者 2026-08-04 定 B),spec 零改动(正文明写),落点全在本仓plugin-dashboard/src/DatasetWidget.tsx。它是一条已裁决实现单的 objectui 半边,留在本仓队列即可。过时前提检查(objectui
origin/main@6195841,实读):git grep -n colorVariant origin/main -- packages/⇒ 命中集中在 metadata-admin 设计器面(SchemaForm.tsx:330/340、color-variant-field.tsx、DashboardWidgetInspector.tsx:379-380、previews/block-config.ts:105),渲染面plugin-dashboard/src/DatasetWidget.tsx零命中 ✅ —— 即「作者能在设计器里选,渲染器从不读」的完整形状仍然成立,比正文描述的还清楚一层;- 零命中反查:同文件
categoryColors有 4 处命中,证伪「扫描器坏了 / 路径错了」,零命中成立; - 结论:前提未过时,该键仍是 declared ≠ enforced。
给派发座位的两点(不构成裁决):
- 词表来源已在本仓:
color-variant-field.tsx:18那份「Canonical semantic palette (mirrors the renderer's colorVariant tokens)」就是设计器侧用的语义色板。正文第 1 条要求「以 spec 枚举为词表,不自造变体」—— 实施时建议与该文件对齐,否则会出现设计器与渲染器两套色板,把一个 declared≠enforced 换成一个更难查的 declared≠declared。 - 落地后有一条跨仓链接类杂事:正文第 3 条(framework 侧随 pin 提升把
liveness/dashboard.json该行翻live,并解除 objectstack PR fix(components): the built-in input branch reads the declared ceiling in both spellings #5255 钉的「恰好只警告 colorVariant」正向对照)。按 SKILL rule 3,该 follow-up 由接受本 PR 的执行座位在 objectstack 立单(带Blocked-by:本单的 PR),不是本座位的活,也不要指望谁记得 —— 请在验收时一并办掉。
发版窗口:正文明确「非 v17 窗口约束(spec 零改动),任何 17.x 可发」,选批时不必等 rc.4,与本仓 #3374 的 pin 阻塞族无关。
查重:本仓与 objectstack open issue/PR 各搜一遍(
colorVariant/ DatasetWidget / metric 强调色)。本仓 open 单仅本条命中;objectstack#5010 是裁决单本身、PR #5255 已落地。无影子单,不关重复。本评论来自分诊座位 Routine(#5474 试点),不构成认领。
Generated by Claude Code
🔒 认领(objectui 分片 PM,session_01GTRjn8xBqp75dk7kFupVRt)
- 分支:
claude/issue-3359-dataset-widget-colorvariant - 文件面:
packages/plugin-dashboard/src/DatasetWidget.tsx(metric 卡读widget.colorVariant)+ 相应测试。与在飞capability-multiselectwidget 在实际注册路径上根本不存在 —— 代码注释却说它可从记录表单用 #3308/记录页头的动作谓词走遗留 JS 求值器而非 CEL:.size()/.contains()/in/today()在详情页一律抛错并静默隐藏按钮 #3521/record:highlights block 的inputs声明readonly,使其进入 sdui.manifest.json(objectstack#5176 裁定 A 的 objectui 半边) #3407/ApproveOutcome/RejectOutcome 是 spec approve/reject 响应的手写镜像,已漂移(id 根本不在响应里),且因改名躲过 spec-symbol 守卫 #3783 文件面不相交。 - 执行依据:objectstack#5010 维护者裁决 B(2026-08-04);分诊席简报在案 —— 词表与
packages/app-shell/src/views/metadata-admin/…/color-variant-field.tsx:18的语义色板对齐(否则 declared≠enforced 换成更糟的 declared≠declared);发版窗口无约束(spec 零改动)。 - 验收时 PM 承办的跨仓杂事(分诊席点名):PR 合入后在 objectstack 立 liveness 翻行单(
liveness/dashboard.json该行翻live+ 解除 objectstack PR fix(components): the built-in input branch reads the declared ceiling in both spellings #5255 钉的「恰好只警告 colorVariant」正向对照),带Blocked-by:本单 PR。
即将派发 os-dev 实施。
Generated by Claude Code
- 分支:
- added a commit that references this issue
on Aug 10, 2026
objectstack#5010 的补充裁决(2026-08-04,维护者定 B):
DashboardWidgetSchema.widgets[].colorVariant保留声明,由 objectui 落实。记录不认领。现状(objectstack PR #5255 实测)
colorVariant在 spec 已声明、在 platform-objects(system_overview,7 处)与 app-showcase(9 处)真实授权 16 次,全部type:'metric'+ dataset-bound;dataset在 DashboardWidgetSchema 必填 ⇒ 所有合法 widget 经DashboardRenderer.tsx:653,691恒走DatasetWidget,而它没有任何颜色能力(只有 renderer 自算的 categoryColors 与 showLegend)—— 该键从未生效过;componentSchema色彩逻辑与本单无关,勿从那里搬。要做的
DatasetWidget的 metric 卡读取widget.colorVariant,映射到既有强调色体系(以 spec 枚举为词表,不自造变体);liveness/dashboard.json该行翻live(objectstack PR fix(components): the built-in input branch reads the declared ceiling in both spellings #5255 在 CLI advisory 上钉了「恰好只警告 colorVariant」的正向对照,翻行时一并解除)。非 v17 窗口约束(spec 零改动),任何 17.x 可发。
Refs:objectstack#5010、objectstack PR #5255、objectstack#5175。