Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1,522 changes: 730 additions & 792 deletions .claude/skills/pm-dispatch/SKILL.md

Large diffs are not rendered by default.

18 changes: 9 additions & 9 deletions .claude/skills/pm-dispatch/references/compile-surfaces.md
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
# 过滤 / 谓词语义的编译面清单(references —— 按需加载)

出处:主文件「派发」的过滤/谓词语义标准条款 —— 命中该条款的派发令把本清单**逐面抄
进去**,PR 逐面申报。维护纪律与派发前复核串在正文内,一并适用:**这张表由 PR 维护、
派发前先跑复核串重验,⛔ 不凭记忆抄**。
出处:主文件「派发」
的过滤/谓词语义标准条款 —— 命中该条款的派发令把本清单**逐面抄进去**,PR 逐面申报。
维护纪律与派发前复核串在正文内,
一并适用:**这张表由 PR 维护、派发前先跑复核串重验,⛔ 不凭记忆抄**。

编译面清单(逐面实测 @ `main` `48f98b0`,2026-08-07):

Expand All@@ -16,11 +17,10 @@
| 半面 | objectql `having-filter` | `packages/objectql/src/having-filter.ts:92` / `:98`(`applyHaving` / `matchesHaving`) | 聚合**后**过滤。算半面是因为词表是子集,**但申报义务不打折** —— 它是**唯一没有 conformance 表覆盖的面**(`FILTER_LOGIC_CASES` 不驱动 HAVING 路径),所以漏了它连门禁都不会红 |
| 已解冻 | `driver-memory` / `driver-mongodb` | `packages/drivers/driver-memory/src/memory-matcher.ts:134`(`checkCondition`)、`packages/drivers/driver-mongodb/src/mongodb-filter.ts:700`(`translateFieldOperators`) | 2026-08-05 投入冻结,**2026-08-11 两条裁决解除** ⇒ 「不在范围 + 冻结指令」作废,按普通面申报 |

**这张表本身由 PR 维护 —— 与域表同一纪律。** 增删一面(新驱动、新求值器、某面被合并
或退役、冻结状态变化)的那个 PR 顺手改这里,不留给下一次裁决重新数。清单**会**过期是
必然的,清单**没有维护者**才是缺陷。
**这张表本身由 PR 维护 —— 与域表同一纪律。
** 增删一面(新驱动、新求值器、某面被合并或退役、冻结状态变化)的那个 PR 顺手改这里,
不留给下一次裁决重新数。清单**会**过期是必然的,清单**没有维护者**才是缺陷。

⚠️ 派发前复核一遍再抄,⛔ 不要凭这张表的记忆填派发令:本仓的包路径搬过家(驱动进
`packages/drivers/`、服务进 `packages/services/`),行号更是每天在动。一条够用的复核
串:`grep -rn 'matchesFilterCondition\|buildWhereSQL\|compileScopedFilterToSql'
packages --include=*.ts | grep -v node_modules`。
`packages/drivers/`、服务进 `packages/services/`),行号更是每天在动。一条够用的复核串:`grep
-rn 'matchesFilterCondition\|buildWhereSQL\|compileScopedFilterToSql' packages --include=*.ts | grep -v node_modules`。
14 changes: 7 additions & 7 deletions .claude/skills/pm-dispatch/references/contract-review.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -9,10 +9,10 @@
席账号 request review(同裁决:「也可以直接要求复审」—— 仅通知,载体仍是标签)、停手。
- ⛔ **不预挂**(维护者 2026-08-28 裁定):可复审增量存在前永不挂标,队列/受阻卡的提前挂已废
止 —— 前瞻条款②事实走主文件闸门段的三条既有通道;开载体恒 = 真实待审。
- **载体不迁移**(维护者 2026-08-18,原话:「中期把闸门迁到 PR review 的 Request Changes 上 我觉得
没必要」): 闸门载体保持本标签,⛔ 不迁 PR review / Request Changes、不为迁移留门。
- **重挂前先查裁决**:闸门标签缺失 ⇒ 先 grep 卡评论找复审结论 —— PASS + 无标 + head 未
= 已清标非被剥;head 后移或无结论才重挂(`get_reviews` 读空 ≠ 未复审)。
- **载体不迁移**(维护者 2026-08-18,原话:「中期把闸门迁到 PR review 的 Request Changes
上 我觉得没必要」): 闸门载体保持本标签,⛔ 不迁 PR review / Request Changes、不为迁移留门。
- **重挂前先查裁决**:闸门标签缺失 ⇒ 先 grep 卡评论找复审结论 —— PASS +
无标 + head 未动 = 已清标非被剥;head 后移或无结论才重挂(`get_reviews` 读空 ≠ 未复审)。

## 复审资格与归属

Expand All@@ -38,9 +38,9 @@
- 每场开场**必调一次 `get_session`**(claude-code-remote MCP,无参)读 `external_metadata.last_served_model`,⛔
自述档位不是读数(静默降档腐蚀的恰是自述;实测与配置档陷阱见 platform-readings);读数 ≠
`CONTRACT_REVIEW_TIER` ⇒ 该场整体跳过、标签原样留置 —— 卡在队列外等待是安全态。
- **保险丝只测座位自会话**:`mode:subagent` 里的 `get_session` 量的是**派发会话**(实测:钉在地板
档的子代理读回父档,⛔ 不作互证),传参只是配置 ⛔ 不作达档读数;条款②的 `mode:subagent`
派发照旧恒保留 `needs:contract-review`,免审跳过仅座位自会话成立。
- **保险丝只测座位自会话**:`mode:subagent` 里的 `get_session` 量的是**派发会话**(实测:
钉在地板档的子代理读回父档,⛔ 不作互证),传参只是配置 ⛔ 不作达档读数;
条款②的 `mode:subagent` 派发照旧恒保留 `needs:contract-review`,免审跳过仅座位自会话成立。
- **转录档位核验**(维护者 2026-08-27 裁)——「派更高档位子代理复审」仅核验通过才合法:采
信/清标前 grep 子代理 transcript 中 harness 逐消息盖章的 `model` 字段,产出裁决的每轮都须读
到契约复审档位,见回退证据 ⇒ 裁决整体作废;父会话仅两个合法动作 —— **逐字采纳或
Expand Down
48 changes: 23 additions & 25 deletions .claude/skills/pm-dispatch/references/decision-analysis.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -4,8 +4,9 @@

## 适用面(边界)

- 只约束 **`needs-user-decision` 卡与决策箱讨论**的四维分析;内部工具卡(dev 派发用)的四维照
旧,不强加行业类比。四条轴本身不变,轴定义与绑定句在主文件「升级与决策」。
- 只约束 **`needs-user-decision` 卡与决策箱讨论**的四维分析;
内部工具卡(dev 派发用)的四维照旧,
不强加行业类比。四条轴本身不变,轴定义与绑定句在主文件「升级与决策」。
- 只适用新记录,存量分析 ⛔ 不回改(new-records-only,与四维中文化同款先例)。

## 常设决裁批流程(2026-08-26 裁;裁决原话与归席见主文件「升级与决策」)
Expand All@@ -16,31 +17,28 @@

## 落卡分析模板(主文件「落卡/升级流程」②的 references 细则;中文,2026-08-19 裁)

段落骨架:背景 / 带 re-check 命令的前提 / 具体问题 / 选项 / 推荐 / 相关单与 PR;录裁与状态
转换归主文件「落卡/升级流程」③。正文六项写法要求:

1. **一句话问题**:开头一句话说清冲突是什么,不带实现名词 —— 写「三家公司住一个数据库,管理员打
开权限管理,三个页面全空」,不写「organization_id = NULL 的行是什么,两个互相矛盾的答案都已落地」。
2. **选项 × 真实代价表**:每个选项一行「做什么 + 真实代价」,代价写**客户可感知的后果**(「这家客
户的审批单出现在别家客户眼前」),不写机制名词;有实测的注明实测。
3. **业务含义直译**:每个选项配一句「业务上 = …」,允许行业类比(「像 Salesforce 每个 org 有自己
的 profiles」)。
4. **四轴从业务立场论证**:每轴的论据是客户/产品/事故后果,机制只作括号补
充;「防 AI 犯错」轴写清
出错时**谁看到什么**(响亮拒绝 vs 静默泄露)。
段落骨架:背景 / 带 re-check 命令的前提 / 具体问题 / 选项 / 推荐 / 相关单与 PR;
录裁与状态转换归主文件「落卡/升级流程」③。正文六项写法要求:

1. **一句话问题**:开头一句话说清冲突是什么,
不带实现名词 —— 写「三家公司住一个数据库,管理员打开权限管理,
三个页面全空」,不写「organization_id = NULL 的行是什么,两个互相矛盾的答案都已落地」。
2. **选项 × 真实代价表**:每个选项一行「做什么 + 真实代价」,代价写**客户可感知的后果**
(「这家客户的审批单出现在别家客户眼前」),不写机制名词;有实测的注明实测。
3. **业务含义直译**:每个选项配一句「业务上 = …」,
允许行业类比(「像 Salesforce 每个 org 有自己的 profiles」)。
4. **四轴从业务立场论证**:每轴的论据是客户/产品/事故后果,
机制只作括号补充;「防 AI 犯错」轴写清出错时**谁看到什么**(响亮拒绝 vs 静默泄露)。
5. **推荐 + 回退 + 置信缺口**:荐一项、给回退项、明说本分析看不见什么;格式见批流程。
6. **裁后执行段**:「裁后我会怎么执行(你不用管)」—— 让维护者只裁方向不背执行。

## 四棱卡面块固定形状(落卡即带,⛔ 不留待维护者到场再补)

首行**机器可寻固定标记** `<!-- os-decision-facets -->`(转义拼写写入,写后回读核验存活;提取按
面文本 grep,不依赖注释形状 —— sanitizer 纪律见平台读数);四棱各一行,用中文写(语言例外
见主文件
全体座位的不变量)—— ① 项目长远合理性(缩小还是扩大特例/契约增生);② 实际业务拉
动(今天谁撞上;零拉动默认 defer/remove);③ 防 AI 犯错(闭合枚举优于自由结构、响亮拒绝优于
静默容忍);④ 创
业阶段
不扩散(remove 优于 declare-and-maintain,每个已声明的键都是永久义务);一行推荐 + 字母选项
(A/B/…);**一行强制置信缺口(「本分析看不见什么」)**。四棱行同受六项约束:每行论据从业
务立场写,机制名词只作括号补充。
首行**机器可寻固定标记** `<!-- os-decision-facets -->`(转义拼写写入,
写后回读核验存活;提取按字面文本 grep,不依赖注释形状 —— sanitizer 纪律见平台读数);
四棱各一行,用中文写(语言例外见主文件全体座位的不变量)——
① 项目长远合理性(缩小还是扩大特例/契约增生);② 实际业务拉动(今天谁撞上;
零拉动默认 defer/remove);③ 防 AI 犯错(闭合枚举优于自由结构、响亮拒绝优于静默容忍);
④ 创业阶段不扩散(remove 优于 declare-and-maintain,每个已声明的键都是永久义务);
一行推荐 + 字母选项(A/B/…);**一行强制置信缺口(「本分析看不见什么」)**。
四棱行同受六项约束:每行论据从业务立场写,机制名词只作括号补充。
Loading
Loading