Repository navigation
试点:分诊 PM 座位 Routine 化 —— 全仓唯一分诊者,cron 定时 fresh session,只标签不认领(#5472 模型第 5 点先行验证) #5474
Description
Activity
试点已启动(2026-08-05 13:41Z)
- Routine:
trig_016crh55RYySEPvJq76QVY67,cron40 * * * *(每小时 :40,服务端锚定到创建分钟),create_new_session_on_fire: true,下次定时触发 14:40Z。 - Prompt 要点(全文存于 Routine 配置):本单规定的 step 0 + step 2 标签半边全套(读全评论 → 三仓查重 → 过时前提检查 → 分类 + 域标签按修复落点 → 跨域拆分 → 逐条审计评论),外加两条自限:每轮 ≤15 条、优先最新(防首轮吃 25+ 存量把轮次拖过 1h,即判据 5 的自退守卫的补充),以及跳过
tracking/status:parked与登记表本身(正文范围定义未排除它们,已在 prompt 层排除,建议条款定稿时补进 pm-dispatch 协调模型改版:纵向拆分(分诊/执行)+ 一人一车道双射 + 登记表正文即真相 + 座位 Routine 化(维护者 2026-08-05 拍板) #5472)。 - 登记:[PM] 分片分工登记表 — 谁在管哪个仓库的队列 #4604 分诊行已按「正文即真相」协议就地编辑 + 审计评论。
- 判据基线(供一周后对账):未分诊存量 ~25–30 条;
finding存量 ~26(已超 15,首个正常轮即应顺带跑发现分诊轮);assign 基线 = 0。
⚠️ 开通即发现的一个风险(如实记录)create_trigger返回警告:本 Routine 未存任何 MCP 连接器,fired session 可能没有mcp__github__*工具(开通会话经由 CCR 平台持有 github 工具,但它不属于可传递的 connector grant)。若属实,分诊轮无法写标签/评论 = 试点技术性失败。处置已安排:13:42Z 已手动 fire 一轮烟测(sessioncse_01F1FneBAVqJ3KPXiRRzTnTa),prompt 附加了「报告工具可用性、不可写则直接结束勿绕过」的指令;开通会话 ~35 分钟后核查产出。烟测失败则按本单回滚处方执行(delete_trigger+ #4604 行清空),并需维护者从 claude.ai Routines UI 带 GitHub 连接器重建——那种情况会把结论记回本单。会话:
session_01N3uGFF8teXbpgtbEJ1aYXu
Generated by Claude Code
- Routine:
试点参数补记(模型):维护者指定分诊 Routine 用 Fable 5。经由 API 显式钉住不可用(
update_trigger返回model_update_disabled,本部署禁用了工具侧改模型);实际生效方式是继承环境默认模型——本环境会话默认即claude-fable-5,故每轮 fire 落在 Fable 5 上,与指定一致。留意一个附带语义:继承默认意味着若将来环境/组织默认模型变更,Routine 会跟着变;届时如需硬钉,走 claude.ai Routines UI。判据 4(误标率抽查)的数据按 Fable 5 解读。会话:
session_01N3uGFF8teXbpgtbEJ1aYXu
Generated by Claude Code
烟测结论:技术性失败,已回滚(2026-08-05 14:5xZ)
判定:零产出。 13:42Z 手动 fire 的烟测轮(session
cse_01F1FneBAVqJ3KPXiRRzTnTa)至 14:30Z 近 50 分钟:本单无首轮运行记录、#4604 无收尾评论、全仓检索不到任何带分诊 Routine 签名的审计评论、无新标签写入。其 prompt 要求逐单即时留审计评论,增量产出为零排除「长轮仍在跑」;与创建时平台警告(fired session 不携带 GitHub 连接器,mcp__github__*工具缺失)完全吻合——无 GitHub 读写工具时,连自退守卫的第一步(读 #4604)都执行不了,按 fire 附言静默结束是预期行为。回滚已按本单处方执行:
delete_trigger trig_016crh55RYySEPvJq76QVY67完成(赶在 14:40Z 下一次定时触发前,该次未发生);#4604 分诊行已清空回「待认领」+ 失败注记。无其他残留(烟测轮零写入,本就无需清理)。重建路径(需维护者动作):经 CCR 会话内
create_trigger创建的 Routine 无法携带 GitHub 连接器(平台限制,连接器只能传递调用会话自身持有的 connector grant,CCR 平台注入的 github 工具不在此列)。请从 claude.ai 的 Routines UI 创建,勾上 GitHub 连接器;prompt 直接复用本试点定稿版(存于本单 13:43Z 评论所述配置,含常设裁决段的最新版在被删 trigger 的最后配置里,如需我可以整理贴出)。判据 1–5 与基线数据不变,重建后试点周期重新起算。试点数据(虽短仍有效):判据 2(assign=0)烟测轮天然满足;判据 5 的一个真实输入——若轮次能跑,每轮 ≤15 条自限 + 1h 自退守卫的设计未被证伪也未被证实,留给重建后验证。
会话:
session_01N3uGFF8teXbpgtbEJ1aYXu
Generated by Claude Code
分诊 Routine prompt 定稿(供维护者从 claude.ai Routines UI 重建)
创建参数:
- 触发:每小时一次(原 cron
40 * * * *,重建时落在任意分钟皆可,判据 1 以「1 个周期」计); - 每次触发新开会话(fresh session per fire);
- 环境:选 objectstack 三仓环境(会话内需有
/home/user/objectstack克隆); - ✅ 必须勾选 GitHub 连接器——本次回滚的唯一原因就是缺它;
- 模型:Fable 5(维护者 13:51Z 指定;UI 若无模型选项则随环境默认,当前默认即 Fable 5)。
创建后请把 Routine ID 填回 #4604 分诊行(就地编辑 + 一条审计评论),试点一周判据(本单正文 1–5)与基线数据不变,周期自重建日起算。
Prompt 全文(复制以下整块):
你是 objectstack-ai/objectstack 的**分诊 PM 座位**(登记表 objectstack#4604 正文分诊行;试点单 objectstack#5474;协调模型 objectstack#5472)。本次是一轮定时分诊。先读 /home/user/objectstack/.claude/skills/pm-dispatch/SKILL.md 的 step 0(backlog sweep)、step 2(triage)与「Domain lanes」域表,然后**只执行其中"分类与打标签"半边**。 **自退守卫(先做)**:查 objectstack#4604 最近的分诊审计评论时间戳,若 1 小时内已有一轮在跑或刚完成且本轮无新单可扫,直接静默结束。 **常设裁决(分类前必读)**:先读 objectstack#4604 座位表各行「说明」列中的常设分诊指令,按其执行。当前生效:**driver-memory / driver-mongodb 族投入冻结**(维护者 2026-08-05,锚点 objectstack#5499)——该两族新单照常按落点打 `domain:engine`,但直接挂 `pm:on-hold` + 一条引用 #5499 的 hold 评论(日期/理由/重启条件),⛔ 不入 `pm:queue`;涉及 formula / driver-sql 的半边不受冻结影响,按正常规则分诊;若缺陷影响 CI 判绿正确性(单测后端语义错造成假绿/假红),按 restore-invariant 例外照常入队并在评论中点名。 **范围**:objectstack-ai/objectstack 全仓 open issue 中,无任何 `pm:*` / `domain:*` / `needs-user-decision` / `finding` 标签的。⛔ 跳过:带 `tracking` 或 `status:parked` 标签的单、登记表 #4604 本身。每轮至多处理 15 条,优先最新开出的,处理不完留给下一轮。 **对每一条**: 1. 读正文 + **全部评论**(评论里可能有维护者裁决,跳过评论 = 跳过裁决); 2. 查重:关键词/包名/CVE 号/报错串在三仓(objectstack / objectui / cloud)的 open issue 与 PR 各搜一遍;撞上已有单按 SKILL 收敛规则处理(cross-link / 关 duplicate / `Blocked-by:`),一件事只留一个派发入口; 3. 过时前提检查:`git -C /home/user/objectstack fetch origin main` 后用 `git log --oneline -10 origin/main -- <相关路径>` 核对 issue 引用的文件近況; 4. 分类:具体缺陷 + 落点/复现明确 → `pm:queue`;观察类 → `finding`;产品语义/公共契约拍板类 → `needs-user-decision`;正文被 sanitizer 截断 → 只留修复指令评论,不打标签; 5. 域标签:按**修复落点的包**对照 SKILL 域表打一个 `domain:*`(落 objectui / cloud 的打 `repo:objectui` / `repo:cloud`,不打 domain)。⛔ 绝不按标题词汇猜;说不出修复落在哪个文件 = 还没分诊完,继续读代码再判; 6. 跨域单:按 contract-first 拆分(父单 + 每域 sub-issue + `Blocked-by:`,spec/backend 先行); 7. 每条留一条中文分诊审计评论:分类 + 域 + 落点锚定理由 + 「本评论来自分诊座位 Routine(#5474 试点),不构成认领」,末尾附 Claude Code 署名 footer(`---` + `_Generated by [Claude Code](https://claude.ai/code)_`)。 **顺带职责**:`finding` 存量 > 15 时,执行一次发现分诊轮(objectstack#4949 纪律:过时前提检查 → 晋级 / 关闭(not planned) / 持有三选一,每条留一行理由)。 **硬约束**:⛔ 永不 assign、永不派发、永不改代码、永不合并、永不动已有认领;这是"只标签不认领"座位,assign 数必须恒为 0(试点判据 2)。读操作与评论一律走 REST(GitHub GraphQL 配额纪律见 SKILL「Operational notes」第 3 条);GraphQL-only 写操作配额打满时排队等恢复,不重试。 **收尾**:本轮有产出时,在 objectstack#4604 留一条简短审计评论(本轮处理条数 + 分类分布 + 剩余未分诊存量估计);无产出则静默结束,不留评论、不通知任何人。维护性注记:「常设裁决」段的具体内容(当前是 driver 冻结)会随时间演进——新增族级裁决时优先只改 #4604 座位表行说明(prompt 的第一句已指向它),prompt 本体不必每次跟改;#5472 的 SKILL 条款落地后,若域表拆分(engine-core / drivers)改变了打标签目标,本 prompt 第 5 步无需改动(它读 SKILL 现行表)。
会话:
session_01N3uGFF8teXbpgtbEJ1aYXu
Generated by Claude Code
- 触发:每小时一次(原 cron
重建后首轮验证:通过(2026-08-05 15:5xZ 核验)
维护者 15:0xZ 自 claude.ai Routines UI 重建的
trig_01XhwLupWiUBp7GUEigK1RFW配置与产出双向核验:配置(经
list_triggers):cron47 * * * *、fresh session per fire、模型已钉claude-fable-5(session_context.model,UI 创建可钉——比 API 路径多出的能力,补记)、完成通知 push=on、prompt 与定稿一致。首轮产出(14:47:45Z fire,实测):约 16 张单完成分诊(14:54–15:04 间落标),标签谱系全面且抽样正确——
domain:engine(#5504/#5503/#5288)、domain:services(#5333 ✓ analytics 回显按落点归 services)、domain:spec(#5515/#5310/#5248)、domain:devx(#5330)、domain:cli(#5449 并正确挂pm:blocked)、repo:objectui(#5247 ✓ console 编辑器)、needs-user-decision(#5488/#5311/#5249 —— 三张确属契约拍板形状)。GitHub 连接器工作正常,上一代的缺陷已修复。管线端到端打通:首轮产出已被执行座位消费——#5510(cli 车道)、#5512 / #5332(services 车道)在分诊后一小时内被认领派发(
pm:dispatched+ assignee 来自车道 PM,非 Routine)。纵向拆分模型(#5472 第 1 点)首次完整走通:分诊打标 → 车道认领 → 派发。判据快照:判据 1(标签延迟 ≤1 周期)当日新单全部达标;判据 2(Routine assign=0)分诊类单无 assignee ✓,已派发单的 assignee 来自车道会话、时间戳在分诊之后,归属清晰;判据 3(GraphQL 配额)本轮无打满记录;判据 4 误标抽查:上述 7 单抽样零误标,满 10 单的正式抽查随试点周期做;判据 5:首轮时长 ~17 分钟(14:47–15:04),远小于 1h 周期 ✓。
一处偏差(记录观察,不回滚):prompt 要求「有产出时在 #4604 留收尾简报」,首轮未留。不影响判据 1–5,可能是轮内收尾步被截断;观察第二轮(15:47Z 已按 cron 触发,运行中),若连续缺失再修 prompt 或按 UI 路径调整。
会话:
session_01N3uGFF8teXbpgtbEJ1aYXu
Generated by Claude Code
第二轮观察(15:47Z fire)+ 收尾简报偏差的处置
第二轮产出(实测,15:54–16:01 落标):约 20+ 单——新单分诊(#5532/#5520/#5519 等 rc2 验收族、#5141–#5150 objectui 显示族补标)之外,按 prompt 的顺带职责跑了发现分诊轮:
finding存量判级晋级 #5265/#5284/#5227/#5273(入队,域正确)、转决策箱 #5282/#5186、持有 #2508 等。管线时效样本:P0 安全单 #5519(REST 派发路由缺匿名拒绝门)分诊后 ~40 分钟内被 cli 车道认领派发。判据 1(≤1 周期)✓、判据 2(Routine assign=0)✓、判据 3(配额)✓、判据 5(轮长 ~15 分钟 ≪ 1h)✓。偏差确认:#4604 收尾简报连续两轮缺失。 影响不止美观——自退守卫的读数就是「#4604 最近分诊审计评论时间戳」,收尾缺失 = 轮次互斥盲区(现靠轮长 ~15 分钟 ≪ 1h 兜着)。处置:
- 走 prompt 的设计内通道修复:prompt 每轮必读「[PM] 分片分工登记表 — 谁在管哪个仓库的队列 #4604 座位表说明列的常设分诊指令」,已把两条常设指令写进分诊行说明——① 收尾简报必做(固定开头「分诊轮收尾」,并给守卫加了备用读数:全仓最近一条 Routine 签名评论);② 域标签过渡规则(docs(pm-dispatch): 协调模型改版 —— 分诊/执行纵向拆分 + 一人一车道双射 + 登记表正文即真相 + 座位 Routine 化 (#5472) #5522 落地前 driver 族打
domain:engine,落地后打engine-core/drivers)。第三轮(16:47Z)起生效,观察是否闭合。 - 平台事实补记:
update_trigger对 UI 创建(created_via: http_api)的 Routine 返回权限拒绝——agent 只能改自己create_trigger创建的。所以 prompt 本体的修订只能由维护者在 Routines UI 操作;若第三轮后收尾仍缺失,建议维护者把上一条评论定稿 prompt 的「收尾」段替换为强化版(需要时我贴出全文)。座位表说明列因此是 agent 侧唯一可写的常设指令通道——这个分层(UI=prompt 本体,说明列=增量指令)建议写进 pm-dispatch 协调模型改版:纵向拆分(分诊/执行)+ 一人一车道双射 + 登记表正文即真相 + 座位 Routine 化(维护者 2026-08-05 拍板) #5472 的条款定稿。
会话:
session_01N3uGFF8teXbpgtbEJ1aYXu
Generated by Claude Code
- 走 prompt 的设计内通道修复:prompt 每轮必读「[PM] 分片分工登记表 — 谁在管哪个仓库的队列 #4604 座位表说明列的常设分诊指令」,已把两条常设指令写进分诊行说明——① 收尾简报必做(固定开头「分诊轮收尾」,并给守卫加了备用读数:全仓最近一条 Routine 签名评论);② 域标签过渡规则(docs(pm-dispatch): 协调模型改版 —— 分诊/执行纵向拆分 + 一人一车道双射 + 登记表正文即真相 + 座位 Routine 化 (#5472) #5522 落地前 driver 族打
第三轮观察:收尾简报偏差闭合,试点全指标健康(2026-08-05 17:3xZ,开通会话末次核查)
偏差闭合:第三轮(16:47Z fire)在 #4604 留下了完整的「分诊轮收尾」简报(17:01Z)——16:3xZ 写进座位表说明列的常设指令第一轮即生效,无需动 prompt 本体。「说明列 = agent 侧常设指令通道」这个分层被实测验证,建议随 #5472 收尾把它写进 SKILL 条款(已在前一条评论提过)。
第三轮质量抽读(超出预期的三点):① 关 duplicate ×2 里包含 #4943→#5248 的收敛——正是今晨 sweep 标记的疑似同题对;② 跨域例外路径首次实战:#5367 晋级时由分诊座位指定 services 车道认领 + 文件面申报,#5522 刚落地的机制当天被正确使用;③ 与 spec 车道 16:35Z 恢复后并行的发现分诊轮做了让行协调(spec 族 finding 不双处置)——两个分诊动作源并存时的礼让行为是协议没写的,值得沉淀。
试点判据现状(三轮累计):判据 1(标签延迟 ≤1 周期)✓;判据 2(assign=0)三轮全 0 ✓;判据 3(GraphQL 配额)无打满 ✓;判据 4(误标抽查)已抽 >10 条零误标,含跨仓过时前提检查的正确执行 ✓(正式复检仍按一周期做);判据 5(轮次无重叠)轮长 15–17 分钟 ≪ 1h,自退守卫读数已由收尾简报补全 ✓。
开通会话就此收手:烟测→回滚→重建验证→偏差处置全链闭环,后续活性按登记表惰性判定协议走,试点一周对账(8/12 前后)由届时的会话或维护者依本单判据执行。域表切换侧注:
domain:drivers座位已于 16:58Z 被新会话认领,拆分后 15 分钟内上岗——拆域的吞吐目的当场兑现。会话:
session_01N3uGFF8teXbpgtbEJ1aYXu
Generated by Claude Code
- added a commit that references this issue
on Aug 6, 2026 分诊座位扩域提案:三仓全域(维护者 2026-08-06 提出,prompt 定稿供 UI 替换)
动机:分诊可用性不应绑死在姊妹仓座位活性上(objectui 座位空缺期间该仓新单无人分诊);三仓判级口径应一致;姊妹仓 finding 阈值触发应机械化(objectui 现 ~16 超阈靠座位 PM 记得)。配套纪律:prompt 替换生效后,objectui / cloud 座位不再自扫 step 0(误判走上报),与主仓域座位一致——两仓座位行的说明列届时由开通会话同步注记。
替换方式:Routines UI →
trig_01XhwLupWiUBp7GUEigK1RFW→ 用下面整块替换 prompt(其余参数不动)。你是 objectstack-ai 三仓(objectstack / objectui / cloud)的**分诊 PM 座位**(登记表 objectstack#4604 正文分诊行;试点单 objectstack#5474;协调模型 objectstack#5472)。本次是一轮定时分诊。先读 /home/user/objectstack/.claude/skills/pm-dispatch/SKILL.md 的 step 0(backlog sweep)、step 2(triage)与「Domain lanes」域表,然后**只执行其中"分类与打标签"半边**。 **自退守卫(先做)**:查 objectstack#4604 最近的分诊轮收尾简报时间戳(找不到时备用读数:全仓搜最近一条含「本评论来自分诊座位 Routine」的评论时间戳);若 1 小时内已有一轮在跑或刚完成且本轮无新单可扫,直接静默结束。 **常设裁决(分类前必读)**:先读 objectstack#4604 座位表各行「说明」列中的常设分诊指令,按其执行。当前生效:**driver-memory / driver-mongodb 族投入冻结**(维护者 2026-08-05,锚点 objectstack#5499)——该两族新单照常按落点打 `domain:drivers`,但直接挂 `pm:on-hold` + 一条引用 #5499 的 hold 评论(日期/理由/重启条件),⛔ 不入 `pm:queue`;涉及 formula / driver-sql 的半边不受冻结影响,按正常规则分诊;若缺陷影响 CI 判绿正确性(单测后端语义错造成假绿/假红),按 restore-invariant 例外照常入队并在评论中点名。 **范围(三仓)**:objectstack、objectui、cloud 三仓的 open issue 中,无任何 `pm:*` / `domain:*` / `needs-user-decision` / `finding` 标签的。⛔ 跳过:带 `tracking` 或 `status:parked` 标签的单、登记表 #4604 本身。**每轮三仓合计至多 15 条**,优先序:objectstack 新单 → objectui 新单 → cloud 新单 → 三仓存量(各按最新优先),处理不完留给下一轮。 **对每一条(三仓通用步骤)**: 1. 读正文 + **全部评论**(评论里可能有维护者裁决,跳过评论 = 跳过裁决); 2. 查重:关键词/包名/CVE 号/报错串在三仓的 open issue 与 PR 各搜一遍;撞上已有单按 SKILL 收敛规则处理(cross-link / 关 duplicate / `Blocked-by:`),一件事只留一个派发入口; 3. 过时前提检查:对 issue 所在仓 `git -C /home/user/<repo> fetch origin main` 后用 `git log --oneline -10 origin/main -- <相关路径>` 核对 issue 引用的文件近況; 4. 分类:具体缺陷 + 落点/复现明确 → `pm:queue`;观察类 → `finding`;产品语义/公共契约拍板类 → `needs-user-decision`;正文被 sanitizer 截断 → 只留修复指令评论,不打标签; 5. 域/路由标签(**分仓规则**): - **objectstack 单**:按修复落点的包对照 SKILL 域表打一个 `domain:*`(落 objectui / cloud 的打 `repo:objectui` / `repo:cloud`,不打 domain)。⛔ 绝不按标题词汇猜;说不出修复落在哪个文件 = 还没分诊完,继续读代码再判; - **objectui / cloud 仓内单**:⛔ 不打 `domain:*`(整仓座位无路由需求),只打 pm-state;若该单是 feature 级、跨仓、或落点涉 `packages/spec` —— 按 One-main-backlog / 跨座位转移协议移交:在 objectstack 立对应单(带 `Part of <repo>#<n>` 与相应路由标签)并在原单留移交评论 + `Blocked-by:`,spec 面一律转 `domain:spec` 座位; 6. 跨域单:按 contract-first 拆分(父单 + 每域 sub-issue + `Blocked-by:`,spec/backend 先行); 7. 每条留一条中文分诊审计评论:分类 + 域/路由 + 落点锚定理由 + 「本评论来自分诊座位 Routine(#5474 试点),不构成认领」,末尾附 Claude Code 署名 footer(`---` + `_Generated by [Claude Code](https://claude.ai/code)_`)。 **顺带职责**:三仓的 `finding` 存量**分别**对照阈值——任一仓 > 15 时,对该仓执行一次发现分诊轮(objectstack#4949 纪律:过时前提检查 → 晋级 / 关闭(not planned) / 持有三选一,每条留一行理由)。 **硬约束**:⛔ 永不 assign、永不派发、永不改代码、永不合并、永不动已有认领;这是"只标签不认领"座位,assign 数必须恒为 0(试点判据 2)。读操作与评论一律走 REST(GitHub GraphQL 配额纪律见 SKILL「Operational notes」第 3 条);GraphQL-only 写操作配额打满时排队等恢复,不重试;命中 API 限流时缩减本轮处理量而不是硬撞。 **收尾(⛔ 必做,不是可选步骤——它是下一轮自退守卫的读数来源,缺了它轮次互斥就是盲的)**:本轮有任何产出(标签/评论/拆分/移交)时,必须在 objectstack#4604 留一条收尾简报,固定开头「分诊轮收尾(Routine trig_01XhwLupWiUBp7GUEigK1RFW)」+ **分仓**处理条数、分类分布、各仓剩余未分诊存量估计,附署名 footer。这条评论与逐单审计评论同等强制;时间再紧也要发出(发不出时至少发一行占位)。仅当本轮零产出(自退或无单可扫)才静默结束。替换后:首个三仓轮的产出由开通会话(或任一 PM)核验——判据照旧(收尾简报分仓计数、assign=0、姊妹仓单不带 domain 标签、objectui 的 finding 轮被触发)——并同步 #4604 分诊行范围与 objectui / cloud 两行的「step 0 已移交」注记。环境前提:Routine 所在环境须含三仓 sources(当前配置已满足,创建时已挂三仓)。
会话:
session_01N3uGFF8teXbpgtbEJ1aYXu
Generated by Claude Code
存量裁决轮(维护者 2026-08-06 委托,session_01LeEfA7CFwbJb7JJmXm2KM3):补落
tracking标签——试点不该关也不该派发:Routine 已由维护者重建(trig_01XhwLupWiUBp7GUEigK1RFW)且多轮验证健康,但一周对账(约 08-12)未到期、且 08-06 维护者提出的三仓扩域 prompt 替换尚待落地核验。持续协调卡,打标防止被分诊轮重复处理。
Generated by Claude Code
#5472(维护者 2026-08-05 拍板的协调模型改版)第 5 点「座位 Routine 化」的先行试点。选分诊座位试点because它风险最低:只读 + 打标签,零认领零派发,与现行 SKILL 不冲突(现行「any PM may label any issue」的子集行为),失败回滚 = 删 Routine,零残留。
试点内容
create_new_session_on_fire: true,每小时),prompt 为完整独立指令:执行 pm-dispatch 的 step 0 backlog sweep 与 step 2 triage 的标签半边——扫无pm:*/domain:*标签的 open issue,逐个:读正文 + 全部评论 → 查重(关键词/包名/报错串,三仓)→ 过时前提检查 → 分类打标签(pm:queue/finding/needs-user-decision+domain:*+repo:*)→ 跨域的做 contract-first 拆分(父单 + 每域 sub-issue +Blocked-by:)→ 一条分诊审计评论。⛔ 永不 assign、永不派发、永不改代码。 发现分诊轮(pm-dispatch / os-dev:发现类 issue 纪律——立单前查重、就近归挂 sub-issue、finding分级与批量分诊出水口 #4949)按现行节律由它顺带执行。运行一周的成功判据
回滚
delete_trigger+ #4604 行清空 + 审计评论。无其他状态残留(所有产出是标签与评论,本就是状态机的合法写入)。依赖与顺序
无硬依赖(行为是现行 SKILL 子集);建议与 #5472 的 SKILL 条款施工并行启动,试点数据反哺条款定稿(尤其轮次互斥机制与频率默认值)。域表重切(#5472/#5095)落地前,分诊按现行域表打标签,拆分后 Routine prompt 无需改动(它读 SKILL 现行表)。