Repository navigation
Commit ee610fb
docs(pm-dispatch): a private repository's security issue belongs to that repository's lane (#31457)
<!-- claude-projects-attribution: {"github_login":"zhuangjianguo"} -->
_Requested by **Steedos** · [project
thread](https://claude.ai/code/project/chan_018ETKaNwMZCNRYD7D8Q9Ubb?thread=cmsg_018ETKaNwMZCNRYD7D8Q9UbbPGCxPMFpX9b9DDYv3BRXH5)_
Fixes #31301
Clause-②: no
Metadata-protocol: none
## 维护者速读
- 改了什么:安全席 `security#1` 只管公开仓 objectstack 的安全公告;私有仓(如 cloud)的 `security`
卡改归该仓车道分诊、派修、复核与落地。
- 为什么改:维护者裁定「这里的任务 security/advisories 才归安全席位」,原文让 cloud 安全卡同时归安全席与
cloud PM,两处都声称归属。
- 风险与回滚:只改 pm-dispatch 规则文字六处,每文件行数不变,无代码、无门禁、无标签变化;回滚即 revert 本 PR。
- 先看:`references/security-findings.md` 第 3 节末条与第 9 节;`SKILL.md` 的
`security` · `review` 行;`references/lanes/security.md` 〈座位〉〈接收与台账〉。
- 两分钟验证:`git grep -n 'security#1' -- .claude/skills/pm-dispatch`
应无任何一行再把私有仓 `security` 卡交给 `security#1`。
- 需要你做的:批准本 PR(`.claude/**` 受管面,按卡的 Acceptance 由维护者批准落地)。
## What changes
- `security-findings.md` §3: a private repository's `security` issue
belongs to that repository's lane (cloud → the cloud lane), dispatched,
reviewed and landed under its own rules; §2 and §6 unchanged. §9:
`security#1` owns the public repository's advisories; the finder rings
`Notify: security` only for an advisory; a refused private card goes to
that repository's lane seat in session.
- `lanes/security.md`: the seat holds only this repository's advisories
(〈座位〉), intake ① no longer takes a private-repository card (〈接收与台账〉),
contract review covers advisory fixes (〈派修与复核〉).
- `SKILL.md` domain table, `security` · `review` row: now this
repository's advisories, with the private-repository card pointed at its
lane (cloud = the `domain:cloud` row above), so a cloud security issue
has exactly one owner.
- Lines the grep proved route a private-repository security issue to
`security#1`: `lanes/triage.md` L20 (hand to the owning seat),
`project-forms.md` L48 (no doorbell for a private card),
`seat-lifecycle.md` L43 (安全归安全席 → 公告归安全席).
- In-flight work is not moved: nothing about objectstack-ai/cloud#3726
is edited.
## Tests
Rule text only; no tested behaviour changes, so no ablation.
## Acceptance notes
- Every edit is line-neutral and each prose line stays at or under 120
bytes; the SKILL.md row is 339 bytes against its 341 pin.
- `scripts/pm/record-recognisers.mjs` still reads `Notify: security ·
OWNER/REPO#N` and its row text names `security#1` for a
private-repository card. That is outside this card's `.claude/**`
surface and left for the seat to route.
## Verification
<details><summary>Derived gates (22) at 7455aa2, ratchet again at
1bce620</summary>
`node scripts/pm/dispatch-gates.mjs --commands --repo
objectstack-ai/objectstack` derived 22 families; each ran with exit 0
(`check:pm-skill-ratchet`, `check:pm-record-recognisers`,
`check:pm-governed-prose`, `check:skill-frame-sync`, `check:nul-bytes`
among them). `--ran` reconciliation: 22 derived, 22 run, 0 NOT-MEASURED,
0 UNRUN. Prerequisite: `turbo run build --filter=@objectstack/formula
--filter=@objectstack/lint` (VERDICT command-exit 0). Ratchet re-run
after merging main: exit 0.
</details>
---
_Generated by [Claude
Code](https://claude.ai/code/session_01QsR2jShRWBP7iKSrgChCZE)_
Co-authored-by: Claude <noreply@anthropic.com>1 parent c65599f commit ee610fb
6 files changed
Lines changed: 13 additions & 13 deletions
File tree
- .claude/skills/pm-dispatch
- references
- lanes
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
162 | 162 | | |
163 | 163 | | |
164 | 164 | | |
165 | | - | |
| 165 | + | |
166 | 166 | | |
167 | 167 | | |
168 | 168 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
9 | | - | |
10 | | - | |
| 9 | + | |
| 10 | + | |
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
16 | | - | |
| 16 | + | |
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
| |||
25 | 25 | | |
26 | 26 | | |
27 | 27 | | |
28 | | - | |
| 28 | + | |
29 | 29 | | |
30 | 30 | | |
31 | 31 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
20 | | - | |
| 20 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
45 | 45 | | |
46 | 46 | | |
47 | 47 | | |
48 | | - | |
| 48 | + | |
49 | 49 | | |
50 | 50 | | |
51 | 51 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
40 | 40 | | |
41 | 41 | | |
42 | 42 | | |
43 | | - | |
| 43 | + | |
44 | 44 | | |
45 | 45 | | |
46 | 46 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
27 | 27 | | |
28 | 28 | | |
29 | 29 | | |
30 | | - | |
| 30 | + | |
31 | 31 | | |
32 | 32 | | |
33 | 33 | | |
| |||
56 | 56 | | |
57 | 57 | | |
58 | 58 | | |
59 | | - | |
| 59 | + | |
60 | 60 | | |
61 | | - | |
| 61 | + | |
62 | 62 | | |
63 | | - | |
64 | | - | |
| 63 | + | |
| 64 | + | |
65 | 65 | | |
0 commit comments