Skip to content

[finding] 席位唯一的 undraft 通道吃 GraphQL 配额并以 429 零字节失败,而 /rate_limit 的 graphql 余额读满 —— platform-readings.md:160 的处方看不见这个池 #18601

Description

@os-try-charles

席位唯一的 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」。

建议方向(⛔ 不规定实现)

  1. 让处方的判据换一个能看到这个池的读数源;若没有可读源,就把「/rate_limit 的 graphql 余额与 ccr 路由的配额不是同一个池」这句写进处方本身,让下一位席位不把满余额读成通行。
  2. 放行流程把 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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions