Skip to content

Commit 66ba23e

Browse files
docs(pm-dispatch): mobile seat lands non-governed PRs through the merge queue (#29549)
domain:skills#1 · huangyiirene · session_01J8VVAnMUWA9rufXzFaEh4J <!-- claude-projects-attribution: {"github_login":"huangyiirene"} --> _Requested by **Irene** · [project thread](https://claude.ai/code/project/chan_01TJXtQ1tVD26ecLDZxFS67x?thread=cmsg_01TJXtQ1tVD26ecLDZxFS67xVmtncq5zhb1K7T1mQGgugu)_ Fixes #29429 Clause-②: no Metadata-protocol: none ## 维护者速读 - 改了什么:mobile 车道岗位说明写入你的裁定「非受管 PR 由席位落地」(objectstack-ai/mobile#160,评论 6578710331),替换原来「本仓 PR 的合并恒归维护者」那一条。 - 为什么改:你已开 Allow auto-merge 和 `main` 的合并队列,mobile 席位也已按此落地过一个 PR,但岗位说明还写着合并全归你,两边不一致。 - 风险与回滚:只改一份 PM 技能文本,不碰代码与发布;受管面 PR、改 workflow 的 PR、商店提交与版本切割仍归你;回滚即 revert 本 PR。 - 先看:`.claude/skills/pm-dispatch/references/lanes/mobile.md` 第 7 行与第 40 至 44 行。 - 两分钟验证:运行 `pnpm check:pm-skill-ratchet`,预期 mobile.md 仍是 56 行、上限 56,门禁绿。 - 需要你做的:无,席位落地。 ## What changes `.claude/skills/pm-dispatch/references/lanes/mobile.md` now states the maintainer ruling recorded on objectstack-ai/mobile#160, comment 6578710331 (「非受管 PR 由席位落地」), with the five terms the card lists: 1. **Seat landing (new line 41, replaces the old line 42 conclusion).** 本席落地 applies to a PR that is not governed, does not touch `.github/workflows/**`, has ACCEPT, and is green on the current head. 「席位落地」 is the term SKILL.md defines as the landing checks, label clear, ready and auto-merge, so the line carries the `pr_ready` + auto-merge mechanics without copying them. 2. **What stays with the maintainer.** Governed-surface PRs and `.github/workflows/**` PRs fall outside the landing line, and line 7 (形态) now says the seat lands per that line while every other PR stops at ACCEPT and belongs to the maintainer (「余止于 ACCEPT,归维护者」, the wording the seat's contract review 6585356904 asked for in its S1, pushed as 6b41a06). The old 「落地窗口止于 ACCEPT 加交棒」 would have contradicted the ruling, so it is rewritten in place. 3. **Release actions stay human (line 40, replaces 「三者皆按发布动作对待」).** `eas-submit.yml` and version cuts are release actions the seat never triggers. Store submission is `eas-submit.yml` per line 39, which is unchanged. 4. **EAS guard (line 42, replaces 「EXPO_TOKEN 是否配置席位读不到,恒按已配置」).** Before each landing the seat reads the latest EAS Build and Update runs on `main`; if any build or publish step actually ran, it stops landing and asks the maintainer for a new ruling through the decision box. The old assumption line is superseded by this reading. 5. **Device checks (line 44).** 「落地不等于已上真机」 is appended in place to the existing no-device-no-verified rule. ### Line budget The file stays at 56 lines, its ceiling in `scripts/pm/check-skill-line-ratchet.mjs`; the row is not touched. The three old lines 40 to 42 become three new lines, and lines 7 and 44 are rewritten in place. No two lines were folded into one to buy room, since re-wrap is not ratchet currency. A separate line for the maintainer's half would have needed 57, so that half is carried by the landing line's own conditions plus line 7. ## Tests No code changed, so there is no test. Local gate runs on `8c094cf` are under Verification; on `6b41a068` (line 7 only) the line ratchet and id-lint were re-run, both exit 0. ## Acceptance notes - The card asked for the old line 42 to be replaced rather than a line added beside it. Lines 40 and 41 in the same block also had to change, because they stated the pre-ruling premise (all three EAS workflows are seat-forbidden release actions; `EXPO_TOKEN` is always assumed configured) that the ruling and its guard replace. Line 7 changed for the same reason. All edits are in the one file the claim names. - The ruling is quoted by comment id only; the id-lint pattern rejects issue numbers in this corpus, and this body is where the provenance lives. ## Verification Run on head `8c094cf`, each exit code captured before any pipe. The gate list is `node scripts/pm/dispatch-gates.mjs --commands`. <details><summary>Derived gate families, all exit 0</summary> - `pnpm check:pm-skill-ratchet`: exit 0, mobile.md 56 lines against ceiling 56 - `pnpm check:pm-skill-id-lint`: exit 0, 108 files clean - `pnpm check:nul-bytes`: exit 0 - `pnpm check:skill-frame-sync`: exit 0 - `pnpm check:pm-governed-merges`: exit 0 - `pnpm check:doc-authoring`: exit 0 - `pnpm check:agent-test-spelling`, `check:cross-package-test-inputs`, `check:driver-memory-census`, `check:gitlink-declared`, `check:refd-timer-probe`, `check:watch-hint-literal`: exit 0 - `node scripts/check-closing-keyword-parity.mjs` and its `--self-test`: exit 0 - `node scripts/check-comment-mask-corpus.mjs`: exit 0 - `node scripts/pm/check-harness-current.mjs --self-test`: exit 0 - `pnpm --filter @objectstack/lint run check:doc-formula-expressions`: exit 0, after building `@objectstack/formula` and `@objectstack/lint` under the verify lock - Line width: no line of the file is over 120 bytes. </details> No changeset: `.claude/**` does not publish (`skip-changeset`). 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01J8VVAkM2AcGbFkbZkwLezC --------- Co-authored-by: Claude <noreply@anthropic.com>
1 parent df8d020 commit 66ba23e

1 file changed

Lines changed: 5 additions & 5 deletions

File tree

  • .claude/skills/pm-dispatch/references/lanes

‎.claude/skills/pm-dispatch/references/lanes/mobile.md‎

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
## 形态
66

7-
- 本席为姊妹仓执行座位:在 mobile 仓认领、派发、复核;落地窗口止于 ACCEPT 加交棒。
7+
- 本席为姊妹仓执行座位:mobile 仓认领、派发、复核,按落地条落地;余止于 ACCEPT,归维护者。
88
- 按需席:维护者以指令行 `pm-dispatch mobile` 召唤;本席不建巡查 routine。
99
- 退席按 SKILL.md 自退四件(队列空、无在飞、无待复核、决策箱无新答复)。
1010
- 信箱随召唤开、随退席关。
@@ -37,11 +37,11 @@
3737
- 逐张核交付 PR 是否已合并或关闭,先处置半状态;⛔ 无锚不等于免检。
3838
- 壳不持 API 凭据、不调平台 API;⛔ 不重新引入 `@objectstack/*` 客户端依赖。
3939
- `main` 上的 push 跑 `eas-build.yml` 与 `eas-update.yml`;`eas-submit.yml` 手动触发即商店提交。
40-
- 三者皆按发布动作对待(AGENTS.md 发布条),⛔ 不由席位触发。
41-
- `EXPO_TOKEN` 是否配置席位读不到,恒按已配置。
42-
- ⇒ 本仓 PR 的合并恒归维护者;改 `.github/workflows/**` 的 PR 同此,不因触发方式改变而解除。
40+
- `eas-submit.yml` 与版本切割按发布动作对待(AGENTS.md 发布条),⛔ 不由席位触发。
41+
- 本席落地(裁决评论 6578710331)非受管、不改 `.github/workflows/**`、ACCEPT 且现 head 全绿的 PR。
42+
- 落地前读 `main` 最新 EAS Build/Update 运行:有 build/publish 步骤真跑即停落,升决策箱求新裁定。
4343
- 设备验证无 CI 载体:需真机的验收项写进 PR `## 维护者速读` 的「需要你做的」。
44-
- ⛔ 未上真机的项不报已验。
44+
- ⛔ 未上真机的项不报已验;落地不等于已上真机。
4545
- 本仓有 `.changeset/` 而无 changeset 门禁:用户可见变更随 PR 带 changeset,席位复核时核对。
4646
- 不扩散需求:创业阶段聚焦原则全额适用;原生能力卡第一问恒为 Web 是否真做不到。
4747
- 框架单源在 SKILL.md 〈升级与决策〉,⛔ 不另抄。

0 commit comments

Comments
 (0)