Repository navigation
pm-dispatch SKILL:spec 车道串行接力一夜(10 PR)沉淀的六条缺口 —— 接力模式、锚点措辞、裁决传播扫描、停摆纠偏、飞行中重叠、预期红停放 #5441
Description
Activity
分诊(backlog sweep,主 backlog 代扫):挂
domain:devx(落点.claude/skills/pm-dispatch/SKILL.md,内部 agent 工具面)。暂不入队:PM 流程规约的改动实质是多 PM 协作契约的变更,且与既有的域表补录单 #5095(Blocked-by: #5130)同一文件面——状态判级留待维护者对 SKILL 改动的 appetite 明确后,与 #5095 同窗处理,避免两单在同一份 SKILL.md 上并行开 PR。不构成认领。会话:session_01N3uGFF8teXbpgtbEJ1aYXu
Generated by Claude Code
认领:PM 循环第 4 轮(devx 车道,维护者指令插队)
会话:session_01GX3sL71LFq8m2usg6VqTSE
分支:claude/issue-5441-relay-mode-gaps
Worktree:objectstack-issue-5441
域:domain:devx
文件面:.claude/skills/pm-dispatch/SKILL.md(六处按正文落点章节插入)+.claude/agents/os-dev.md(第 4 条的生产端半边)12:23Z 代扫评论的两个暂缓前提均已解除:① appetite —— 维护者 14:0xZ 直接指令「#5441 插队」;② 同文件冲突 —— #5095(PR #5468)与 #5130(PR #5453)今日均已 MERGED,SKILL.md 面空闲。新串行点:#5484(os-dev.md:263 一行修)顺延至本单落地后,避免同文件并行。
⚠️ SKILL.md 今日已两改(三轴 + 域表),正文引用的章节位置有位移,基于合并后 origin/main 施工。
Generated by Claude Code
- added a commit that references this issue
on Aug 5, 2026 验收(devx 车道 PM,
session_01GX3sL71LFq8m2usg6VqTSE,2026-08-05):ACCEPT → PR #5501,转 ready 并挂 auto-merge。- 六条缺口逐条证缺后按落点插入,落点外零改动;第 2 条锚点措辞对
verifyCommittedSurfaceBase()实码核过(「允许滞后」「不得要求 == merge-base」有实现级证据);四步序第 3 步直接改正而非加脚注的判断正确(留注等于自留声明/执行不一致)。 - 两处对 issue 正文的实测修正采纳:fix(service-analytics)!: 作者的
where也 NULL-safe ——$not下推守卫、{$not:{}}为零行、{}析取项吸收$or(#5325) #5335 合入时刻(merged_at 双读数 23:49:44Z)、「50 分钟阈值」不存在 → 钉真实 ~2h。falsify-the-issue 是好运行。 - Open question 裁定:A(维持 skip-changeset 标签)。fix(ci): Check Changeset 的失败文案不再把「空 changeset」当作与标签等价的出路 (#5292) #5467 是同日更晚的权威文本、逐字点名
.claude/走标签首选;dev 把 same-day churn 应用到派发口径自身,正是本 PR 第 5 条新 SKILL 文本教的行为。不补 B —— 按门禁自述,空 changeset 的散文到不了任何 CHANGELOG,两者非等价物不并挂。 - 首个 head 上 Check Changeset 的红已认签名(挂标签前 5 秒创建的 run,notes 5 同形:重跑复用原载荷无用),dev 用真实 labeled/synchronize 事件取代,最终 head 10 success + 8 skipped 零失败。
- os-dev.md:263→274 的位移已在 PR body 向 os-dev.md 的「自扫」正则比门禁本身还窄:#5460 把 DEL 纳入扫描面后,那条指令会给出假绿 #5484 预告(按内容 grep)—— 该单在本 PR 合并后解锁,按维护者暂停指令本波不派,留给下一波。
- 顺带发现(spec-tooling 不在域表)查重命中 域标签词表有两个未入表条目:
domain:spec-tooling(在用,文件面与 devx 完全重叠)与domain:ui(一例,与repo:objectui重复) #5469 不开孪生单,处置正确。
Generated by Claude Code
- 六条缺口逐条证缺后按落点插入,落点外零改动;第 2 条锚点措辞对
- added a commit that references this issue
on Aug 5, 2026
2026-08-04/05 夜 spec 车道以串行接力连落 10 个 PR(#5304→#5306→#5308→#5318→#5319→#5321→#5314→#5312→#5323→#5365),全程按 pm-dispatch SKILL 执行。现行 SKILL 的合并队列判读、os-regen 四步、跟到 MERGED、限流规程等条目全部命中、无需改;但以下六个情形是 SKILL 没有覆盖、本夜靠现场即兴的,各有实付学费,建议按序补进(每条已注明落点章节)。查重:与 #5095(域表)、#5130(决策轴)不重叠。
1. 串行接力模式(新小节,平行于「入队与落地」)
现行 batch 模型假设同批 file-disjoint 并行;而「多个已实现 PR 全碰
packages/spec生成物」的形态只能串行接力:一次只放行一个,每合并一个即向下一棒发接力指令(merge main + §9 重建 + 全套验证 + 兄弟断言复核 → PM 复核回报 → 转 ready + 挂 auto-merge)。要点:metadata-form-zod-reconciliation.test.ts,feat(spec)!: ViewItemSchema 拆成授权门 + wire 变体,并让 wire 的开放递归生效 (#5074) #5319 逐行号验证了 fix(spec): app 表单摘掉八个已退役的墓碑键输入,#3786 对账门改判「真实可授权面」(#5280) #5318 的十项元素并实测两者交互(无它的 preprocess 修复,fix(spec): app 表单摘掉八个已退役的墓碑键输入,#3786 对账门改判「真实可授权面」(#5280) #5318 的新断言在 view 上空转);$and/$or/$not归约成布尔单位元,非 filter 节点先响亮拒收 (#5239) #5323 的族 1 段落 ↔ fix(service-analytics): 空 $and/$or 按布尔单位元归约,两个编译器对齐五后端,四条进一致性表 (#5322) #5365;fix(service-analytics)!: 作者的where也 NULL-safe ——$not下推守卫、{$not:{}}为零行、{}析取项吸收$or(#5325) #5335 的「空组合子在同仓有两个对立答案:五个后端归约成布尔单位元,service-analytics 的两个编译器 fail-closed 抛错 —— #5239 的一致性表四条因此进不了表 #5322 is its own ruling」pin 块),PM 负责在两侧接力指令里写明分工,防止双方都动或都不动。2. authorable-surface 锚点断言的正确措辞(补进「入队与落地 A」)
#5304 落地树内基线锚点后,接力模板曾用错误断言「baseRev == merge-base」派发,后棒实测证伪并修正。正确措辞(本夜后八棒全部沿用,零误报):
配套两个新陷阱(已立单,SKILL 引用即可):#5370(merge 未 commit 就跑
gen:schema会把锚点静默倒退回旧 merge-base,全部门放行——四步序必须是「先 commit merge,再整体重生成」)、#5371(gen:schema的 rmSync 顺手抹掉gen:openapi产物,rest 随后 503 假红)。3. 裁决传播 = 全仓 pin 扫描(补进 step 5 派发词 + step 7 review)
维护者裁决翻转公共语义时(实例:#5322 空组合子从拒收改单位元),旧立场的 pin 不止存在于改动包——消费层(REST 信封测试、objectql、runtime)各有拷贝。#5365 首轮只翻了 service-analytics 层,REST 层
analytics-filter-refusal-envelope.test.ts的拷贝在 CI 上红(expected 200 to be 400),补一轮才清零。规则两条:INVALID_FILTER)并一次翻完」;4. subagent 停摆纠偏(补进 step 6 Collect 的 subagent 半边)
os-dev 以「后台 watcher 会唤醒我」为由中途停止时,watcher 永不触发(完成通知本身即意味着无存活子任务)——本夜四个 agent 共停摆 6 次,全靠 PM 手动唤醒。两条:
.claude/agents/os-dev.md(生产端修复优于 PM 端补救,PD Add comprehensive test suite for Zod schema validation #12)。5. 飞行中范围重叠拦截(补进 step 5「same-day churn」段的姊妹段)
现行「same-day churn goes INTO the prompt」只管派发时刻;main 一天 ~18 合并,飞行中同样会撞。实例:#5322 的 agent 23:17Z 起飞,#5335(同两个编译器、四格中两格)00:0xZ 合入——PM 例行核查读 main log 发现重叠,立即 SendMessage 预警(合 main 重测矩阵、读对方 diff 定边界、只补未覆盖部分、被完全覆盖则停下回报勿硬造 diff)。agent 两次收窄范围、弃自研方案改在对方体系上最小 diff 重放。规则:PM 每轮核查
git log origin/main时,对每个在飞 dispatch 做一次「新落地 PR × 在飞范围」的相交判断,相交即发预警——晚一轮就是一次返工。6. 依赖 PR 的「预期红」停放(补进「入队与落地 B」)
串行链中后棒先行实现、依赖前棒才能转绿的 PR(实例:#5365 四条进表依赖 #5323 的 mongodb 归约):draft 停放,PR body 写明精确的预期红清单(失败测试名 + 报错签名)与解除条件(依赖 PR 合入);每个 CI-failure webhook 到达时与该签名比对——匹配则静默跳过,新签名才是真问题(#5365 的 REST 红正是靠这个对比识别为新问题的);依赖合入后走「最后一轮同步 → 红清 → ready + auto-merge」。这是 notes 2「flaky 签名」纪律在故意红上的对偶,现行文本只覆盖了前者。
六条的实付学费:错误锚点断言若未纠正会教唆手改锚点(#4650 攻击自身);#5365 的 REST 红多花一轮 CI;6 次停摆合计拖慢约 1.5-2 小时;#5335 重叠若晚发现即重写返工。均为一次性成本,固化进 SKILL 后消失。
关联:#5370、#5371、#5388(裁决传播的边缘残留实例)、#5095、#5130(同文件待改事项,可合并施工)。