You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Nov 4, 2026. It is now read-only.
Repository navigation
This repository was archived by the owner on Nov 4, 2026. It is now read-only.
Activity
xuyushun441-sys commentedon Aug 3, 2026
认领:PM 循环第 2 轮
会话:
session_01NVPjPzmmAJ2Ngtvgg5MSRa(objectui 分片 PM,账号xuyushun441-sys,已在 objectstack#4604 登记)分支:
claude/issue-3236-toolpreview-requiresconfirmationWorktree:
objectui-issue-3236分诊:本单从无标签直接进队列,无需维护者确认
补一句为什么这单不走
needs-user-decision:它看起来像"删掉一个安全相关的确认徽标",但决策已经做完了 —— 单子正文记录了 2026-08-03 维护者对 objectstack#3715 的裁决(metadata tools 暂定为平台内部管线,第三方扩展面只开放 skills,per-tool 确认门不再回归),spec 侧已.strict()+ 墓碑,cloud 侧 24 处也清理完了。本仓这处是三仓扫描后的最后一处残留,属于执行既定裁决,不是重新拍板。派发范围
packages/app-shell/src/views/metadata-admin/previews/ToolPreview.tsx::101的const requiresConfirmation = !!d.requiresConfirmation;与:168据此渲染的徽标分支;:10的头注释仍把它列为展示项,一并改掉;active/builtIn的处理 —— 单子提示这两个也已随 objectstack#3896 移除,可能是同型残留。先核实再动:如果它们仍是 spec 认的键,就不要碰;如果确认同型,一并清掉并在 PR 里说明。核实结论无论正反都要写进报告。为什么这不是"纯删代码"那么简单,值得一条测试
现状危害是单子写明的:spec 已拒收该键,新元数据不会带它,但 admin 预览对陈旧存量行仍会亮出「需确认」徽标 —— 一个 UI 徽标在宣传一个从未存在的安全暂停(objectui#2962 的同型先例)。这是"界面宣传了运行时不兑现的能力"。
所以删完之后请加一条断言:给预览喂一个仍带
requiresConfirmation: true的陈旧对象,断言不渲染任何确认徽标。只删代码而不钉住,下一个人看到 spec 墓碑里的这个名字,很可能"顺手"把徽标加回来。Generated by Claude Code
xuyushun441-sys commentedon Aug 3, 2026
PM 验收:ACCEPT — PR #3258,已入合并队列
main、Fixes objectstack-ai/objectui#3236packages/app-shell+ changesetcontent/docs/releases/零改动Type Check、Changeset Bump Policy、Build & E2E);test shards / Lint / Bundle 仍在跑,已开 auto-merge 由队列在全绿后落地「顺手核对
active/builtIn」被实测回答了,不是猜的我在派发里要求"先核实再动,正反结论都要报"。它没有靠读代码推断,而是直接拿本仓装着的
@objectstack/spec@17.0.0-rc.1跑ToolSchema.parse()逐键探测:结论有两条超出原单:
active/builtIn确认是同型残留(objectstack#3896),不是仍然活着 —— 原单只说"建议一并核";category也是,而原单根本没点名它。一并清掉是对的。同时
objectName被证明仍然是活键并保留了下来 —— 这一条同样重要:本单是"删残留",不是"把 header strip 清空"。测试形态正确:既钉住删除,也钉住没有误删
7 个用例分两组。第一组喂一个仍带全部四个退役键的陈旧草稿,断言一个徽标都不渲染(还额外覆盖
active: true的情形 —— "键是没了,不是反转了")。第二组是正向断言:label、机器名、description、仍然合法的objectName徽标、参数表、Example LLM Call 都必须还在。负向验证做了:把徽标分支放回去,7 个用例红 3 个,并给出准确 diff(
+ Received: <span…>Requires confirmation</span>)。一处我没要求但做对了的收尾
Pill辅助组件的tone('green'/'amber')词汇被一并删掉,因为那些徽标是它仅有的调用者。注释写明了理由:「一套没有调用者却留着的 tone 词汇,正是被删掉的徽标长回来的方式」。这与本单的病理是同一个 —— 留着没有生产者的机制,就是在邀请下一个人把它接回去。changeset:加了,同意
与 #3207 / #3227 不同,这次是用户可见变化(admin 预览里四个徽标消失,包括此前无条件显示的
Active),patch合理。changeset 正文把危害方向写清楚了:Requires confirmation宣传了一个没有任何执行路径实施过的安全暂停(真正的门是action.ai.requiresConfirmation+ HITL 审批队列),而Disabled声称工具已撤下,同时ToolRegistry.getAll()仍在把它交给 LLM、execute 路由仍在跑它。这两条比"徽标不该显示"严重得多 —— 是审查者会被误导的方向。越界发现 #3257,已入队
apps/console/src/preview-samples.ts的tool样例仍声明category/active/requiresConfirmation三个退役键 —— 同型残留,但在本单 scope fence 之外,且它是设计器预览画廊里展示的模板,照抄它的人会得到一份ToolSchema.parse()直接拒收的元数据。已标pm:queue,下一轮排。另外它做了全仓扫描并给出否定结论:除
ToolPreview.tsx与上述 console 样例外,packages/、apps/、content/、examples/、e2e/再无requiresConfirmation或 tool-builtIn残留。否定结论也被如实记录,这正是我要的 —— "我查了,没有"是有用的产出,沉默不是。Generated by Claude Code
fix(app-shell): ToolPreview stops rendering retired ToolSchema flags (o…