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 change: 1 addition & 0 deletions .claude/skills/pm-dispatch/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -640,6 +640,7 @@ PM 的工作是循环:选卡 → 认领 → 派发 → 收集 → 复核 → 报
### 入队与落地

- 细则见 `references/landing-operations.md`,落地窗口查阅。
- fork PR = 提案,席位永不放行;采纳 diff 内部落地,见 `references/external-contributions.md`
- 条款②入队闸门:翻 ready / 入队前先取 PR 实际 diff;diff 是事实,卡片语义是预测。
- `--tier` 嫌疑行是提示非裁定;双肢命中任一 ⇒ 无达档条款②复核 PASS 在案 ⛔ 禁止入队。
- 路径肢 = diff 触及契约面 `packages/spec/src/**`,含 error-code-ledger 与 `*.zod.ts` 契约 schema。
Expand Down
2 changes: 1 addition & 1 deletion .claude/skills/pm-dispatch/references/core-rules.md
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@
- 停摆永不自愈,按梯度复位、三次即判不可靠重派;报告丢失时按草稿 PR 直接验收。
- 复核对 GitHub 核验 ⛔ 不对自述核验,逐项过清单并亲核形态、范围与整包价值密度。
- CI 收敛读数只属于复核侧;判决三种:验收落卡、返工最多两轮、升级走决策通道。
- 验收后取路径面,命中规则层即分叉 ⛔ 不翻正式不入队;Tier S 席内达档复核 PASS 后入队。
- 验收后取路径面:规则层 ⛔ 不翻正式不入队,Tier S 达档 PASS 后入队;fork PR 永不放行
- 受管面 PR 留 draft 并向两个授权批准账户请审;契约卡无同形复核记录 PASS ⛔ 禁止入队。
- 入队资格是每一个检查全绿 ⛔ 不是必查子集;碰生成物的 PR 入队前先同步再重生成。
- 唯一例外:源码自述 pushed 上按设计而红、不跑 `merge_group`、评论记明门与因,三条全立。
Expand Down
16 changes: 16 additions & 0 deletions .claude/skills/pm-dispatch/references/external-contributions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# 外部贡献:fork PR 是提案,不是交付

见 SKILL.md 〈入队与落地〉的 fork PR 行;本文是 fork PR(head 仓 ≠ base 仓)进场到落地的四步。
席位永不翻 ready、入队、挂 auto-merge 或批准它;席位复审是必需输入,⛔ 永不是放行许可。

- ① 先立卡:分诊 fire 扫 open PR 中 head 仓 ≠ base 仓者;无卡的按 PR 正文立卡,常规定级。
- 无卡的 fork PR 在板上不存在;PR 上只贴一条固定评论,原文:
`this repository works card-first; filed as #N; this PR stays a draft until the card is graded`
- ② 人裁的是问题不是代码:普通可复现缺陷路由到席位,不经维护者。
- 地板项(安全/权限边界、契约、功能)作业务问题进决策箱,与任何卡同批裁。
- ③ 席位采纳 diff,永不落地 fork PR:内部分支 cherry-pick 或重写,`Co-authored-by:` 贡献者。
- 门禁推导、达档复核与队列同内部工作;对贡献者的要求只作 fork PR 上的 review 评论。
- 内部 PR 落地后关闭 fork PR,附致谢与落地链接;席位在 fork PR 上只写这两种评论。
- ④ fork 的 CI 席位永不代批准运行;head 上 0 条 check run 读作 NOT MEASURED,⛔ 永不读作绿。
- 机器面:`check-governed-merges.mjs --pr <n>` 对 head 仓 ≠ base 仓走 H(人合)出口;head.repo 为空同。
- 供应链条款(fork 带来的依赖、lockfile、workflow、scripts)延后:第一张此类 fork PR 出现时再立。
6 changes: 3 additions & 3 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -261,7 +261,9 @@ localStorage / auth gotchas.
`CLAUDE.md` — the file you are reading is one — and a mixed diff is governed whole on a single 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.
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.

**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 Expand Up @@ -797,8 +799,6 @@ working in its domain — browse the directory, never a hand-written list here:
- `.claude/skills/` — repo-internal agent playbooks; every entry must carry
`metadata.internal: true`.

⛔ **Both roots are governed surfaces** — `skills/` is Tier H, `.claude/skills/` Tier S (**Prime Directive #14**).

---

## Patterns
Expand Down
Loading
Loading