Skip to content

Commit 4330b7d

Browse files
Jack Qclaude
andauthored
docs(pm-dispatch): stream the objectui workload by domain — domain:devx / domain:spec / domain:ui (#10577)
Maintainer rulings 2026-08-21 (「B:两车道」→「现在本身就有 domain:devx」→ 「不要搞出那么多车道名称」→「也有 domain:spec」「其他就是 domain:ui ?」, naming finalized 「按 domain:ui 定稿」), plus the maintainer-approved 域×仓 seat-split clause (「ok」). - SKILL.md 多仓协调: three-stream rule (streamed by fix-landing surface) and the domain×repo seat-split clause, +2 lines funded by genuine dedup of the pm:blocking cache semantics duplicated between the 标签纪律 bullet, the state-model row and the vocabulary script's comment (-2 lines; 682/682 held). - ensure-pm-labels.sh: enroll domain:devx / domain:spec / domain:ui in the objectui repo's vocabulary (descriptions 96/97/88 chars, under the 100 cap); header note that the retired MAIN-repo domain:ui lane stays retired and the name re-enters circulation only as an objectui stream label. - lanes/devx.md + lanes/spec.md: one objectui-scope line each, funded in-file by deduping restatements already pointerized to SKILL.md (38/38 and 44/44 held). Fixes #10550 Claude-Session: https://claude.ai/code/session_019T1sSZbQTnLhrK9HhNdNiB Co-authored-by: Claude <noreply@anthropic.com>
1 parent f1b5ad3 commit 4330b7d

4 files changed

Lines changed: 35 additions & 8 deletions

File tree

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -99,9 +99,7 @@ session 的 `Claim:` 评论(拼写见「认领」,车道盘点已取)—— 标
9999
**(维护者 2026-08-11 接受):写侧即状态模型的 `Restart-touch:` 行;派发前必查收敛为一件事 —— 派发/折叠检查时读半状态巡查锚(`half-state-patrol.yml``ANCHOR_ISSUE` 置顶 issue)的 H17 on-hold 触发文件索引、与本次派发文件面相交,命中 ⇒ 按该 hold 评论的 rider/restart 条款处置(点名该单、顺手活列为申报过的增项)。
100100
- **`Blocked-by:` 行是机器可 grep 的反向索引**,一遍读喂三个职责:上游关单时放回被解锁的、按解
101101
锁扇出排序选择、**在合并后的 ref 上重验每张回队卡的文件面**(⛔ 只做第一件)。**一个标签存在
102-
,当且仅当有具名读者**;2026-08-11 的「⛔ 不落存储标签」已被维护者 2026-08-13 意见取代(原
103-
话见 runbook 全序节):`pm:blocking` = 分诊 sweep 自该索引推导写
104-
入/摘除的**缓存**,⛔ 不手工挂 —— 变的是缓存位置,推导本性与具名读者不变量未变(读者:选择优先级全序、列表页扫描)。
102+
,当且仅当有具名读者**;`pm:blocking` 即其推导缓存(语义见状态模型行,读者以词表脚本注为权威;2026-08-11「⛔ 不落存储标签」已被维护者 2026-08-13 意见取代,原话见 runbook 全序节)。
105103
- **状态变更不过夜**:标签挂了评论没跟上、assignee 设了没认领评论、结论只在 chat ——都是半状态
106104
,结束会话(含限流悬挂)前补齐成对或回滚半边(report-only 巡查见机械守卫索引)。**等待他座位也是状态,写在卡上才存在**(等谁、自何时,⛔ 不留在会话记忆);P0 嫌疑的等待 ⇒ 紧急直接分诊通道是义务不是选项(维护者 2026-08-19)。**代执行他人指令
107105
的关闭/作废,评论带出处三件(谁的指令、原话、在哪说的)** —— 无出处的关闭与误操作在证据上不可区
@@ -145,6 +143,8 @@ session 的 `Claim:` 评论(拼写见「认领」,车道盘点已取)—— 标
145143
格开设(「objectos 是新开的项目经理,是不是少了座位帖。」);无 changeset 流、无 `packages/`;合并队
146144
列 + required `build` + `merge_group` 自 2026-08-18 起已上线 —— 派发预期照实设,⛔ 不要求不存在的机制。
147145
第五仓 `hotcrm`(样板工程:元数据开发的 CRM 示例应用;岗位说明与裁决原文在 `references/lanes/hotcrm.md`):平台相关的功能在平台中实现 —— 建设 hotcrm 时发现的平台缺口按规则 1 落平台仓**普通卡**(非缝卡,⛔ 不在样板内绕行);`repo:hotcrm` 缝标签只给真协调卡。
146+
**objectui 卡按修复落点分流三流**(维护者 2026-08-21 裁定,`domain:ui` 唯一新增标签,命名定稿原话:「按 domain:ui 定稿」):`domain:devx`(工程面)/`domain:spec`(契约面)跨仓归各自车道,其余 —— 发布库与 apps —— `domain:ui` 归 objectui 执行席;症状位置不改流向,docs 随所记录的面走,落点不明留分诊首触 ⛔ 不猜。
147+
**车道可按仓分席(域×仓)**:忙时一个 domain 车道开多个按仓席位(如 devx@objectstack / devx@objectui;触发即规则 4 预登记的拆分条件),各席独立座位贴与 claim 互斥,闲时收归一席 —— 名册状态,不改协议文本;seam 卡单一归属:归修复落地仓的席,双仓皆动 objectstack 侧主导;`scripts/pm/**` 等住 objectstack 的全板工具链单写手恒为 objectstack 侧席,他侧上游立卡回链(hotcrm 宪章同款纪律)。
148148

149149
1. **Issue 住在修复落地的仓,分诊时按判据严格执行**(维护者 2026-08-10 裁决;2026-08-16 重申收紧)。判
150150
据:正文抽掉 objectstack 还成立 ⇒ file-at-destination,分诊当场转仓 —— console/UI 缺陷即转 objectui

.claude/skills/pm-dispatch/references/lanes/devx.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
- `packages/lint``packages/sdui-parser``content/docs/**``apps/docs`
88
`scripts/`(门禁类)、`.github/workflows/`(门禁接线)、`.githooks/`
99
`examples/**` 测试基建面、`docker/README.md`
10+
- objectui 的本域面同辖:`.github/``scripts/`、构建/发布管线与门禁工具(objectui 卡三流分流,判据见 SKILL.md 多仓协调)。
1011
- 边界:守护 skills 的门禁脚本在 `scripts/` 下时归本席 —— 判据是**被改文件的路
1112
**,SUBJECT 例外与 spec 三面切分在 SKILL.md 域车道表;`.claude/workflows/`
1213
`.claude/skills/`;**范围内的文件 ≠ 范围内的卡**,归属按卡的 `domain:*` 判,
@@ -18,8 +19,7 @@
1819
- `content/docs/releases/**` 是 release-owned,恰两条通道:完整性缺口逐卡批准
1920
(⛔ 不构成先例);事实错误走专用 docs-only PR。发布页作用域只管 v16 及以后。
2021
- ⛔ 不做任何发布动作,含改根 `version` 脚本链;**能点绿的门禁不等于该点绿**
21-
- governed 面 PR 照 SKILL.md「ACCEPT 之后的路径分叉」:恒 draft、留维护者、看得见
22-
地悬着;设计如此的红门禁必须在 PR 上说明红因并声明不修。
22+
- governed 面 PR 照 SKILL.md「ACCEPT 之后的路径分叉」执行(⛔ 此处不另抄);设计如此的红门禁必须在 PR 上说明红因并声明不修。
2323
- changeset 按 publish 面判:根 `scripts/` / docs / test-only ⇒ `skip-changeset`;
2424
落进已发布包的源 ⇒ 真 changeset;**收窄接受集**须 lint+spec 双侧语义登记,尤须
2525
慎重。

.claude/skills/pm-dispatch/references/lanes/spec.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
spec 契约转的工具链(门禁/生成器/lint 规则/报错散文/references 管线)。
1111
- 一般开发工具面留 devx(维护者 2026-08-09 裁决);`packages/spec` 恒归本席,不论
1212
谁需要它。
13+
- objectui 的契约面同辖:`packages/types`、schema/`$schema` 语料、`@objectstack/spec` pin 耦合与契约决策卡(objectui 卡三流分流,判据见 SKILL.md 多仓协调)。
1314

1415
## 席内分派参考
1516

@@ -40,5 +41,4 @@
4041

4142
## 席内判断
4243

43-
- 候选卡的评论是读取的一部分,即使正文看起来已是决策形状 —— 裁决与撤销住在评论
44-
里,跳过评论就是跳过裁决。
44+
- 候选卡评论必读(SKILL.md 候选与批次);裁决与撤销住在评论里,即使正文看起来已是决策形状。

scripts/pm/ensure-pm-labels.sh

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,11 @@
3636
#
3737
# The label set IS the PM state machine (.claude/skills/pm-dispatch/SKILL.md,
3838
# "State model"): every label here is consumed by a named query or gate.
39-
# ⛔ The retired lanes (domain:ui; domain:spec-surface and domain:spec-tooling,
39+
# ⛔ The retired lanes (domain:ui — retired as a MAIN-repo lane and still absent
40+
# from the main-repo lane loop; the NAME re-entered circulation 2026-08-21 as an
41+
# objectui-repo STREAM label only, maintainer ruling 「按 domain:ui 定稿」 — see
42+
# the objectui stream block below, the same re-entry shape as domain:engine;
43+
# domain:spec-surface and domain:spec-tooling,
4044
# retired 2026-08-16 — maintainer ruling 「A」 merged both into the single
4145
# domain:spec lane, the sub-lane criteria surviving as the spec seat's dispatch
4246
# reference; domain:engine-core / domain:metadata / domain:drivers /
@@ -278,6 +282,29 @@ for D in engine services devx spec cli skills; do
278282
gh label create "domain:$D" -R objectstack-ai/objectstack -c bfd4f2 -d "Domain lane — seat card indexed by label:pm:seat" 2>/dev/null || true
279283
done
280284

285+
# objectui workload streams — maintainer rulings 2026-08-21, quoted verbatim:
286+
# 「B:两车道」→「现在本身就有 domain:devx」→「不要搞出那么多车道名称」→「也有
287+
# domain:spec」「其他就是 domain:ui ?」, naming finalized 「按 domain:ui 定稿」.
288+
# objectui cards are streamed by the domain of the surface their FIX lands on
289+
# (never by symptom location; docs cards follow the surface they document):
290+
# domain:devx (engineering face — .github/, scripts/, build/publish/release
291+
# pipeline, gate tooling) and domain:spec (contract face — packages/types, the
292+
# schema corpus, @objectstack/spec pin coupling) reuse the EXISTING cross-repo
293+
# lane names and are worked by those lanes exactly as main-repo cards are;
294+
# domain:ui is the ONE new label, named for the repo's own trade — the published
295+
# library (components, plugin-*, fields, layout, core) and the apps — worked by
296+
# the objectui execution seat. Cards whose landing surface is undetermined stay
297+
# unstreamed for triage first-touch rather than guessed. These rows create
298+
# objectui-repo label OBJECTS: the main-repo lane roster (the loop above) is
299+
# untouched, and the retired main-repo domain:ui lane stays retired there (see
300+
# the header). Named consumers: the objectui execution seat's candidate query
301+
# and the devx / spec lanes' cross-repo pulls (SKILL.md 多仓协调). Streaming
302+
# the existing objectui backlog is a triage duty once the vocabulary lands —
303+
# by file-path evidence, never guessed — not this script's.
304+
gh label create domain:devx -R objectstack-ai/objectui -c bfd4f2 -d "objectui devx stream: fix lands on .github/, scripts/ or release pipeline — devx lane cross-repo" 2>/dev/null || true
305+
gh label create domain:spec -R objectstack-ai/objectui -c bfd4f2 -d "objectui spec stream: fix lands on packages/types, schema corpus or spec pin coupling — spec lane" 2>/dev/null || true
306+
gh label create domain:ui -R objectstack-ai/objectui -c bfd4f2 -d "objectui ui stream: fix lands on the published library or apps — objectui execution seat" 2>/dev/null || true
307+
281308
# Release board — `target:<major>` marks a release BLOCKER for that major
282309
# (SKILL.md "发版板"). Its consumer is a named query, one per backlog:
283310
# `label:target:<major> is:open`, and all three boards reading empty IS the

0 commit comments

Comments
 (0)