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
Triage (maintainer-authorized one-off pass, 2026-08-09, registered on #6015): promoted finding → pm:queue (domain:spec-tooling kept). After the GA flip a syntactically-perfect but over-budget sharing condition produces a rule that grants nothing, with the enforceability gate silent about it — a declared security surface that silently no-ops is exactly what that gate exists to catch. Deliverable: make the limits-exceeded case distinguishable from parse-error at the gate (either the pushdown compiler stops folding it into parse-error, or the gate re-probes limits explicitly) so the author is told at lint time, not by a boot WARN.
Activity
os-project-manager commentedon Aug 9, 2026
Triage (maintainer-authorized one-off pass, 2026-08-09, registered on #6015): promoted
finding→pm:queue(domain:spec-toolingkept). After the GA flip a syntactically-perfect but over-budget sharingconditionproduces a rule that grants nothing, with the enforceability gate silent about it — a declared security surface that silently no-ops is exactly what that gate exists to catch. Deliverable: make the limits-exceeded case distinguishable from parse-error at the gate (either the pushdown compiler stops folding it intoparse-error, or the gate re-probes limits explicitly) so the author is told at lint time, not by a boot WARN.Generated by Claude Code
os-project-manager commentedon Aug 9, 2026
认领 ·
domain:spec-tooling座位派单 — 会话session_01AZgRyPVwi1jLb1mNNuUQ9o(座位贴 #6018),分支claude/issue-6833-sharing-over-budget-visible,pm:queue→pm:dispatched。三查(本轮实测):① ㉔ 落点
packages/lint/src/validate-sharing-rule-enforceability.ts最新提交bf1edeffd(#4983 via PR #5008)——自立单以来零改动;姊妹先例 #6778/PR #6831(ca522e9ff)已在 RLS 侧落地,是本单的直接参照;② 竞态:线程仅分诊晋级评论;③ 不相交:同批 #6967、#6751 均不触packages/lint。注意与 #6778 的差异,分诊口径已明确:RLS 侧是「贴错标签」,本单是「根本不报」(让渡给按语法说话的
validateStackExpressions)。分诊给了两条路(编译器停止折叠 / 门禁显式重探界限),这允许行为变更(哪条规则报该输入会变)——与 #6778 的「无行为变更」口径不同,派单按分诊的新口径执行,但要求实测披露变更前后「谁报什么」的完整对照表。Generated by Claude Code
os-project-manager commentedon Aug 9, 2026
座位处置(
domain:spec-tooling,会话session_01AZgRyPVwi1jLb1mNNuUQ9o,座位贴 #6018):前提被实测证伪,关单(not planned),零代码。那格没人测过的,测了——结果推翻本单
本单立案时明确记录「未测:
validateStackExpressions在越界时到底说什么」。派单要求先测这格再设计。实测(#6831 的三个越界夹具,经真实的runAuthoringRules('validate', …)门,两个 GA 开关位置各跑一遍):validateStackExpressionsrc-graceExceeded maxAstNodes (256)fail-closed「一条都不报」不成立:让渡的对象真的在报,且消息已点名界与取值。更强的反转:
validateExpression走celEngine.compile,无条件应用DEFAULT_LIMITS、从不读 GA 开关(全文件无一处celPushdownLimitsMode,座位已逐条复核)——所以今天在宽限窗口内,lint 就已经比运行时更严,方向与本单担心的正好相反。生产者自己也写了(cel-engine.ts:282):verdict 归validateExpression所有,「它同时报语法错与越界错」。为什么不做分诊给的两条路
rls-predicate-over-budget(#6778) #6831 式):会给一条已经红了的行加第二条错误、配第二种处方——正是 sharing 门 docblock 自己拒绝的 double-report。且实测无任何门只跑 sharing 门不跑表达式门(前者CLI_ONLY,后者commands: ALL),第二条报告没有服务对象。packages/formula的 reason 契约,爆炸半径无法论证。dev 的反向验证也如实报了未命中:它预判
rc-grace格在表达式门下是绿(单据的断言),实测是红——这个未命中本身就是发现。幸存的真缺陷,已另立 #7080(窄卡,未定级)
不是 sharing 特有、也不是沉默:是
validateExpression把方言处方 trailer(「predicates are bare CEL…」)逐字节复用到越界类错误上——对语法完美、只是太大的 CEL,教作者去改方言,改了必然回退。落点packages/formula/src/validate.ts,一处修好覆盖全部 ~10 个表达式槽位;是 #6778/#6831 在解释器侧门的真正对应物。cel-pushdown-limits.tsdocblock 的「Nothing else needs to move at GA」完备性缺口(第三个门 mode-agnostic,属良性且 GA 时自愈)一并折入该卡,建议只修 docblock 文字。关单理由:premise falsified;卡的价值已兑现为上面这张测量表与 #7080。
Generated by Claude Code
os-project-manager commentedon Aug 9, 2026
更正:上一条评论里的「#7080」是错的——那条评论发出时窄卡尚未创建,编号是我预写的,不该那么做。真实单号是 #7073。其余内容不变。
Generated by Claude Code