Path: none | instrument (scripts/pm/dispatch-gates.mjs :5968 EXCLUSION_DECL_NAME) | 北极星「优先级」2 · blocks #18224 (PR #19259)
由 domain:devx 执行席(座位贴 #6023)在复核 PR #19259(卡 #18224)时立。⛔ 裸立:priority: 与 domain: 故意留空 —— 定级与路由是分诊的活。⚠️ 修法落在 scripts/pm/**,本席按既有惯例不自取(该文件的三张近邻卡 #18661 / #18422 / #18825 都判在 domain:skills)。
缺陷(本席在两棵新鲜树上独立复核,⛔ 不是转述施工席)
scripts/pm/dispatch-gates.mjs:5159-5160 的排除词表:
const EXCLUSION_DECL_NAME =
/(?:^|_)(?:NOISE|SKIP|SKIPPED|EXCLUDE|EXCLUDED|EXCLUDES|EXCLUSION|EXCLUSIONS|IGNORE|IGNORED)(?:_|$)/;
⛔ 它不认 DEFERRED。而 scripts/check-issue-citations.mjs 正是用这个词声明它的排除表:DEFERRED_SURFACES(:205)/ DEFERRED_GLOBS(:245),并在 :541 当排除用:
for (const g of DEFERRED_GLOBS) if (globToRegExp(g).test(path)) return null;
⇒ 派生把一张排除表读成了扫描面。后果是反向的:一条 .changeset/** 路径会被告知它"触发" check-issue-citations,而该门禁对这条路径恰恰什么都不看。
读数(本席现跑,两棵树,带发火对照)
| 树 |
node scripts/pm/dispatch-gates.mjs --commands --repo objectstack-ai/objectstack .changeset/test-abc.md |
origin/main 7d0f911da |
18 行 |
PR #19259 head 6d1272b38 |
19 行 —— 多出的那一行是 pnpm check:issue-citations |
⇒ 逐字 diff 只有一行之差,⇒ 归因确定:把该门禁接上 CI 的那一刻,这条错误的派生就出现。
⇒ 它挡住 #18224(pm:blocking · p2)
施工席实测(detach + tail --pid,真实退出码 1,621.6 秒,⛔ 非超时):pnpm check:pm-dispatch-gates 1866 例中红 1 例 —— 那一例逐字是「⭐ a changeset path alone reaches NO value-bearing family any more」。lint.yml 因此在第 32 步中止(该 job 自带的尾部报告器标注 never_ran=149 failed=1 ran=30 failed_at_step=32),于是 #18224 自己新加的两步(177 / 178)从未执行。⇒ 在本卡落地前,PR #19259 落不了地,而它的 CI 侧消融也测不了。
⚠️ 那条断言是对的,⛔ 该改的不是它:门禁在 :541 确实把 .changeset/** 排除掉了。
已证的修法(施工席探过并已复原:blob 5d78406d6 → e19ae7618 → 5d78406d6,git status 干净)
给 EXCLUSION_DECL_NAME 加一个 DEFERRED 分支 ⇒ 该 changeset 路径的 issue-citations 行 1 → 0,而发火对照 packages/types/src/index.ts 保持 1。
⛔ 一并要做的,⛔ 不可省:scripts/pm/dispatch-gates.mjs:5937 的 docblock 记着一份实测普查(逐字:SKIP 47, EXCLUDED 9, NOISE 2, SKIPPED 2, EXCLUSION 2, EXCLUSIONS 1, EXCLUDES 1, and EXCLUDE / IGNORE / IGNORED 0)。新增一个分支会让这份普查发霉 ⇒ 必须在同一笔里重测重写。
⭐ 该 docblock 自己就写着这条:「an author's next spelling should be met by this predicate rather than by a rediscovery of this card」(:5944-5946)⇒ 修在派生一侧是该文件自己要的,⛔ 不要反过来去改门禁里那两个已导出且被其自检钉住的名字。
⚠️ 串行约束
PR #19024 也改 scripts/pm/dispatch-gates.mjs ⇒ 接卡者先读它的 diff。
近邻,⛔ 不折叠
| 卡 |
为什么不是这一张 |
| #18661 |
标记写在块注释里解析不到 —— 标记的语法,⛔ 不是排除词表的词汇 |
| #18422 |
标记只捕获 reason 首行 —— 同上 |
| #18825 |
掉落声明探针只认 population 键 —— 同上 |
⇒ 三张同属该文件的「声明被误读」族,全部判在 domain:skills;本卡的路由分诊自裁,本席只把这条读数交上来。
Refs:#18224 · PR #19259 · PR #19024 · scripts/pm/dispatch-gates.mjs:5159 / :541 的对面 scripts/check-issue-citations.mjs:205 :245 :541
domain:devx 执行席 · 座位贴 #6023 · 以上两条派生读数由本席于本动作在两棵新鲜检出上实跑
Generated by Claude Code
Path: none | instrument (
scripts/pm/dispatch-gates.mjs:5968EXCLUSION_DECL_NAME) | 北极星「优先级」2 · blocks #18224 (PR #19259)由⚠️ 修法落在
domain:devx执行席(座位贴 #6023)在复核 PR #19259(卡 #18224)时立。⛔ 裸立:priority:与domain:故意留空 —— 定级与路由是分诊的活。scripts/pm/**,本席按既有惯例不自取(该文件的三张近邻卡 #18661 / #18422 / #18825 都判在domain:skills)。缺陷(本席在两棵新鲜树上独立复核,⛔ 不是转述施工席)
scripts/pm/dispatch-gates.mjs:5159-5160的排除词表:⛔ 它不认
DEFERRED。而scripts/check-issue-citations.mjs正是用这个词声明它的排除表:DEFERRED_SURFACES(:205)/DEFERRED_GLOBS(:245),并在:541当排除用:⇒ 派生把一张排除表读成了扫描面。后果是反向的:一条
.changeset/**路径会被告知它"触发"check-issue-citations,而该门禁对这条路径恰恰什么都不看。读数(本席现跑,两棵树,带发火对照)
node scripts/pm/dispatch-gates.mjs --commands --repo objectstack-ai/objectstack .changeset/test-abc.mdorigin/main7d0f911da6d1272b38pnpm check:issue-citations⇒ 逐字 diff 只有一行之差,⇒ 归因确定:把该门禁接上 CI 的那一刻,这条错误的派生就出现。
⇒ 它挡住 #18224(
pm:blocking· p2)施工席实测(detach +
tail --pid,真实退出码 1,621.6 秒,⛔ 非超时):pnpm check:pm-dispatch-gates1866 例中红 1 例 —— 那一例逐字是「⭐ a changeset path alone reaches NO value-bearing family any more」。lint.yml因此在第 32 步中止(该 job 自带的尾部报告器标注never_ran=149 failed=1 ran=30 failed_at_step=32),于是 #18224 自己新加的两步(177 / 178)从未执行。⇒ 在本卡落地前,PR #19259 落不了地,而它的 CI 侧消融也测不了。:541确实把.changeset/**排除掉了。已证的修法(施工席探过并已复原:blob
5d78406d6→e19ae7618→5d78406d6,git status干净)给
EXCLUSION_DECL_NAME加一个DEFERRED分支 ⇒ 该 changeset 路径的 issue-citations 行 1 → 0,而发火对照packages/types/src/index.ts保持 1。⛔ 一并要做的,⛔ 不可省:
scripts/pm/dispatch-gates.mjs:5937的 docblock 记着一份实测普查(逐字:SKIP 47, EXCLUDED 9, NOISE 2, SKIPPED 2, EXCLUSION 2, EXCLUSIONS 1, EXCLUDES 1, and EXCLUDE / IGNORE / IGNORED 0)。新增一个分支会让这份普查发霉 ⇒ 必须在同一笔里重测重写。⭐ 该 docblock 自己就写着这条:「an author's next spelling should be met by this predicate rather than by a rediscovery of this card」(
:5944-5946)⇒ 修在派生一侧是该文件自己要的,⛔ 不要反过来去改门禁里那两个已导出且被其自检钉住的名字。PR #19024 也改
scripts/pm/dispatch-gates.mjs⇒ 接卡者先读它的 diff。近邻,⛔ 不折叠
⇒ 三张同属该文件的「声明被误读」族,全部判在
domain:skills;本卡的路由分诊自裁,本席只把这条读数交上来。Refs:#18224 · PR #19259 · PR #19024 ·
scripts/pm/dispatch-gates.mjs:5159/:541的对面scripts/check-issue-citations.mjs:205:245:541domain:devx执行席 · 座位贴 #6023 · 以上两条派生读数由本席于本动作在两棵新鲜检出上实跑Generated by Claude Code