From f194f8f20c7aad9b74fbc305a8141bee30511a73 Mon Sep 17 00:00:00 2001 From: os-tesla Date: Sun, 1 Nov 2026 04:06:25 +0000 Subject: [PATCH 1/2] docs(pm-dispatch): rest-channel records the measured relay automerge_disable and pr_draft strokes The reverse-ops clause said the two ops were never called. They have been: one relay stroke sent automerge_disable then pr_draft on an armed, unqueued pull and read back autoMergeRequest null and isDraft true, with the approval untouched; on a queued pull a pr_draft answered no pullRequest (row FAILED, exit 5) while the conversion landed and the pull kept its queue place. No dequeue was measured, so platform-readings.md is left as it is. The three new lines are paid by folding the git zero-quota pointer section into the queue-reading pointer line. Co-Authored-By: Claude Claude-Session: https://claude.ai/code/session_01L9qibzn9YkeT93GTT2Z3tD --- .claude/skills/pm-dispatch/references/rest-channel.md | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/.claude/skills/pm-dispatch/references/rest-channel.md b/.claude/skills/pm-dispatch/references/rest-channel.md index 31c80e65e60..5c739e5ad2c 100644 --- a/.claude/skills/pm-dispatch/references/rest-channel.md +++ b/.claude/skills/pm-dispatch/references/rest-channel.md @@ -54,7 +54,10 @@ - 线程自己建:`POST .../pulls/{n}/comments` 带 `commit_id`·`path`·`line`,回读看 `review_threads`。 - ✓ `POST .../ccr/comments/{id}/resolve` · `/unresolve`;`{id}` 是评审评论 id,⛔ 只在自己 PR 上探。 - ✓ F = `[{"op":"pr_ready","pull":N},{"op":"automerge_enable","pull":N}]`;反向 `pr_draft`/`automerge_disable`。 -- ⛔ draft 上挂 auto-merge 零存储(ccr 路实测 422)⇒ `pr_ready` 排前,首败即停;反向两 op 未实调。 +- ⛔ draft 上挂 auto-merge 零存储(ccr 路实测 422)⇒ `pr_ready` 排前,首败即停;反向实调如下。 +- ✓ 反向 F = `automerge_disable` 再 `pr_draft`,实调于已挂臂未入队 PR,两 op 皆 200,审批不掉。 +- 行即回读:答 `autoMergeRequest` null、`isDraft` true 即 ✓;答仍挂臂或仍 ready ⇒ 记 5 停。 +- 出队未实测;已入队者转 draft 曾答无 `pullRequest` 记 5 却已转且保位,队位只读 timeline。 - 直合仓 `PUT .../pulls/{n}/merge`;actor 记令牌类,按账号非会话、逐写回读;见配额段,MCP 恒用户。 ## 不可迁移 —— 只有这三件,围着它们排计划;红窗守候规则住 `platform-readings.md` 配额段 @@ -63,16 +66,12 @@ 2. 看板(org Project)field_values:GraphQL-only,舰队不需要它;MCP 服务端无条件抓它才是漏点。 3. `issue transfer`:issues 端点表无此路由(未实调)⇒ 同为 GraphQL-only;配方住 `platform-readings.md`。 -## 第三桶 —— git 零配额等价物 - -- 分支存在性、队列分支、判落地、squash 验证四条的拼写与边界住 `platform-readings.md`。 - ## 队列路由的读法 - `merged_by` 是入队者,⛔ 不是绕队证据:队列合并归属给入队的账户,对队列与直合零分辨力。 - 判据 ①:直接合并 `PUT .../pulls/{n}/merge` 在强制队列 ruleset 下回 405。 - ②:PR 上的 `added_to_merge_queue` timeline 事件。③:对已入队 PR 发 `pr_update_branch` 回不能更新。 -- ①② 的拼写与边界住 `platform-readings.md` 队列段,本条只归拢判据。 +- ①② 与 git 零配额四条的拼写与边界住 `platform-readings.md`,本条只归拢判据。 - 队列 required 集按 job 与 check-run 名匹配,workflow 名从不作为 check context 出现,搜也搜不到。 - 改任一 job 名或 test 分片矩阵的形状,必须同一笔更新队列 required 集,否则队列静默挂起。 - ⛔ required 选择只 gate 等待、不 gate 触发:未列入的检查照跑、算力相同,红了不再挡队列。 From 7269c18eece6db170c561f3312ebf362a5105f67 Mon Sep 17 00:00:00 2001 From: os-tesla Date: Sun, 1 Nov 2026 04:38:20 +0000 Subject: [PATCH 2/2] docs(pm-dispatch): the reverse F is recorded as measured on a queued pull too; a no-pullRequest pr_draft answer is a non-landing The contract review found the 2026-10-24 reading misattributed: the conversion of the queued pull was landed by a stroke that sent automerge_disable then pr_draft and read back "in the merge queue" then "draft"; a second sender's pr_draft on the already-draft pull answered no pullRequest and was recorded 5 without landing anything. The lines now teach the reverse F as measured on both an unqueued and a queued pull, the queued pull keeping its place and merging from the queue, and the exit-5 row as a non-landing never to retry. platform-readings gains the 10-24 observation on its both-ops-no-kick line, paid inside the line's width. The queue-section pointer returns to the queue-reading line. Co-Authored-By: Claude Claude-Session: https://claude.ai/code/session_01L9qibzn9YkeT93GTT2Z3tD --- .claude/skills/pm-dispatch/references/platform-readings.md | 2 +- .claude/skills/pm-dispatch/references/rest-channel.md | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/.claude/skills/pm-dispatch/references/platform-readings.md b/.claude/skills/pm-dispatch/references/platform-readings.md index 38a07b41e6c..a445af3103c 100644 --- a/.claude/skills/pm-dispatch/references/platform-readings.md +++ b/.claude/skills/pm-dispatch/references/platform-readings.md @@ -40,7 +40,7 @@ - 按名定位失败才拉全表;订阅来的 `check_suite.completed` 是唤醒不是放行读数。 - 转 draft 不是可靠的踢队手段:本仓与姊妹仓均见已入队转 draft 仍保位照合,处置按最坏走。 - 本仓转 draft 同秒掉 auto-merge 仅见于未入队时,转正后重挂;已入队者 2026-08-08、09-29 照合。 -- 补救:转 draft 与卸载 auto-merge 都做,本仓卸载单独不踢队;两手齐做亦未见踢队(08-08、09-28)。 +- 补救:转 draft 与卸载 auto-merge 都做,卸载单独不踢队;两手齐做未见踢队(08-08、09-28、10-24)。 - 出队按队列 ref 阳性探针答不在队向,加未落地;ref 缺席只作旁证,⛔ 永不承载结论。 - `update_pull_request` 单字段调用也发送 `draft` 位,曾把治理面 draft 发进队列 ⇒ 锁 1 已拒。 - 请审专用路 = REST `POST /pulls/{n}/requested_reviewers`,载荷只有 reviewers/team_reviewers。 diff --git a/.claude/skills/pm-dispatch/references/rest-channel.md b/.claude/skills/pm-dispatch/references/rest-channel.md index 5c739e5ad2c..c1a75a9f78f 100644 --- a/.claude/skills/pm-dispatch/references/rest-channel.md +++ b/.claude/skills/pm-dispatch/references/rest-channel.md @@ -55,9 +55,10 @@ - ✓ `POST .../ccr/comments/{id}/resolve` · `/unresolve`;`{id}` 是评审评论 id,⛔ 只在自己 PR 上探。 - ✓ F = `[{"op":"pr_ready","pull":N},{"op":"automerge_enable","pull":N}]`;反向 `pr_draft`/`automerge_disable`。 - ⛔ draft 上挂 auto-merge 零存储(ccr 路实测 422)⇒ `pr_ready` 排前,首败即停;反向实调如下。 -- ✓ 反向 F = `automerge_disable` 再 `pr_draft`,实调于已挂臂未入队 PR,两 op 皆 200,审批不掉。 +- ✓ 反向 F = `automerge_disable` 再 `pr_draft`,未入队与已入队 PR 各实调一笔,两 op 皆 200。 - 行即回读:答 `autoMergeRequest` null、`isDraft` true 即 ✓;答仍挂臂或仍 ready ⇒ 记 5 停。 -- 出队未实测;已入队者转 draft 曾答无 `pullRequest` 记 5 却已转且保位,队位只读 timeline。 +- 已入队者回读「in the merge queue」,转 draft 保位照合 ⇒ 反向不踢队;队位只读 timeline。 +- 未入队者审批不掉;已是 draft 再 `pr_draft` 答无 `pullRequest` 记 5:非落地,⛔ 不重试。 - 直合仓 `PUT .../pulls/{n}/merge`;actor 记令牌类,按账号非会话、逐写回读;见配额段,MCP 恒用户。 ## 不可迁移 —— 只有这三件,围着它们排计划;红窗守候规则住 `platform-readings.md` 配额段 @@ -71,7 +72,7 @@ - `merged_by` 是入队者,⛔ 不是绕队证据:队列合并归属给入队的账户,对队列与直合零分辨力。 - 判据 ①:直接合并 `PUT .../pulls/{n}/merge` 在强制队列 ruleset 下回 405。 - ②:PR 上的 `added_to_merge_queue` timeline 事件。③:对已入队 PR 发 `pr_update_branch` 回不能更新。 -- ①② 与 git 零配额四条的拼写与边界住 `platform-readings.md`,本条只归拢判据。 +- ①② 住 `platform-readings.md` 队列段,git 零配额四条住其配额段,本条只归拢判据。 - 队列 required 集按 job 与 check-run 名匹配,workflow 名从不作为 check context 出现,搜也搜不到。 - 改任一 job 名或 test 分片矩阵的形状,必须同一笔更新队列 required 集,否则队列静默挂起。 - ⛔ required 选择只 gate 等待、不 gate 触发:未列入的检查照跑、算力相同,红了不再挡队列。