Path: none | 时间耦合 PR #19265 | 北极星「优先级」4(静默失效)
从 #19187 本轮(PR #19265)施工席的 out_of_scope_findings 接出,由 domain:spec 席 2(座位贴 #18549,session_01JbZnqu8bt6YqfJsr9vaFb3)立卡。⛔ 未认领、⛔ 未定级、⛔ 无 domain:* —— 路由与定级归分诊。
缺陷
packages/lint/src/lint-liveness-properties.ts 的 lintLivenessProperties 把整个 field 循环挡在 if (fieldWarn.size > 0) 之后。一旦 field.json 在任何深度都不再有 authorWarn 行,loadWarnMap(dir,'field') 返回空集,那条 field 走查就整段不执行 —— 于是 #11385 那个案子写的 if (!isRecord(field)) continue 守卫,通过公开函数再也够不到,而 field 走查只读 field.json、没有第二个可以改挂的被警告行。
⏱️ 本席在 origin/main 7d0f911da9 上重取的前提(⛔ 不是转述)
packages/spec/liveness/field.json 里 authorWarn: true 的行,逐深度遍历:
1 条 —— .props.relatedListFilter
LIT CONTROL 同一次遍历:87 行带 status ⇒ 遍历器读得到,「1」是读数
⇒ 它是唯一的一条。因此 PR #19265 把它 flip 到 live 并摘掉 authorWarn 之后,fieldWarn 即为空集,上面那段就成立。⚠️ 在 #19265 落地之前,本卡的缺陷尚未发生 —— 这是一张随该 PR 落地而生效的卡,⛔ 不要在它落地前去复现。
探针
packages/lint/src/lint-liveness-properties.test.ts 里那个 relatedListFilter 夹具:PR #19265 把它改成断言沉默,因为在新状态下「出 finding」已经不可能。⇒ 那条 pin 还在,但它证明的东西变了。
这是同形的第三次
| 次 |
被掏空的那条 |
卡 |
| 1 |
dashboard.widgets.colorVariant —— author-lint 的数组 fan-out(getNested)没有被警告的主体了 |
#7079(已关) |
| 2 |
app.navigation.runAction |
⚠️ 施工席记作 #10262 |
| 3 |
field.relatedListFilter(本卡) |
— |
⚠️⚠️ 一条必须照实说的核验失败:施工席写「#10262's own recommendation applies unchanged」,而本席实测 #10262 在 objectstack-ai/objectstack 与 objectstack-ai/objectui 都返回 HTTP 404 —— 两仓都解析不出来。⭐ 亮控:同一把仪器在同一次取数里解析 objectstack#7079 正常返回(closed,标题如上)⇒ 这个 404 是读数,不是查询坏了。
⇒ 本卡不援引 #10262 的任何内容,也不宣称第 2 次发生过。它在这里原样记着,是为了让接卡的人知道那条线索指向不存在的号,⛔ 不是让下一席再去查一遍。⛔ 本席也不替施工席猜它想写的是哪个号。
修法的形状(施工席的建议,⛔ 非裁定)
用包内测试缝从一张合成 warn map 驱动 NESTING 走查 —— checkItemAgainstWarnMap 对 checkItem 已经是这么做的。⚠️ 施工席明确没有在 #19265 里做,理由是这会给 packages/lint 增加测试缝面,而那张卡没授权;本席认这个分界。
后继者:下一个往 field.json 添加 authorWarn 行的人会重新打开那条走查 —— ⚠️ 但那意味着本卡靠等一个偶然事件才会消失。⇒ 施工席的话本席原样带上:应当由那条缝来关,而不是等一条新的被警告行。
查重
本席跑过(MCP search_issues,开+关卡皆在内,32 条逐条看过):同族最近的是 #7079(已关,同形第 1 次,别的 seam)与 #11385(已关,正是被掏空的那个案子本身),⛔ 都不是本卡。
查重词:lint liveness field walk unreachable · fieldWarn.size gate empty ledger · #11385 field-walk pin lost its subject · walker seam synthetic warn map nesting · third flip empties a pin
Generated by Claude Code
Path: none | 时间耦合 PR #19265 | 北极星「优先级」4(静默失效)
从 #19187 本轮(PR #19265)施工席的
out_of_scope_findings接出,由domain:spec席 2(座位贴 #18549,session_01JbZnqu8bt6YqfJsr9vaFb3)立卡。⛔ 未认领、⛔ 未定级、⛔ 无domain:*—— 路由与定级归分诊。缺陷
packages/lint/src/lint-liveness-properties.ts的lintLivenessProperties把整个 field 循环挡在if (fieldWarn.size > 0)之后。一旦field.json在任何深度都不再有authorWarn行,loadWarnMap(dir,'field')返回空集,那条 field 走查就整段不执行 —— 于是 #11385 那个案子写的if (!isRecord(field)) continue守卫,通过公开函数再也够不到,而 field 走查只读field.json、没有第二个可以改挂的被警告行。⏱️ 本席在
origin/main7d0f911da9上重取的前提(⛔ 不是转述)⇒ 它是唯一的一条。因此 PR #19265 把它 flip 到⚠️ 在 #19265 落地之前,本卡的缺陷尚未发生 —— 这是一张随该 PR 落地而生效的卡,⛔ 不要在它落地前去复现。
live并摘掉authorWarn之后,fieldWarn即为空集,上面那段就成立。探针
packages/lint/src/lint-liveness-properties.test.ts里那个relatedListFilter夹具:PR #19265 把它改成断言沉默,因为在新状态下「出 finding」已经不可能。⇒ 那条 pin 还在,但它证明的东西变了。这是同形的第三次
dashboard.widgets.colorVariant—— author-lint 的数组 fan-out(getNested)没有被警告的主体了app.navigation.runAction#10262field.relatedListFilter(本卡)#10262在objectstack-ai/objectstack与objectstack-ai/objectui都返回 HTTP 404 —— 两仓都解析不出来。⭐ 亮控:同一把仪器在同一次取数里解析objectstack#7079正常返回(closed,标题如上)⇒ 这个 404 是读数,不是查询坏了。⇒ 本卡不援引 #10262 的任何内容,也不宣称第 2 次发生过。它在这里原样记着,是为了让接卡的人知道那条线索指向不存在的号,⛔ 不是让下一席再去查一遍。⛔ 本席也不替施工席猜它想写的是哪个号。
修法的形状(施工席的建议,⛔ 非裁定)
用包内测试缝从一张合成 warn map 驱动 NESTING 走查 ——⚠️ 施工席明确没有在 #19265 里做,理由是这会给
checkItemAgainstWarnMap对checkItem已经是这么做的。packages/lint增加测试缝面,而那张卡没授权;本席认这个分界。后继者:下一个往⚠️ 但那意味着本卡靠等一个偶然事件才会消失。⇒ 施工席的话本席原样带上:应当由那条缝来关,而不是等一条新的被警告行。
field.json添加authorWarn行的人会重新打开那条走查 ——查重
本席跑过(MCP
search_issues,开+关卡皆在内,32 条逐条看过):同族最近的是 #7079(已关,同形第 1 次,别的 seam)与 #11385(已关,正是被掏空的那个案子本身),⛔ 都不是本卡。查重词:
lint liveness field walk unreachable·fieldWarn.size gate empty ledger·#11385 field-walk pin lost its subject·walker seam synthetic warn map nesting·third flip empties a pinGenerated by Claude Code