Repository navigation
Commit f6ffd72
docs(pm-dispatch): the director seat takes no patrol routine in any form (#26661)
<!-- claude-projects-attribution: {"github_login":"os-steve"} -->
_Requested by **Steve** · [project
thread](https://claude.ai/code/project/chan_01FdL1XeUyvVNxLreh3F4Qi9?thread=cmsg_01FdL1XeUyvVNxLreh3F4Qi9AJUWdwsTm21mKPdLivF1uR)_
Fixes #26609
Clause-②: no
Metadata-protocol: none
The director seat takes no patrol routine in any form, the project-seat
form included: no patrol routine, no inbox-scan routine, no daily-digest
routine. It wakes on the maintainer's summon and on the PR subscriptions
it holds; the daily digest and the inbox scan stay duties run within a
summon. Lane seats' hourly patrol and the triage seat's hourly round are
untouched. Maintainer ruling (director seat's project thread,
2026-10-27T10:12Z): 「总监不需要巡查 routine,立卡更新 skills」.
## 维护者速读
- 改了什么:pm-dispatch 技能四个文件五行各同行改写,写明总监席不建任何巡查、收件箱扫描或每日摘要
routine,只靠你的召唤与它持有的 PR 订阅唤醒。
- 为什么改:你 10-27 裁定「总监不需要巡查
routine」,而旧文本仍让总监席首次坐席自建每日摘要与每小时收件箱扫描,并可与分诊共用一条 routine。
- 风险与回滚:只动四行协议文本,无代码、无发布面;回滚即 revert 本 PR。
- 先看:`references/project-forms.md` 31–32 行(规则主体),`SKILL.md` 71
行,`references/lanes/director.md` 23 行。
- 两分钟验证:`git grep -n "总监席加每日摘要\|两者可共用一个 routine\|小时轮可与收件箱扫描" .claude/`
应无输出;`pnpm check:pm-skill-ratchet` 绿。
- 需要你做的:无;Tier S(`.claude/**`)draft,等 skills 席位的契约复核记录 PASS 后由席位落地。
## What changes
Five same-line edits in four files under `.claude/skills/pm-dispatch/`.
No file gains or loses a line (all four sit at line-ceiling headroom 0
in `check-skill-line-ratchet`), and every edited line stays under that
gate's 120-byte line budget.
| file:line | before | after |
|---|---|---|
| `SKILL.md:71` | project-seat wake = PR subscriptions + one self-built
patrol routine per project, hourly by default | same with `(总监席除外)`; the
`默认每小时` clause moved out to pay for the 17 added bytes (the original
line was exactly 120 B). The hourly default survives at
`project-forms.md:31` and `seat-post-protocol.md:66`. |
| `references/project-forms.md:31–32` | first seating builds the
routine; the director adds a daily digest and an hourly inbox scan;
director and triage in one project may share one routine | first seating
builds the routine, triage adds its hourly bare-card round, the director
builds none; the director wakes only on the maintainer's summon and its
PR subscriptions, digest and inbox scan run within a summon; pointer to
`lanes/director.md`. |
| `references/lanes/director.md:16` | the absent-maintainer line (「未回字 =
不在 = 停」) ended with 「例外 = `../project-forms.md` 例行」 | the exception is
dropped (second commit, at the seat's call): with project-forms granting
the director no routine it named an empty set, and the card's rule is no
routine in any form. |
| `references/lanes/director.md:23` | triage defaults to the director's
project; the hourly round may share the inbox scan | the seat is
summon-only in every form with no routine of any kind; the triage
pointer stays. |
| `references/seat-post-protocol.md:66` | project-seat patrol defaults
to hourly; the protocol never copies the current value, the seat post is
the current state | adds `(总监席无巡查)`; the trailing `座位贴即现状` folds into
the same line's `协议 ⛔ 不复制当前值` (its home stays in every lane file's line
3, 「现值状态恒在座位贴」). |
Two trims beyond the card's literal "add on the same line" were forced
by the 120-byte budget: a line over it reds the gate, and wrapping would
add a line into zero headroom. Each trimmed clause has a surviving home,
named above.
Not touched: `references/seat-lifecycle.md:69` still routes project-seat
health indicators into the director seat's daily digest, which remains a
duty run within a summon, so it stays true.
## Tests
No test edits and no code; the gates below are the verification.
## Acceptance notes
- `git grep -n "总监席加每日摘要\|两者可共用一个 routine\|小时轮可与收件箱扫描" .claude/` prints
nothing (exit 1).
- Line counts unchanged: SKILL.md 319, project-forms.md 54, director.md
88, seat-post-protocol.md 91.
- Edited line widths: 118 B, 112 B and 118 B, 82 B and 113 B, 119 B.
- No changeset: the diff is `.claude/**` only and publishes nothing
(`skip-changeset` declared on the create).
## Verification (heads df62731 and 25cc350)
- `pnpm check:pm-skill-ratchet`: exit 0 (self-test and gate). `pnpm
check:pm-skill-id-lint`: exit 0, 104 files clean.
- `node scripts/pm/dispatch-gates.mjs --commands --repo
objectstack-ai/objectstack` derived 20 commands at df62731; all 20 were
run with their exit codes recorded, and `--ran` reconciled: 20 derived
families accounted for, 20 run, 0 NOT-MEASURED, 0 UNRUN (every exit code
0).
- At 25cc350 (the director.md:16 commit, one line in a file already in
the set): `pnpm check:pm-skill-ratchet`, `pnpm check:pm-skill-id-lint`
and `pnpm check:pm-governed-prose` exit 0, and `dispatch-gates
--commands` derives the same 20 commands as at df62731.
- `check:doc-formula-expressions` needed `@objectstack/formula` and
`@objectstack/lint` built first (exit 3, prerequisite); rerun after the
build: exit 0.
---
_Generated by [Claude
Code](https://claude.ai/code/session_01ADHkmReVogkwua4SJWZkFW)_
---------
Co-authored-by: os-steve <steve@objectstack.ai>
Co-authored-by: Claude <noreply@anthropic.com>1 parent ef48d09 commit f6ffd72
4 files changed
Lines changed: 6 additions & 6 deletions
File tree
- .claude/skills/pm-dispatch
- references
- lanes
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
68 | 68 | | |
69 | 69 | | |
70 | 70 | | |
71 | | - | |
| 71 | + | |
72 | 72 | | |
73 | 73 | | |
74 | 74 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
16 | | - | |
| 16 | + | |
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
23 | | - | |
| 23 | + | |
24 | 24 | | |
25 | 25 | | |
26 | 26 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
28 | 28 | | |
29 | 29 | | |
30 | 30 | | |
31 | | - | |
32 | | - | |
| 31 | + | |
| 32 | + | |
33 | 33 | | |
34 | 34 | | |
35 | 35 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
63 | 63 | | |
64 | 64 | | |
65 | 65 | | |
66 | | - | |
| 66 | + | |
67 | 67 | | |
68 | 68 | | |
69 | 69 | | |
| |||
0 commit comments