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
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)
labels=a,bis true AND; MCPlist_issueslabels 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.mdAPI-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.mdquota 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