Filed by the domain:spec execution seat 2(座位贴 #18549,session_01JbZnqu8bt6YqfJsr9vaFb3)out of the #18342 round(PR #18869),from that dev's out_of_scope_findings —— dev 不立卡,由席位立。⛔ 填 bare:finding only;domain:* / 类型 / 优先级是分诊的。
Dedupe words:repoRoot hand-rolled findUp seed unrecognised · cross-package-test-inputs escape · live-dialect-matrix budget · .github/workflows/ci.yml undeclared · real read yields no escape。
缺什么
packages/drivers/driver-sql/src/live-dialect-matrix.budget.test.ts 真的读本仓自己的 CI 工作流 —— ⏱️ 2026-09-18T03:06Z 现读 origin/main:
:107 const ci = readFileSync(join(repoRoot(), '.github/workflows/ci.yml'), 'utf8');
而 check:cross-package-test-inputs 完全看不见这个文件:该测试 :38-45 的 repoRoot() 是一段手写的 for(;;) 上行,靠 existsSync(join(dir, 'pnpm-workspace.yaml')) 找根 ——
:38 function repoRoot(): string {
:39 let dir = dirname(fileURLToPath(import.meta.url));
:40 for (;;) {
:41 if (existsSync(join(dir, 'pnpm-workspace.yaml'))) return dir;
⇒ 它不是收集器识别的那几种 findUp seed 拼法 ⇒ 该文件一条 escape 都不产生,⛔ 对名册零贡献。
⇒ ⭐ 一条真实的跨包读,今天是未声明的,而门禁在它上面是绿的。 失效方向是读作合规。
⛔ 为什么不在 #18342 那一轮顺手修
那一轮修的是顶层目录白名单(docs / .claude 进,.github 按停手线推迟)。⚠️ ⭐ 本条走的是完全不同的机制 —— seed 识别,⛔ 不是白名单。⇒ 即便把 .github 提进白名单,也抓不到这一条,因为这个文件压根不产生 escape。
⇒ 那正是它值得单独一张卡的理由:两条缺陷指向同一个失效方向,而修好其中一条不会动到另一条。
具名的失败探针(⛔ 这是读数,不是推理)
⏱️ 该读数取自 #18342 那一轮 dev 的报告(⛔ 本席未重跑 findEscapingPackages() 的 dump,记作转引并点名来源):该字面量在改前与改后的 dump 里都不出现,而同一个包里另一条已声明的兄弟读在 dump 里出现。⇒ 亮控在,零是读数。
⚠️ ⛔ 接卡人请先自己重跑那个 dump 复核这一条,⛔ 不要继承。
已知近邻,⛔ 均不折叠
| 卡 |
状态 |
为什么不是本条 |
| #10029 |
closed completed |
同一个失效方向,但那一条走的是被识别的 findUp seed —— 收集器看得见那个种子、只是半径没被声明。本条的种子根本不被识别 |
| #10315 |
open pm:on-hold |
「测试把仓根 scripts/*.mjs 拷进 fixture,派生路径不可见」—— 同一道门禁、同一个方向,⛔ 但机制是派生而非种子识别 |
| #16593 |
open pm:queue |
声明半径漏了 packages/**/*.tsx —— 是声明的洞,⛔ 不是收集的洞 |
⏱️ 2026-09-18T03:06Z 查重经 MCP search_issues(含 closed),42 条命中读过,上表三条是最近邻。⭐ 那三条本身就是亮控:一个空结果本来会是读数而不是静默的零。
⛔ 没量的部分
- ⛔ 没量还有多少个文件用手写上行找仓根(本条只主张这一个实例,⛔ 不主张一个总体)。⇒ ⭐ 承接者第一件事就该量这个 —— 若还有别的,处方的形状会不一样(补一种识别拼法 vs 逐个改调用点)。
- ⛔ 没量这条未声明的读今天有没有实际造成过一次错误的缓存命中。主张的是「门禁看不见它」,⛔ 不是「它已经害过人」。
- ⛔ 没量该测试是否在 CI 的哪些 job 里真的跑到(它读的是
run-with-stall-guard.mjs --stall-minutes 那一段,自带非空断言)。
Shape(⛔ 提案,不是处方)
两个方向,⛔ 本卡不选:① 让收集器认得这种手写上行(扩展 seed 识别);② 让那个测试改用被识别的种子拼法。⚠️ ① 的代价是收集器要去理解任意控制流,② 的代价是它只修这一个实例而下一个还会进来 —— 而这正是「没量还有多少个」那条为什么要先量。
Refs:#18342 / PR #18869(本条从哪一轮溢出来)· #10029 · #10315 · #16593
os-decision-facets
⚠️ 由 domain:devx 执行席(座位贴 #6023)在派发轮结束后补齐并呈报。本卡的派发问题(取①还是②)已由测量选中①,而①被一道治理面围栏挡住 ⇒ 按 H52 的处置,本卡进决策箱(⛔ 不是另立新卡:这正是本卡自己的问题)。⛔ 纯增量。
⭐ 卡面「一个实例」已被测量证伪:是两个活实例
本席自己跑 node scripts/check-cross-package-test-inputs.mjs --list-escapes(exit 0,168 行),同一份 dump 里:
| 文件 |
在 dump 里出现 |
|
packages/drivers/driver-sql/src/live-dialect-matrix.budget.test.ts |
0 |
卡面点名的那个 |
packages/plugins/organizations/src/open-only-wall-acceptance.test.ts |
0 |
⭐ 卡面从未点名的第二个 |
packages/drivers/driver-sql/src/live-dialect-matrix.isolation.test.ts |
1 |
亮对照 |
packages/plugins/organizations/src/no-framework-dependents.pin.test.ts |
1 |
亮对照(被识别的 findUp 持有者) |
零与非零同时出现 ⇒ 仪器有反应,这两个零是读数。
第二个实例本席逐字读过(open-only-wall-acceptance.test.ts)::771 const REPO = (() => { · :773 for (;;) { · :774 if (existsSync(join(dir, 'pnpm-workspace.yaml'))) return dir;,随后 :795 readdirSync 逐个走 packages/** 读 :798 的 package.json。⇒ 同一形状,IIFE 绑定,同样零逃逸。
⚠️ 它今天的半径恰好被覆盖,只因同包一个兄弟(no-framework-dependents.pin.test.ts)出于自己的理由声明了 packages/**/package.json。⇒ 哈希是靠巧合正确的,那个兄弟一改就会静默出错。
为什么①被挡住(本席复核过,⛔ 不是转述)
新增一种被识别的种子拼法要写进 RECOGNISED_PATH_SPELLINGS,而 scripts/check-published-list-mirrors.mjs:270 把它与 AGENTS.md 的一个块逐字节绑定。该文件自述(:90-91)逐字:
AGENTS.md is a GOVERNED surface (scripts/pm/check-governed-merges.mjs), human-merge-only, so an auto-fix here would write the one file no seat may …
其拒绝文案(:458)逐字:「⛔ This gate cannot repair the document: AGENTS.md is GOVERNED, human-merge-only.」
⇒ ①必然碰治理面 ⇒ 人工地板,⛔ 执行席不能自授。
- ① 项目长远合理性 —— 一道门禁声明自己覆盖「跨包测试输入」,而两处真实的跨包读对它不可见,且其中一处的正确性靠兄弟文件的巧合维持。失效方向是读作合规 ⇒ 这类缺陷不会自己冒烟。
- ② 实际业务拉动 —— 对平台用户 0。它买的是 turbo 缓存判据的正确性。⚠️ 「是否已造成过一次错误的缓存命中」不可从本仓测量(命中与否不入 git),施工席与本席都不主张任一方向;⛔ 但必要条件在场且至少变动过 4 次(
git log -S'--stall-minutes' -- .github/workflows/ci.yml,浅克隆 ⇒ 4 是下界)。
- ③ 防 AI 犯错 —— 决定性的一条:这道门禁绿,而两处读未声明。一个 agent(或人)据此认为「跨包读都声明了」是错的,而没有任何输出会告诉它。⚠️ 反向风险同样真实:②(改测试去用被识别拼法)会让两个最响的证人消失,而类别缺陷还在 ⇒ 下一张卡只能拿潜伏点说话。
- ④ 创业阶段不扩散 —— ① 是一次治理面 PR(维护者落地)+ 新可见读所迫的声明;② 不碰治理面但只修两处;③ 两者都做,代价是两次动作。⛔ 本席不替维护者选。
Prior rulings read: live-dialect-matrix.budget.test.ts,live-dialect-matrix,budget,test,github,workflows,ci.yml,reporoot,check,cross-package-test-inputs,seed → 48 hits; ADR-0076 D7, ADR-0060 D6, ADR-0087 D5, ADR-0029 D3, ADR-0044 D2, ADR-0056 D10, ADR-0057 D6, ADR-0057 D7 —— ⚠️ 八条都读过节标题,主题分别是引擎分仓时序、CI 聚合(可选 P3)、协议握手验收、sys 命名空间归属、审批 revise 分支、授权一致性矩阵、业务单元与诚实命名。⛔ 无一裁本问(命中的是 check / test / seed 这类通用词)。⇒ 本卡是决策,⛔ 不是执行。
Generated by Claude Code
Filed by the
domain:specexecution seat 2(座位贴 #18549,session_01JbZnqu8bt6YqfJsr9vaFb3)out of the #18342 round(PR #18869),from that dev'sout_of_scope_findings—— dev 不立卡,由席位立。⛔ 填 bare:findingonly;domain:*/ 类型 / 优先级是分诊的。Dedupe words:
repoRoot hand-rolled findUp seed unrecognised·cross-package-test-inputs escape·live-dialect-matrix budget·.github/workflows/ci.yml undeclared·real read yields no escape。缺什么
packages/drivers/driver-sql/src/live-dialect-matrix.budget.test.ts真的读本仓自己的 CI 工作流 —— ⏱️ 2026-09-18T03:06Z 现读origin/main:而
check:cross-package-test-inputs完全看不见这个文件:该测试:38-45的repoRoot()是一段手写的for(;;)上行,靠existsSync(join(dir, 'pnpm-workspace.yaml'))找根 ——⇒ 它不是收集器识别的那几种
findUpseed 拼法 ⇒ 该文件一条 escape 都不产生,⛔ 对名册零贡献。⇒ ⭐ 一条真实的跨包读,今天是未声明的,而门禁在它上面是绿的。 失效方向是读作合规。
⛔ 为什么不在 #18342 那一轮顺手修
那一轮修的是顶层目录白名单(⚠️ ⭐ 本条走的是完全不同的机制 —— seed 识别,⛔ 不是白名单。⇒ 即便把
docs/.claude进,.github按停手线推迟)。.github提进白名单,也抓不到这一条,因为这个文件压根不产生 escape。⇒ 那正是它值得单独一张卡的理由:两条缺陷指向同一个失效方向,而修好其中一条不会动到另一条。
具名的失败探针(⛔ 这是读数,不是推理)
⏱️ 该读数取自 #18342 那一轮 dev 的报告(⛔ 本席未重跑
findEscapingPackages()的 dump,记作转引并点名来源):该字面量在改前与改后的 dump 里都不出现,而同一个包里另一条已声明的兄弟读在 dump 里出现。⇒ 亮控在,零是读数。已知近邻,⛔ 均不折叠
findUpseed —— 收集器看得见那个种子、只是半径没被声明。本条的种子根本不被识别pm:on-holdscripts/*.mjs拷进 fixture,派生路径不可见」—— 同一道门禁、同一个方向,⛔ 但机制是派生而非种子识别pm:queuepackages/**/*.tsx—— 是声明的洞,⛔ 不是收集的洞⏱️ 2026-09-18T03:06Z 查重经 MCP
search_issues(含 closed),42 条命中读过,上表三条是最近邻。⭐ 那三条本身就是亮控:一个空结果本来会是读数而不是静默的零。⛔ 没量的部分
run-with-stall-guard.mjs --stall-minutes那一段,自带非空断言)。Shape(⛔ 提案,不是处方)
两个方向,⛔ 本卡不选:① 让收集器认得这种手写上行(扩展 seed 识别);② 让那个测试改用被识别的种子拼法。⚠️ ① 的代价是收集器要去理解任意控制流,② 的代价是它只修这一个实例而下一个还会进来 —— 而这正是「没量还有多少个」那条为什么要先量。
Refs:#18342 / PR #18869(本条从哪一轮溢出来)· #10029 · #10315 · #16593
os-decision-facets
domain:devx执行席(座位贴 #6023)在派发轮结束后补齐并呈报。本卡的派发问题(取①还是②)已由测量选中①,而①被一道治理面围栏挡住 ⇒ 按 H52 的处置,本卡进决策箱(⛔ 不是另立新卡:这正是本卡自己的问题)。⛔ 纯增量。⭐ 卡面「一个实例」已被测量证伪:是两个活实例
本席自己跑
node scripts/check-cross-package-test-inputs.mjs --list-escapes(exit 0,168 行),同一份 dump 里:packages/drivers/driver-sql/src/live-dialect-matrix.budget.test.tspackages/plugins/organizations/src/open-only-wall-acceptance.test.tspackages/drivers/driver-sql/src/live-dialect-matrix.isolation.test.tspackages/plugins/organizations/src/no-framework-dependents.pin.test.tsfindUp持有者)零与非零同时出现 ⇒ 仪器有反应,这两个零是读数。
第二个实例本席逐字读过(
open-only-wall-acceptance.test.ts)::771const REPO = (() => {·:773for (;;) {·:774if (existsSync(join(dir, 'pnpm-workspace.yaml'))) return dir;,随后:795readdirSync逐个走packages/**读:798的package.json。⇒ 同一形状,IIFE 绑定,同样零逃逸。no-framework-dependents.pin.test.ts)出于自己的理由声明了packages/**/package.json。⇒ 哈希是靠巧合正确的,那个兄弟一改就会静默出错。为什么①被挡住(本席复核过,⛔ 不是转述)
新增一种被识别的种子拼法要写进
RECOGNISED_PATH_SPELLINGS,而scripts/check-published-list-mirrors.mjs:270把它与AGENTS.md的一个块逐字节绑定。该文件自述(:90-91)逐字:其拒绝文案(
:458)逐字:「⛔ This gate cannot repair the document: AGENTS.md is GOVERNED, human-merge-only.」⇒ ①必然碰治理面 ⇒ 人工地板,⛔ 执行席不能自授。
git log -S'--stall-minutes' -- .github/workflows/ci.yml,浅克隆 ⇒ 4 是下界)。Prior rulings read: live-dialect-matrix.budget.test.ts,live-dialect-matrix,budget,test,github,workflows,ci.yml,reporoot,check,cross-package-test-inputs,seed → 48 hits; ADR-0076 D7, ADR-0060 D6, ADR-0087 D5, ADR-0029 D3, ADR-0044 D2, ADR-0056 D10, ADR-0057 D6, ADR-0057 D7 ——⚠️ 八条都读过节标题,主题分别是引擎分仓时序、CI 聚合(可选 P3)、协议握手验收、
sys命名空间归属、审批revise分支、授权一致性矩阵、业务单元与诚实命名。⛔ 无一裁本问(命中的是check/test/seed这类通用词)。⇒ 本卡是决策,⛔ 不是执行。Generated by Claude Code