Filed by the domain:spec execution seat 4 (座位贴 #18917 ,session_01AmH9bKvGoLjiY86Q4Z3og2)—— 出自 #18314 / PR #18935 那一轮 dev 的 out_of_scope_findings。dev 不立卡,由席位立。⛔ 填 bare:finding only。
⭐ 本卡的读数是本席自己 A/B 复现的,⛔ 不是转述 ;与递过来那份不一致的两处我也照实写在下面。
Dedupe words: proxyRearmPlan cross-suppression · OS_HALF_STATES_PROXY_REARMED inherited · PROXY_REARM_GUARD shared name · credential died false story · re-exec guard sibling leak
缺什么
proxyRearmPlan 只读一个 守卫变量名,而各 pm 工具各自声明了自己的 名字 —— 于是任何一个兄弟工具为它自己的子进程设的那个名字,一旦被继承,就会静默关掉别人的 re-exec 。关掉之后的表现不是 「没走代理」,而是 401 Bad credentials —— 也就是「凭据死了」。
⏱️ 2026-09-18T06:44Z 本席同盒、同凭据、同一分钟 A/B (--dry-run,⛔ 无任何写入):
控制: node scripts/pm/label-write.mjs --repo … --issue 18932 --add finding --dry-run
ℹ️ re-exec with --use-env-proxy: HTTPS_PROXY is set (http://127.0.0.1:41733) …
① 取现集 — …#18932 (open) carries 1 label(s) …
exit 0 ← banner 命中 1 次
探针: OS_HALF_STATES_PROXY_REARMED=1 node scripts/pm/label-write.mjs (其余逐字相同)
① read — COULD NOT READ: GET /repos/…/issues/18932 -> HTTP 401 (Bad credentials)
PREREQUISITE NOT MET … ⛔ NOT MEASURED
exit 3 ← banner 命中 0 次
⇒ 一个继承来的环境变量,把一条活着的通道变成了一条看起来死掉的通道。
为什么这值一张卡 —— 它是一次有记录的事故的机械成因
⭐ #18314 的评论 5715705458 记了一次真实代价:某席位的每一个 探针(含 /rate_limit )统一回 401,而「统一的 401」读起来是一个自洽的故事 —— 凭据死了 —— 那个席位据此花了约 1 小时把一条活通道当成死通道 ,并把「中断」当作既成事实报给了维护者。
本卡主张的是:那个故事可以由一个变量机械地造出来 ,而且造出来的时候连 banner 都不打印 ⇒ 现场没有任何线索指向真实原因。⛔ 这不是「用错了工具」,是仪器之间互相污染。
机制(读数)
scripts/pm/check-half-states.mjs:19559:export const PROXY_REARM_GUARD = 'OS_HALF_STATES_PROXY_REARMED';
同文件 :19597:if (env[PROXY_REARM_GUARD] === '1') return { rearm: false, … reason: 'already re-armed once this run' };
⇒ 计划只认这一个名字 。而 post-stamped.mjs / board-snapshot.mjs / label-write.mjs 各自声明了 OS_POST_STAMPED_PROXY_REARMED / OS_BOARD_SNAPSHOT_PROXY_REARMED / OS_LABEL_WRITE_PROXY_REARMED —— 本席读到这三个名字没有被任何地方读取 ,它们是装饰性的。
⭐ PR fix(scripts): route check:single-claim-paths through the session proxy so a seat can run it #18935 已经在它自己那个文件里避开了这个坑 :它用一个纯函数 proxyPlanEnv() 把自己的守卫名映射到计划真正读的那个名字上,而不是把 process.env 原样递进去。⇒ 正确形态已有现成范本 ,承接者不必发明。
⛔ 两处本席与递过来那份不一致 —— 照实写出
报告说四个 donor「各自声明一个没人读的本地守卫名」。本席只在 post-stamped.mjs、board-snapshot.mjs、label-write.mjs 三个 里读到;check-clause2-carriers.mjs 里本席读到 0 个 。⇒ 承接者请以自己的读数为准。
报告说四者都把 env: process.env 原样递给计划。本席的 grep 对这一条返回 0 命中,而本席没有点亮控制 ⇒ 按纪律这个零作废 ,本席把这一半记为 NOT MEASURED ,⛔ 不主张它真或假。上面的 A/B 只证明了后果 存在,没有证明每个文件 的传参写法。
⛔ 没量的部分
⛔ 没量这个变量在真实会话里实际会不会 被继承到兄弟进程(A/B 是手工注入的)。⚠️ 这是承接者第一件要答的事 :如果实际继承路径不存在,本卡就从「活违反」降为「潜伏陷阱」,定级应随之变。
⛔ 没量除 pm 之外还有多少 proxyRearmPlan 的消费者受同一影响(本席读到共 13 个 importer,其中 scripts/check-issue-citations.mjs 在 scripts/pm/ 之外)。
近邻,⛔ 不折叠
卡
为什么不是本条
#18314 (本卡出处,已 ACCEPT / PR #18935 )
修的是一个 文件缺 re-exec;本条是共享守卫名互相压制
#18376 (open)
同样落在 check-clause2-carriers.mjs,但讲的是处方里硬编码的评论 id ,⛔ 与代理无关
domain:spec 执行席 4 · 座位贴 #18917 · A/B 读数为本席 2026-09-18T06:44Z 自取,--dry-run 无写入
Generated by Claude Code
Filed by the
domain:specexecution seat 4(座位贴 #18917,session_01AmH9bKvGoLjiY86Q4Z3og2)—— 出自 #18314 / PR #18935 那一轮 dev 的out_of_scope_findings。dev 不立卡,由席位立。⛔ 填 bare:findingonly。⭐ 本卡的读数是本席自己 A/B 复现的,⛔ 不是转述;与递过来那份不一致的两处我也照实写在下面。
Dedupe words:
proxyRearmPlan cross-suppression·OS_HALF_STATES_PROXY_REARMED inherited·PROXY_REARM_GUARD shared name·credential died false story·re-exec guard sibling leak缺什么
proxyRearmPlan只读一个守卫变量名,而各 pm 工具各自声明了自己的名字 —— 于是任何一个兄弟工具为它自己的子进程设的那个名字,一旦被继承,就会静默关掉别人的 re-exec。关掉之后的表现不是「没走代理」,而是 401 Bad credentials —— 也就是「凭据死了」。⏱️ 2026-09-18T06:44Z 本席同盒、同凭据、同一分钟 A/B(
--dry-run,⛔ 无任何写入):⇒ 一个继承来的环境变量,把一条活着的通道变成了一条看起来死掉的通道。
为什么这值一张卡 —— 它是一次有记录的事故的机械成因
⭐ #18314 的评论 5715705458 记了一次真实代价:某席位的每一个探针(含
/rate_limit)统一回 401,而「统一的 401」读起来是一个自洽的故事 —— 凭据死了 —— 那个席位据此花了约 1 小时把一条活通道当成死通道,并把「中断」当作既成事实报给了维护者。本卡主张的是:那个故事可以由一个变量机械地造出来,而且造出来的时候连 banner 都不打印 ⇒ 现场没有任何线索指向真实原因。⛔ 这不是「用错了工具」,是仪器之间互相污染。
机制(读数)
scripts/pm/check-half-states.mjs:19559:export const PROXY_REARM_GUARD = 'OS_HALF_STATES_PROXY_REARMED';:19597:if (env[PROXY_REARM_GUARD] === '1') return { rearm: false, … reason: 'already re-armed once this run' };post-stamped.mjs/board-snapshot.mjs/label-write.mjs各自声明了OS_POST_STAMPED_PROXY_REARMED/OS_BOARD_SNAPSHOT_PROXY_REARMED/OS_LABEL_WRITE_PROXY_REARMED—— 本席读到这三个名字没有被任何地方读取,它们是装饰性的。proxyPlanEnv()把自己的守卫名映射到计划真正读的那个名字上,而不是把process.env原样递进去。⇒ 正确形态已有现成范本,承接者不必发明。⛔ 两处本席与递过来那份不一致 —— 照实写出
post-stamped.mjs、board-snapshot.mjs、label-write.mjs三个里读到;check-clause2-carriers.mjs里本席读到 0 个。⇒ 承接者请以自己的读数为准。env: process.env原样递给计划。本席的 grep 对这一条返回 0 命中,而本席没有点亮控制 ⇒ 按纪律这个零作废,本席把这一半记为 NOT MEASURED,⛔ 不主张它真或假。上面的 A/B 只证明了后果存在,没有证明每个文件的传参写法。⛔ 没量的部分
proxyRearmPlan的消费者受同一影响(本席读到共 13 个 importer,其中scripts/check-issue-citations.mjs在scripts/pm/之外)。近邻,⛔ 不折叠
check-clause2-carriers.mjs,但讲的是处方里硬编码的评论 id,⛔ 与代理无关domain:spec执行席 4 · 座位贴 #18917 · A/B 读数为本席 2026-09-18T06:44Z 自取,--dry-run无写入Generated by Claude Code