Skip to content

Commit 1ce2030

Browse files
os-zhuangclaude
andauthored
docs(pm-dispatch): 域分类表补全 22 个未列包,兜底位显式点名 (#5095) (#5468)
`.claude/skills/pm-dispatch/SKILL.md` 的 `domain:*` 包家族表只覆盖了一部分包, 而同节 label discipline 规定「未打标签的 issue 任何 PM 都不得认领」—— 落在未列包上的 issue 因此处于死角。表下本就写明未列包由首次分诊定级、 并由 PR 更新表;本条即那个 PR。 对 origin/main 重新清点 77 个 workspace 包,按锚定规则(读依赖方向 / src / 真实消费方,不从包名猜)补入 22 个包:formula 与 plugin-pinyin-search 归 engine;triggers/*、plugin-email、plugin-reports、embedder-openai、 knowledge-* 归 services;sdui-parser、vscode-objectstack、apps/docs 归 devx; rest、mcp、observability、client、client-react、cloud-connection、 create-objectstack、adapters/*、plugin-hono-server、plugin-dev 归 cli。 apps/*、console、examples/* 作为无固定归属项在表内显式点名并挂兜底句。 另注明本表只覆盖本仓的包,objectui / cloud 用 repo:* 分片表达。 只改域分类表与其说明段,协议其它条款未动。 Claude-Session: https://claude.ai/code/session_01GX3sL71LFq8m2usg6VqTSE Co-authored-by: Claude <noreply@anthropic.com>
1 parent 577cd27 commit 1ce2030

2 files changed

Lines changed: 60 additions & 4 deletions

File tree

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
---
2+
---
3+
4+
docs(pm-dispatch): 域分类表补全 22 个未列包 —— 未列包不再落入「不可被任何 PM 认领」死角 (#5095)
5+
6+
`.claude/skills/pm-dispatch/SKILL.md``domain:*` 包家族表只覆盖了一部分包,而同节的
7+
label discipline 规定「未打标签的 issue 任何 PM 都不得认领」—— 两条合起来,落在未列包上的
8+
issue 要么无法认领,要么每个 PM 各自临场判一次归属,车道协议「一个 PM 的分诊结论被缓存成
9+
标签、其他 PM 直接读」的价值当场归零。表下本就写明:未列包在首次分诊时定级,并由 PR 更新表。
10+
本条就是那个 PR。
11+
12+
`origin/main` 重新清点(77 个 workspace 包),补入的 22 个包按**锚定规则**逐包定级 ——
13+
读 package.json 依赖方向、`src/` 内容与真实消费方,不从包名猜:
14+
15+
- **`domain:engine`**:`packages/formula`(CEL / `matches-filter` / RLS 谓词求值,消费方
16+
是 objectql 与各 driver)、`plugin-pinyin-search`(注册全局 `beforeInsert`/`beforeUpdate`
17+
钩子,与 #4775 同一条锚定先例)。
18+
- **`domain:services`**:`packages/triggers/*`(三个 flow 触发器,承接 automation 引擎的
19+
`FlowTrigger` 接线)、`plugin-email`(#5087 首次分诊已定)、`plugin-reports`
20+
`embedder-openai``knowledge-memory``knowledge-ragflow`(后两者直接依赖
21+
`@objectstack/service-knowledge`)。
22+
- **`domain:devx`**:`packages/sdui-parser`(全仓唯一代码消费方是 `packages/lint`)、
23+
`packages/vscode-objectstack`(编写期编辑器 DX,只依赖 spec)、`apps/docs`(文档站)。
24+
- **`domain:cli`**:`packages/rest`(#4886 先例,#5423 沿用)、`packages/mcp`(落点与
25+
`packages/runtime/src/domains/mcp.ts` 同缝)、`packages/observability`(最大消费方是
26+
runtime)、`packages/client` / `client-react`(REST 线协议 SDK,自带 route-ledger 一致性
27+
用例)、`packages/cloud-connection`(cli 车道 2026-08-05 首次分诊已定)、
28+
`packages/create-objectstack``packages/adapters/*``plugin-hono-server``plugin-dev`
29+
(`os dev` 装配栈,posture 门与 cli serve/verify 同面)。
30+
- **兜底位显式点名**(表内新增一行,写明「不是遗漏」):`packages/apps/*`
31+
`packages/console``examples/*` —— 各自的读法写在表下,`packages/console` 尤其点明其
32+
`dist/``../objectui` 的构建产物落盘位,UI 缺陷走 `repo:objectui`
33+
34+
另加一句表的适用范围:本表只覆盖本仓的包;`objectui` / `cloud` 是仓库级分片,routing 用
35+
`repo:*` 表达,不另打 `domain:*`(域车道是「同仓多 PM 并发」的切法,不是第二套仓库标签)。
36+
37+
只改域分类表与其说明段,协议其它条款(含第 8 步三轴决策框架)一字未动;仅内部 agent
38+
协议文本,不发布任何包,空 frontmatter 仅为满足 changeset 门禁。

.claude/skills/pm-dispatch/SKILL.md

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -358,18 +358,36 @@ file the fix touches, you have not triaged it yet, and it is not labelable.
358358

359359
| 标签 | 包家族 |
360360
|:--|:--|
361-
| `domain:engine` | `packages/objectql``packages/metadata*``packages/platform-objects``packages/core``packages/plugins/driver-*` |
362-
| `domain:services` | `packages/services/*``packages/plugins/plugin-approvals``plugin-webhooks``packages/connectors/*` |
361+
| `domain:engine` | `packages/objectql``packages/metadata*``packages/platform-objects``packages/core``packages/formula`(CEL / `matches-filter` / RLS 谓词求值)、`packages/plugins/driver-*``plugin-pinyin-search`(全局写钩子,同 #4775 锚定) |
362+
| `domain:services` | `packages/services/*``packages/connectors/*``packages/triggers/*`(flow 触发器)、`packages/plugins/plugin-approvals``plugin-webhooks``plugin-email``plugin-reports``embedder-openai``knowledge-memory``knowledge-ragflow` |
363363
| `domain:identity` | `packages/plugins/plugin-auth``plugin-security``plugin-sharing``plugin-audit` |
364-
| `domain:devx` | `packages/lint``skills/**``content/docs/**``scripts/`(门禁类) |
364+
| `domain:devx` | `packages/lint``packages/sdui-parser`(仅 lint 消费)、`packages/vscode-objectstack``skills/**``content/docs/**``apps/docs``scripts/`(门禁类) |
365365
| `domain:spec` | `packages/spec` 及其生成物(现 spec 车道不变) |
366-
| `domain:cli` | `packages/cli``runtime``verify``qa``types` |
366+
| `domain:cli` | `packages/cli``runtime``verify``qa``types``packages/rest``packages/mcp``packages/observability``packages/client``packages/client-react`(REST 线协议 SDK)、`packages/cloud-connection``packages/create-objectstack``packages/adapters/*``packages/plugins/plugin-hono-server``plugin-dev` |
367+
| (无固定归属,按落点分诊) | `packages/apps/*`(`setup` / `studio` / `account`)、`packages/console``examples/*` —— 见下,**这一行是显式点名,不是遗漏** |
367368

368369
`examples/**` belongs to the subsystem it exercises; anything that fits
369370
nowhere is judged at triage by its principal landing site. A package missing
370371
from the table is classified the first time it is triaged and the table
371372
updated **by PR** — the taxonomy evolves deliberately, never per-claim.
372373

374+
最后一行的三处兜底位:`examples/*` 照上一句;另两处的读法如下(表按 #5095 逐包
375+
核过真实消费方向补全,`packages/` 下余包都已落到上面某一行):
376+
377+
- `packages/apps/*` 今天只是 app manifest + plugin 壳,内容仍从
378+
`@objectstack/platform-objects/apps` 再导出,落点可能在 platform-objects
379+
(engine)、这三个包本身、或控制台渲染面(`repo:objectui`)—— 按主要落地站点
380+
在分诊时判定。
381+
- `packages/console``../objectui` 构建产物的落盘位:仓内只跟踪
382+
`package.json` / `README` / `CHANGELOG`,`dist/``scripts/build-console.sh`
383+
生成且⛔禁止手改。控制台 UI 的缺陷走 `repo:objectui`;仓内唯一可改面是 pin /
384+
刷新脚本(`build-console.sh``bump-objectui.sh``check-console-sha.mjs`
385+
`check-objectui-pin-fresh.mjs`),归 `scripts/`(门禁类)那一行。
386+
387+
本表只覆盖**本仓(objectstack)的包**`objectui` / `cloud`**仓库级分片**,
388+
routing 用 `repo:*` 表达(rule 4 的分片协议),不另打 `domain:*` —— 域车道是
389+
「同仓多 PM 并发」的切法,不是第二套仓库标签。
390+
373391
**Label discipline.** `domain:*` is applied during the backlog sweep (round
374392
loop step 0) by whichever PM triages the issue. **Labeling ≠ claiming**: any
375393
PM may label any issue, including ones it will never claim — the label is

0 commit comments

Comments
 (0)