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
4 changes: 2 additions & 2 deletions .claude/skills/pm-dispatch/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -135,9 +135,8 @@ PM 的工作是循环:选卡 → 认领 → 派发 → 收集 → 复核 → 报
- `Blocked-by:` 行是机器可 grep 的反向索引,一遍读喂三个职责,⛔ 只做第一件。
- 三职责:上游关单放回解锁卡;按解锁扇出排序;在合并后的 ref 上重验回队卡文件面。
- 一个标签存在当且仅当有具名读者;`pm:blocking` 即其推导缓存,读者以词表脚本注为权威。
- 跨仓解锁判据是消费方可安装,⛔ 不是上游已合并。
- 跨仓解锁判据是消费方可安装,⛔ 不是上游已合并;探针:装上的包是否接受新键/新行为。
- 以发布包消费上游的仓,解锁放回前先验修复已进可安装的发行版。
- 安装面探针:装上的包是否接受新键/新行为。
- 未发版 ⇒ 转 `pm:on-hold` + `Restart-when:` 加消费方安装面判据,⛔ 不回 `pm:queue`。
- 该 hold 评论预写唤醒后的派发形状;pin 消费的仓不适用:pin 移动即可安装,走 pin 滞后读数。
- 状态变更不过夜:标签无评论、assignee 无认领评论、结论只在 chat,都是半状态。
Expand Down Expand Up @@ -183,6 +182,7 @@ PM 的工作是循环:选卡 → 认领 → 派发 → 收集 → 复核 → 报
- 路径面用 `get_files` 取,⛔ 不看报告自述;动手之前先分,不是事后对照。
- governed 面统一定义:`docs/adr/**`+`.claude/**`(全量)+`skills/**`+`docs/NORTH-STAR.md`+`.github/workflows/**`。
- governed 面同含 `AGENTS.md`+`CLAUDE.md`;`GOVERNED_REPOS` 同治理、行可限仓,执行席恒随落地仓车道。
- 另含 `ui/docs/adr/**`+`ui/.claude/**`+`ui/skills/**`+`ui/AGENTS.md`+`ui/CLAUDE.md`+`ui/.github/workflows/**`。
- 路径面命中 Tier H ⇒ ACCEPT 换终局四件套,混合 diff ⛔ 不按比例判;要拆让 dev 单独开 PR。
- 改动 >3000 行(含生成物)同换终局四件套,⛔ 无 Tier S 例外;读数 = PR additions+deletions。
- ① 席位记录一条落 PR,两层同欠:Tier H 置顶速读五段,其下 `## 席位核对`;卡只留指针行。
Expand Down
9 changes: 9 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,15 @@
/docs/NORTH-STAR.md @os-zhuang @hotlong
/.github/workflows/ @os-zhuang @hotlong

# Tier H governed surfaces of the nested `ui/` workspace (#25712) — the same
# register rows, under `ui/`; `ui/.claude/` is Tier H, unlike the root tree
/ui/docs/adr/ @os-zhuang @hotlong
/ui/.claude/ @os-zhuang @hotlong
/ui/skills/ @os-zhuang @hotlong
/ui/AGENTS.md @os-zhuang @hotlong
/ui/CLAUDE.md @os-zhuang @hotlong
/ui/.github/workflows/ @os-zhuang @hotlong

# The enforcement chain
/.github/CODEOWNERS @os-zhuang @hotlong
/scripts/pm/check-governed-merges.mjs @os-zhuang @hotlong
Expand Down
12 changes: 6 additions & 6 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -265,12 +265,12 @@ localStorage / auth gotchas.
approval, Tier S by the owning seat on a contract-tier review of record; before that record no AI seat merges,
queues, or arms auto-merge on a PR whose diff touches one.** The governed surfaces are `docs/adr/**`,
`docs/NORTH-STAR.md`, `.claude/**` (agents, hooks and settings — not only skills), `skills/**`, `AGENTS.md`,
`CLAUDE.md` — this file is one — and `.github/workflows/**`; a mixed diff is governed whole on one path hit.
The register is the `GOVERNED_SURFACES` table in `scripts/pm/check-governed-merges.mjs`, each row carrying its tier;
adding a surface is an edit *there*, never here, and `pnpm check:pm-governed-prose` reds per-PR when this
paragraph names fewer surfaces than the register — or more. When it reds, name the surface here. A fork PR
(head repo ≠ base repo) is a proposal, never a delivery, whatever its paths: no AI seat readies, queues, arms
auto-merge on or approves it; the owning seat adopts the diff onto an internal branch and lands that.
`CLAUDE.md` and `.github/workflows/**`, and under `ui/` `ui/docs/adr/**`, `ui/.claude/**`, `ui/skills/**`,
`ui/AGENTS.md`, `ui/CLAUDE.md` and `ui/.github/workflows/**`, all Tier H. The register is `GOVERNED_SURFACES` in
`scripts/pm/check-governed-merges.mjs`, each row carrying its tier; adding a surface is an edit *there*, never here,
and `pnpm check:pm-governed-prose` reds per-PR when this paragraph names fewer surfaces than the register — or
more. A fork PR (head repo ≠ base repo) is a proposal, never a delivery, whatever its paths: no AI seat readies,
queues, arms auto-merge on or approves it; the owning seat adopts the diff onto an internal branch and lands that.

**Authoring stays open to every seat** — drafting, pushing, opening and revising the PR. What is reserved is the
**landing**: on a PR whose diff touches a governed surface ⛔ never merge, ⛔ never queue, ⛔ never arm
Expand Down
Loading
Loading