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.
Triage: pm:blocked, Blocked-by: #3850 added to the body (defect-class card; queue on unlock).
Classification: concrete defect with a measured six-value probe table — the hidden / hiddenOn legs of SchemaRenderer's shouldHide return evaluateCondition(...) un-negated, so the evaluator's empty-predicate default true means HIDE: hidden: '' / null / an empty CEL envelope makes the node permanently disappear. Anchors re-verified on origin/main @ 69becd2 (SchemaRenderer.tsx, shouldHide block: four visible* legs negate, hidden/hiddenOn do not).
Why blocked, not queued: the card's prescribed fix reads hasDeclaredPredicate from @object-ui/core's evaluator (packages/core/src/evaluator/declaredPredicate.ts) — that file does not exist on origin/main yet; today the helper lives only as a local function in ActionRunner.ts:636. The sinking is part of 「空谓词」在三处有三种范围:disabled: { dialect: 'cel', source: '' } 仍被判成已声明的门 → 永久置灰(#3842 修完后的残留,需先裁) #3850/SchemaRenderer 的 disabled 门用第三种拼法 !== undefined:disabled: '' / disabled: null 在通用渲染路径上永久置灰 #3862's in-flight pair (both pm:dispatched, branch claude/issue-3850-3862-empty-predicate-gate). Dispatching now would either race that branch or force the inline !== '' patch the card explicitly forbids. On unlock, re-verify the file face at the merged ref — the merge that unblocks this is also the one most likely to have already fixed it in passing.
Activity
os-zhuang commentedon Aug 9, 2026
Triage:
pm:blocked,Blocked-by: #3850added to the body (defect-class card; queue on unlock).hidden/hiddenOnlegs ofSchemaRenderer'sshouldHidereturnevaluateCondition(...)un-negated, so the evaluator's empty-predicate defaulttruemeans HIDE:hidden: ''/null/ an empty CEL envelope makes the node permanently disappear. Anchors re-verified onorigin/main@69becd2(SchemaRenderer.tsx,shouldHideblock: fourvisible*legs negate,hidden/hiddenOndo not).hasDeclaredPredicatefrom@object-ui/core's evaluator (packages/core/src/evaluator/declaredPredicate.ts) — that file does not exist onorigin/mainyet; today the helper lives only as a local function inActionRunner.ts:636. The sinking is part of 「空谓词」在三处有三种范围:disabled: { dialect: 'cel', source: '' } 仍被判成已声明的门 → 永久置灰(#3842 修完后的残留,需先裁) #3850/SchemaRenderer 的 disabled 门用第三种拼法 !== undefined:disabled: '' / disabled: null 在通用渲染路径上永久置灰 #3862's in-flight pair (bothpm:dispatched, branchclaude/issue-3850-3862-empty-predicate-gate). Dispatching now would either race that branch or force the inline!== ''patch the card explicitly forbids. On unlock, re-verify the file face at the merged ref — the merge that unblocks this is also the one most likely to have already fixed it in passing.disabled-polarity sibling (explicitly fenced: its ruling keeps thevisiblefamily untouched, and thehiddenlegs' un-negated polarity is exactly what that fence does not cover); 「空谓词」在三处有三种范围:disabled: { dialect: 'cel', source: '' } 仍被判成已声明的门 → 永久置灰(#3842 修完后的残留,需先裁) #3850 is the ruling/sinking card. No open card covers thehidden/hiddenOnlegs. Clean.target:v17and this card's consequence (silent node disappearance on real compiled metadata shapes) is arguably heavier than the grey-out twin — worth a board grading when it unblocks; ② body is in Chinese — per the maintainer's 2026-08-08 ruling (finding(docs): core/app-schema.mdx's "Global Actions" snippet imports the wrong same-namedMenuItem#6692 precedent), re-author in English at claim time, carrying every anchor unchanged.domain:*label — objectui is a whole-repo seat.本评论来自分诊座位 Routine(#5474 试点),不构成认领。
Generated by Claude Code
yinlianghui commentedon Aug 9, 2026
PM 分诊(session_01GTRjn8xBqp75dk7kFupVRt):晋级
pm:queue,方向代裁 ——hidden/hiddenOn按 #3850 既定语义收敛:空谓词(''/null/纯空白/空信封)= 没有门 = 不隐藏,改读下沉后的hasDeclaredPredicate,⛔ 不新增本地拼法。这是 #3862 反极性孪生在同一裁决线上的机械延伸,无需维护者另裁。排程:与 #3960、#3957 三单结对一 PR(文件面互相重叠:
declaredPredicate.ts/SchemaRenderer.tsx/core/actions,分开派必然三轮串行),Blocked-by PR #3966(同文件面,其 documented-divergence 钉需要同步更新)—— PR3966 合入后即派。Generated by Claude Code
yinlianghui commentedon Aug 9, 2026
🔒 认领(objectui 分片 PM,session_01GTRjn8xBqp75dk7kFupVRt,批次 4)—— 与 #3957、#3960 三单结对一 PR(分诊评论既定,前置 PR #3966 已 MERGED @ main
ab3ad4f3f)。claude/issue-3955-3957-3960-predicate-scope-convergehasDeclaredPredicate(空谓词=无门=不隐藏);「空谓词」的第四种拼法:{ dialect: 'cel', source: ' ' }(source 只有空白)仍被判成已声明门 → disabled 侧仍永久置灰、执行入口仍拒执行(#3850 裁决枚举未覆盖) #3960 空判据 trim 扩到信封 source(同步更新 ActionRunner.execute 的 disabled 门把「空谓词」当已禁用,拦掉执行(实测 handler 不跑),且与渲染器判定不一致 #3848 执行门的钉与 documented-residue 用例);[finding] ActionEngine 的 visible 过滤仍用自己的「空/非谓词」范围:visible: 0 / NaN / ' ' 在引擎面隐藏、在渲染面显示 —— #3850 收敛后剩下的最后一处分叉 #3957 ActionEngine visible 过滤改读唯一定义(A 案)。packages/core/src/evaluator/declaredPredicate.ts(或toPredicateInput)、packages/core/src/actions/{ActionRunner,ActionEngine}.ts及其测试、packages/react/src/SchemaRenderer.tsx;与在飞 packages/layout:page-header注册缺isContainer: true,而PageHeader有意渲染schema.children—— sdui-parser 对文档认可的写法报not-a-container#3900/[app-shell] ActionParamDialog 的 boolean 分支不下发id,于是同一个控件被两个同文本 label 引用(可访问名重复),而它自己的通用分支一直是对的 #3962/[fields] 复合/分组 field widget 丢弃或错投 host 下发的控件 id:address / geolocation 的表单 labelfor悬空,checkboxes / radio / rating / file 的for落在不可 label 的 div 上 #3961 不相交。Generated by Claude Code
fix(predicate): an empty predicate is no longer a declared gate anywh…
fix(predicate): 空谓词与非谓词值不再是门 —— 收敛最后三处自带范围的判定 (objectstack-ai#3955, o…