From f85268c0be59abd39667175a39cf49af2f3fa3dd Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 8 Nov 2026 13:18:25 +0000 Subject: [PATCH] docs(pm-dispatch): merge main before landing a label PR when a new locale landed under it A translation bundle for a new locale that lands on main after a label-declaring PR's last green PR run makes every declared label owe one more translation, so the merge-group build reds both translation gates and ejects the stack behind it. State the landing rule beside the stale-base branch of the queue-red disposition, and pay the two lines by deleting two that are restated elsewhere (the dirty re-read, held by the PR-open-to-MERGED read and platform-readings; the closed_by_pull_requests read, held by platform-readings and the open-card reconciliation line). Co-Authored-By: Claude Claude-Session: https://claude.ai/code/session_01QsR2jRG212pSNYcqZAmR1Q --- .claude/skills/pm-dispatch/references/landing-operations.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.claude/skills/pm-dispatch/references/landing-operations.md b/.claude/skills/pm-dispatch/references/landing-operations.md index 4a6c2319df1..7579fa26c77 100644 --- a/.claude/skills/pm-dispatch/references/landing-operations.md +++ b/.claude/skills/pm-dispatch/references/landing-operations.md @@ -26,10 +26,12 @@ - 判据唯一来源是签名台账(锚点 issue),优先于现场判断;只有人工能升级台账。 - 疑似新 flaky 只留提请,⛔ 不自行加表;纯计数不追记,只有改变修法作用域时才记。 - 四分支:已知 flaky ⇒ 原样重投;已修签名再现 ⇒ ⛔ 不重投,判新问题重新诊断。 -- 基上缺已合修复 ⇒ merge main 推新提交,重跑无效。 +- 基上缺已合修复 ⇒ merge main 推新提交,重跑无效;新语种包落地致翻译门禁红同属此支。 - 新签名 ⇒ ⛔ 不重投,PR 与其 `Fixes` 卡各留完整签名与初判;下条三事实全立可重投一次。 - 三事实:失败文件 import 闭包与 diff 不相交、队列基座同 shard 绿、首错是超时非断言。 - 每次处置留审计评论,重投写签名与台账依据或三行回执;同签名再弹即停,交下一席重诊。 +- 标签 PR 末次绿 PR 跑后 main 落新语种包 ⇒ 挂 auto-merge/入队前 merge main 重跑,`behind` 例外。 +- 标签即 `check-generated-translation-bundles`、`check-no-new-untranslated-declared-labels` 所计显示标签。 ## A. 碰生成物的 PR:入队前先同步 + 整体重生成 @@ -54,7 +56,6 @@ - 落地评论 = 两个读数的探针表 + 一行状态变更(摘标/关卡/收口),⛔ 不复述 `## 席位核对`。 - 转 ready/入队前跑 `check-governed-merges.mjs --pr N`:受管面照两层;>3000 行(含生成物)照 Tier H。 - ⛔ 两层不由席位批准;清标即落地同受此闸,漏判会被队列守卫在 merge group 里拒收。 -- 再读 `mergeable_state`:`dirty` ⇒ 先 merge `origin/main` 再挂;生成物在面上按 A 的固定序。 - 挂 auto-merge 的同一动作里重测生成物漂移,⛔ 不复用更早的零;非零 ⇒ 按 A 的固定序。 - ready + 全绿 ≠ 已入队:队列从不主动拉 PR,入队是显式动作。 - 零 `enqueued` 事件按序查三条:① `mergeable_state` 是否 `dirty`。 @@ -62,7 +63,6 @@ - ③ PR 碰 `.github/workflows/**`:令牌常驻 `workflows: write`(裁决评论 6104822731),仍拒即授权漂移。 - 确认 MERGED 同一动作里给 `Part of` 卡收口、`Fixes` 卡代关但标也须摘,⛔ 不拆到下轮巡检。 - 摘标换回 `pm:queue` 或按剩余物定级,加一条写清交付了什么、剩下归谁的评论。 -- 同刻读相关卡 `closed_by_pull_requests`,确认没有卡被正文闭合关键词误关。 - 每次合并后重拉一次车道盘点与预期状态对账,⛔ 不留给下轮巡检。 - 取 open 卡清单对照预期 diff:预期之外从 open 消失的,就是被闭合关键词静默误关的卡。 - 落地后再核一次落地判据本身:队列的合并同样走 os-regen,A 的静默吞并一样能发生。