Skip to content

pm-dispatch: flip the REST curl channel from degraded fallback to DEFAULT read path for list/dedup/card reads — the GraphQL pool is the scarce bucket #11364

Description

@claude

Authorized: maintainer 2026-08-23, live PM chat — options ①②③ of the GraphQL-pool optimization discussion approved verbatim as 「1+2+3」. Filed by the skills seat (session 5213b871-5164-5bc3-8874-28b336bbcd40), self-triaged under the skills-lane exception. This card is option ①.

Measured facts (2026-08-23, platform-readings conventions)

  • Every seat account's GraphQL bucket is 5,000 points/hour; the MCP list/search family rides GraphQL entirely and unconditionally fetches Projects field values per issue (the failure string names it). Point cost scales with requested nodes, not call count.
  • The container curl channel authenticates with the App installation token: REST core 15,000/hour, an INDEPENDENT bucket that sits nearly idle (measured 14,938 remaining while the seat's GraphQL bucket was exhausted twice in one day).
  • Bonus correctness: REST list labels=a,b is true AND; MCP list_issues labels array is OR (both sides independently measured, rows already in platform-readings).

Change

Promote the documented degraded read path to the DEFAULT: list-heavy reads (lane inventories, dedup scans, card/PR reads, label read-backs) go through the curl REST channel first; MCP/GraphQL is reserved for operations with no REST twin (and for writes that need it). Surfaces:

  • references/platform-readings.md API-quota section: reword the git-first/degraded rows so the REST channel is stated as the default read order, not the fallback (ceiling 134, headroom 0 — payment by in-place compression; the sanitizer-row consolidation planned in the restructuring round's PR-2 may free lines in the same file).
  • references/dispatch-runbook.md quota rows (rate_limit pre-read etc.): same reorder.

Tier: references-only ⇒ opus build + contract-review-tier acceptance (clause ① construction split per SKILL.md model tiering).

Serial constraint

The whole pm-dispatch face is occupied by the #11086 restructuring round (PR-1 open, PR-2 pending). This card queues BEHIND #11086's PRs — do not dispatch while that round holds the hot-file chain.

Related: option ② card (dev subagent usage shaping) and option ③ card (right-sized reads + mutation pacing), filed in the same stroke.


Generated by Claude Code

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