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
2 changes: 1 addition & 1 deletion .claude/skills/checklist-test/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ expected-fail 探针 —— 永不在真实缺陷上把条款打成绿。
**issue 是纯文本 —— 永不放图。** 截图只为让你和子代理**现场**得出判定;它们是判断辅
助,随运行环境一起丢弃。持久报告需要的是**复现规则,不是图片**。

用 `issue_write`(github MCP)立单:
经 REST 代理 `POST .../issues` 立单(`Content-Type: application/json`;⛔ 永不 MCP `issue_write`,锁 1 已拒):

- **标题** —— `QA run · <selector> (<已判定>/<总数>) · <sha8> · <date> · <counts>`:恰好
一种形状、严格解析,`(<已判定>/<总数>)` **强制**;语法与退役写法见
Expand Down
6 changes: 3 additions & 3 deletions .claude/skills/pm-dispatch/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -375,7 +375,7 @@ PM 的工作是循环:选卡 → 认领 → 派发 → 收集 → 复核 → 报
- 三类内再过时前提检查,三选一:晋级 / 关闭 not planned / hold;判级只在此轮,不在立单时。
- ⛔ 写入前对每张卡现读当前状态;任何列表快照读数一律作废。
- ⛔ 带 `pm:dispatched` / assignee / 任何 open 或 merged PR 引用的卡,一律不动。
- ⛔ `issue_write` 会替换标签集并清空未传字段:写入时必须回传 `assignees`
- 标签/assignee 写恒经 `scripts/pm/label-write.mjs`(四步、回读);⛔ 永不 MCP `issue_write`(锁 1 已拒)
- 车道席可附证据/前提重验,⛔ 不定级不改标;skills 车道 finding 由该席自分诊,全仓轮跳过。
- 域分批与 sweep 打包晋级五条照用;每批约定与积压告警见 `references/dispatch-runbook.md`。
- `pm:retriage` 每 fire 先答异议评论所求,答后同笔摘标;须维护者答的进收件箱,标照摘。
Expand Down Expand Up @@ -612,7 +612,7 @@ PM 的工作是循环:选卡 → 认领 → 派发 → 收集 → 复核 → 报
- 速读五段固定:改了什么/为什么改/风险与代价(含回滚)/席位意见/你要做的(一个动作)。
- 草稿归 dev:受管面 PR 正文带 `## 维护者速读(草稿)`,中文、业务角度,席位意见留空。
- 终稿 = 席位对照自己读的 diff 校正草稿、填席位意见后贴评论;维护者只读评论。
- PR 上的标签 = 待维护者审阅,不入六态;与请审同为等人合清单,随合并或撤回判决离开
- PR 上的标签 = 待维护者审阅,不入六态;与请审同为等人批清单,随获批或撤回判决离开
- 批准判定单源 = 队列守卫常量 `GOVERNED_APPROVERS`:授权账户 APPROVED 即算,⛔ 不卡 `commit_id`。
- 批准后再推亦不过期;席位落地 = 过落地前检、清标、ready、auto-merge,踢出/变基同法。
- ③ 在 draft PR 上向两个授权批准账户 `os-zhuang` 与 `hotlong` 都 request review,主动推。
Expand All @@ -623,7 +623,7 @@ PM 的工作是循环:选卡 → 认领 → 派发 → 收集 → 复核 → 报
- 已入队才读到本条 ⇒ 转 draft 与 disable 都做;出队以阳性探针答,ref 缺席只旁证。
- skills 车道自有 PR:纯代码面如 `scripts/pm/` 由本席按达档自审(清单不减)后落地。
- 受管面两层:事实层仅本技能 `references/`,其余为规则层(含发布 `skills/**` 与 SKILL.md)。
- 规则层四件套等人合;事实层 PR(受管路径全在该目录)经席内达档复核后 ready → 入队。
- 规则层四件套等人批;事实层 PR(受管路径全在该目录)经席内达档复核后 ready → 入队。
- 路径面干净的才转 ready → 入队;队列是唯一被认可的落地路径,⛔ 永不队列外合并。
- 入队资格 = PR 上每一个 check 全绿,⛔ 不是 required 子集;required 集是队列强制的地板。
- 非必查红是真缺陷或坏门,归 PM 入队前处置;第三种按设计而红,三条全立才可带红入队:
Expand Down
6 changes: 3 additions & 3 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -270,8 +270,8 @@ localStorage / auth gotchas.
spent once per PR: the OWNING seat then lands it, later pushes included, re-queuing after an ejection or a rebase on
its own pre-landing check; this gate does not re-review it. Hand-authored governed content needs that approval; a PR
whose only governed paths are register rows the queue leg regenerates byte-exact clears with zero approvals — an
uncertified recompute, drift or a hand-authored sibling keeps it governed. Unapproved, the bypass direct merge
(人工直合) is the only landing. **Landing is tiered**: a PR whose governed paths all lie under
uncertified recompute, drift or a hand-authored sibling keeps it governed. Unapproved, no seat lands it: the
ending is that approval, then the owning seat. **Landing is tiered**: a PR whose governed paths all lie under
`.claude/skills/pm-dispatch/references/` lands through the queue after the skills seat's contract-tier review; every
other governed path is the rules layer and waits for the maintainer's word, which the director seat requests as ONE
batch of at most five rows — the approval stays the maintainer's click. ⛔ **No agent seat submits an approving
Expand All @@ -281,7 +281,7 @@ localStorage / auth gotchas.
**Already armed or queued when you read this?** Convert it back to **draft** AND disable auto-merge — draft is
what removes queue membership, disabling alone drops only the arming — then confirm from the remote that it is in
neither the queue nor `origin/main`. **Draft is no barrier by itself — the barrier is this directive**, and a
human merge IS the review record, ⛔ not a relaxation. Behind it: the queue guard refuses an unpinned governed
spent approval IS the review record, ⛔ not a relaxation. Behind it: the queue guard refuses an unpinned governed
diff; CODEOWNERS routes review requests for `docs/adr/` only, so nothing summons the maintainer on the other four;
the post-merge audit (`scripts/pm/check-governed-merges.mjs`) lists every governed-surface merge with its approver
and merger — a merger the maintainer does not recognise, or any agent approval, is a seat violation, filed and
Expand Down
Loading