diff --git a/.claude/agents/os-dev.md b/.claude/agents/os-dev.md index 1691376d5a..d0442b61b5 100644 --- a/.claude/agents/os-dev.md +++ b/.claude/agents/os-dev.md @@ -327,15 +327,15 @@ dispatch prompt 只携带每单增量(裁决引文、裁决 / PM-机制假设分 发布东西**;闭合清单:仅含 `docs/adr/**` · `.claude/**` · `scripts/pm/**` · tests/workflow · 注释 的 diff。**本仓库**:标签是真实机制,打标签是你的步骤、不是 CI 的,**PR 一开出就打**,⛔ 永不 等 Check Changeset 转红再补。写入首选**加法端点**(REST `POST .../issues//labels`——不碰已有标 - 签、无读写窗口),⚠️ 但它只在会话门开着的席位可达(2026-08-25 实测:容器 dev 席整类 - repo-scoped REST 全 403);被拒 ⇒ 走实测过的回退:MCP 读现值→并集→整组写→**必做对比式读 - 回**(diff 现集对 union(读集, 目标) —— union 有而回读缺 = 被你的整组写剥掉的并发标签,重 - 挂并写进报告),并申报换道。加法写同样必要不充分:实测 size-labeler 的整组 PUT 曾在 ~1 秒 - 内抹掉一次正确的加法写——收尾一律读回、把清单引进报告;标签消失读作被抹,**重新加 - 上**,不是你的错。关此步骤的是读回,不是写入;⚠️ 读回验的是「写落了」,验不 - 出「有门在读」——幻影门标签读回同样成功。**objectui:同名标签对象在(历史误挂铸出 - 的),但零 workflow/脚本读它、豁免不了任何东西,pin 测试钉着这条**——那边的声明方式是空 - frontmatter 的 changeset,门禁自己的判定行是权威;⛔ 永不在那边施加该标签。 + 签),⚠️ 可达性是**会话**属性、不是端点或席位的(门先于端点应答、读写同拒,门开会话 + 实测 200;读数住 platform-readings)⇒ 先探后用;被拒 ⇒ 走回退:MCP 读现值→并集→整组 + 写→**必做对比式读回**(diff 现集对 union(读集, 目标),union 有而回读缺 = 被剥的并发标签,重 + 挂并写进报告;读回只**检测**剥除防不了,门语义标签被剥恰成绿灯),并申报换道。加法写 + 同样必要不充分:size-labeler 整组 PUT 曾 ~1 秒内抹掉正确加法写——收尾一律读回、清单引 + 进报告;标签消失读作被抹,**重新加上**,不是你的错。关此步骤的是读回不是写入;读回 + 验「写落了」验不出「有门在读」——幻影门标签读回照样成功。**objectui:同名标签对象 + 在(历史误挂铸出),零 workflow/脚本读它、豁免不了任何东西,pin 测试钉着**——那边用空 + frontmatter 的 changeset 声明,门禁判定行是权威;⛔ 永不在那边施加该标签。 - **报告在 draft PR 时点交付 —— CI 收敛等待归 PM,不归你**(维护者 2026-08-10 拍板)。分支一推 上、draft PR 一开出,立刻交报告;门禁状态如实记录 —— `in_progress` 是诚实值。⛔ draft PR 开 出后永不 sleep、定时等待或空转轮询 CI(实测:空转轮询烧掉的恰是一个红门禁需要的预 diff --git a/.claude/skills/pm-dispatch/references/platform-readings.md b/.claude/skills/pm-dispatch/references/platform-readings.md index ab86a6a9bc..03d3b89bf7 100644 --- a/.claude/skills/pm-dispatch/references/platform-readings.md +++ b/.claude/skills/pm-dispatch/references/platform-readings.md @@ -86,16 +86,16 @@ - **批量写 ~1 秒一发**:小时池之外还有**分钟级二级限流** —— GraphQL 端点 2,000 点/分、并发 ≤100,官方指引:**变更类请求间停 ~1 秒**(mutation 按 5× 计)。双载体清标、批量重分诊这类 把写挤在同一秒的扫动,会在小时池仍绿时撞上分钟墙(官方文档 2026-08-23 复核)。 -- **REST 可用性是会话属性,⛔ 不是全局事实 —— 开轮探一次,按班存档;探针必须 - repo-scoped**:直连受会话级授权门钳制(会话起点快照),门关着 repo-scoped 路径**整类**回 403 - `GitHub access is not enabled for this session`(⛔ 不是限流,重试改不了它),而 `/rate_limit` 照答 200 - —— 它兼任不了通道探针;探针 = 一条真 repo-scoped 读。探针 403 后的单调用凭据判别见 - `references/rest-channel.md`。**按班矩阵**:2026-08-25 两车道 5+ dev 席全被门拒(整类 403、读写同门 - —— 加法标签 POST、评论 PATCH 同死 ⇒ 无评论编辑通道,更正=重发);2026-08-26 反例一席门 - 开,加法 POST 回 200;顶层席同窗分裂(两 403、一 200)⇒ **门态逐容器变**,⛔ 不据他席、他日 - 读数推本席,唯一安全读法即本行 repo-scoped 探针。**门关着时的降级梯**:① git 先行(「零成 - 本等价物」);② 公开仓 payload 档(下方「公开仓」条);③ MCP:search 定向一击、列表**单标 - 签**读全 + 本地求交(`labels` 是 OR,见 MCP 参数条);④ 等重置。 +- **REST 可达性是会话属性(GitHub App 会话门),⛔ 不是端点或席位类型的 —— 开轮探一次,按班 + 存档;探针必须 repo-scoped**:会话门(起点快照)先于端点应答,门关着 repo-scoped 路径**整类**回 + 403 `GitHub access is not enabled for this session`(⛔ 不是限流,重试无用;403 对具体端点零分辨力),而 + `/rate_limit` 照答 200、兼任不了探针;探针 = 一条真 repo-scoped 读,403 后凭据判别见 + `references/rest-channel.md`。**按班矩阵**:2026-08-25 两车道 5+ dev 席全被门拒(读写同门,评论 PATCH + 同死 ⇒ 更正=重发);门开会话四个 dev 容器独立实测加法 POST 200(各独立 GET 读回),通道宽于 + 标签:issue POST 201、评论写、卡/评论读同通;顶层席同窗分裂(两 403、一 200)⇒ **门态逐会话 + 变**,⛔ 不据他席、他日读数推本席,唯一安全读法即本行探针。**门关着时的降级梯**:① + git 先行(「零成本等价物」);② 公开仓 payload 档(下方「公开仓」条);③ MCP:search 定向一 + 击、列表**单标签**读全 + 本地求交(`labels` 是 OR,见 MCP 参数条);④ 等重置。 - **默认读序 git → payload → REST → MCP/GraphQL**(2026-08-23 策略翻转,2026-08-25 增补 payload 档; ⚠️ REST 档以**本班 repo-scoped 探针绿**为前提 —— 前提就住本行,403 会话改按降级梯读)。 list/查重/卡与 PR 读/标签回读默认走容器 curl 的 REST 通道 —— App installation token,core