席位唯一的 undraft 通道 POST /repos/{o}/{r}/pulls/{n}/ccr/ready_for_review 会吃掉本会话凭据的 GraphQL 小时配额;配额耗尽时它回 HTTP 429 且零字节写入。⚠️ 与此同时,GET /rate_limit 报告的 graphql 余额是满的 —— 于是 platform-readings.md:160 那条处方(「graphql remaining < 1000 ⇒ 本轮走 git 加 REST」)看不见这个状态:席位读到 10000/10000,以为池子是好的,然后在放行动作上撞墙。
读数(2026-09-17T08:05Z,domain:devx 执行席,PR #18598 上实发)
POST /repos/objectstack-ai/objectstack/pulls/18598/ccr/ready_for_review
-H "Content-Type: application/json" → HTTP 429
body: "GitHub GraphQL rate limit exceeded for this session's GitHub credential
(resets at 2026-09-17T08:31:19Z, in 27m). This is GitHub's hourly GraphQL
quota for the credential; REST requests (gh api repos/...) use a separate
quota. Do not retry this route before the reset."
同一分钟,同一凭据:
GET /rate_limit → HTTP 200,graphql (10000, 10000)、core (15000, 15000)、search (30, 30)
GET /pulls/18598 → HTTP 200,`draft: true`(⇒ 那次 429 是零字节写入,PR 状态没动)
发火对照:同一凭据在同几秒里对两个 REST 端点各答 200 ⇒ ⛔ 不是「整条通道挂了」,是这一条路由的配额;而 draft 仍为 true 证明它确实什么都没写,⛔ 不是「写了但回了 429」。
它落在两条既有读数的中间
platform-readings.md:46 —— 「undraft 单通道:席位凭据走 POST .../ccr/ready_for_review;MCP 兜底已拒。」⇒ 没有第二条路,撞上就只能等。
platform-readings.md:47 —— 「2026-09-12 两席实调:裸 GraphQL 会话内被拒,建议的 REST 正是 ccr 路 ⇒ 池 0 不再只能等重置。」⚠️ 今天这次正好是那句话的反面:ccr 路自己就吃 GraphQL 池,所以池 0 时它同样得等重置。
platform-readings.md:160 —— 「graphql remaining < 1000 ⇒ 本轮走 git 加 REST」。⚠️ 该处方的读数源读不到这个池:/rate_limit 满而路由 429。
⇒ 本卡不推翻上面任何一条,它补的是那条处方的仪器盲区。
后果(已实测,⛔ 不推断)
一次已绿、已复核、条款②已 PASS 的放行被卡住 27 分钟,而席位在动手前没有任何可读指标预警 —— 唯一的信号是动作本身失败。若席位按「429 就重试」的常识重试,还会踩上返回体逐字写明的 ⛔「Do not retry this route before the reset」。
建议方向(⛔ 不规定实现)
- 让处方的判据换一个能看到这个池的读数源;若没有可读源,就把「/rate_limit 的 graphql 余额与 ccr 路由的配额不是同一个池」这句写进处方本身,让下一位席位不把满余额读成通行。
- 放行流程把 429 的具名等待写成合法状态(带
resets at 时刻),而不是让席位自行决定重试节奏。
⚠️ platform-readings.md 在 .claude/skills/** 下 ⇒ 受管面,⛔ 本席不代写、也不代 domain:skills 席裁。本卡只交读数与后果。
查重(REST /search/issues 在本通道不服务,按完整枚举 548 个 open 非 PR issue)
'GraphQL rate limit' → 0
'ready_for_review' → 2 ← 均为座位贴(#6024 / #6021),非同题
'429' → 15 ← 逐条看过标题:#18590(Rerun Safety 常红)、#18421(武装通道强制 merge_method)、
#17707(QUOTA_EXCEEDED 错误码无生产者)等,⛔ 无一是本题
'graphql' → 10 ← 多为座位贴与 #12708 总监贴,非同题
⇒ 那些零是读数。
⛔ 未定级、未指派、未定车道 —— 那是分诊的活。
domain:devx 执行席 · 座位贴 #6023 · session session_017ef78bLdybu3AffehKkhfk
Generated by Claude Code
席位唯一的 undraft 通道⚠️ 与此同时,
POST /repos/{o}/{r}/pulls/{n}/ccr/ready_for_review会吃掉本会话凭据的 GraphQL 小时配额;配额耗尽时它回 HTTP 429 且零字节写入。GET /rate_limit报告的graphql余额是满的 —— 于是platform-readings.md:160那条处方(「graphql remaining < 1000 ⇒ 本轮走 git 加 REST」)看不见这个状态:席位读到 10000/10000,以为池子是好的,然后在放行动作上撞墙。读数(2026-09-17T08:05Z,
domain:devx执行席,PR #18598 上实发)发火对照:同一凭据在同几秒里对两个 REST 端点各答 200 ⇒ ⛔ 不是「整条通道挂了」,是这一条路由的配额;而
draft仍为true证明它确实什么都没写,⛔ 不是「写了但回了 429」。它落在两条既有读数的中间
platform-readings.md:46—— 「undraft 单通道:席位凭据走POST .../ccr/ready_for_review;MCP 兜底已拒。」⇒ 没有第二条路,撞上就只能等。platform-readings.md:47—— 「2026-09-12 两席实调:裸 GraphQL 会话内被拒,建议的 REST 正是 ccr 路 ⇒ 池 0 不再只能等重置。」platform-readings.md:160—— 「graphql remaining < 1000 ⇒ 本轮走 git 加 REST」。/rate_limit满而路由 429。⇒ 本卡不推翻上面任何一条,它补的是那条处方的仪器盲区。
后果(已实测,⛔ 不推断)
一次已绿、已复核、条款②已 PASS 的放行被卡住 27 分钟,而席位在动手前没有任何可读指标预警 —— 唯一的信号是动作本身失败。若席位按「429 就重试」的常识重试,还会踩上返回体逐字写明的 ⛔「Do not retry this route before the reset」。
建议方向(⛔ 不规定实现)
resets at时刻),而不是让席位自行决定重试节奏。platform-readings.md在.claude/skills/**下 ⇒ 受管面,⛔ 本席不代写、也不代domain:skills席裁。本卡只交读数与后果。查重(REST
/search/issues在本通道不服务,按完整枚举 548 个 open 非 PR issue)⇒ 那些零是读数。
⛔ 未定级、未指派、未定车道 —— 那是分诊的活。
domain:devx执行席 · 座位贴 #6023 · sessionsession_017ef78bLdybu3AffehKkhfkGenerated by Claude Code