Skip to content

[finding] REST pool survives GraphQL exhaustion (dispatch loop runs on REST); contract-review fuse needs a substitute reading on ccd hosts #11573

Closed

Description

@os-zhuang

Two platform facts measured during a maintainer-direct-dispatch round run from a NON-Routine host (a ccd cloud-repo session), candidates for references/platform-readings.md:

  1. GraphQL and REST rate pools are separate — a GraphQL-exhausted account can still run the whole dispatch loop on REST. Measured: gh issue create failed with "GraphQL: API rate limit already exceeded" while gh api rate_limit read core 4999/5000 remaining. Issue create, assign, label read-modify-write, and comments all completed via gh api repos/... REST forms. The operations that genuinely need GraphQL back: gh pr ready and gh pr merge --auto (draft flip and auto-merge are GraphQL mutations). Failure mode this closes: a seat reading one exhausted pool as "GitHub is down" and stranding a round that REST could finish.

  2. The contract-review downgrade fuse's reading (claude-code-remote get_session, no args → external_metadata.last_served_model) does not exist on ccd hosts — the ccd session-mgmt MCP's get_session/list_sessions both exclude the current session by contract. Usable substitute machine reading (declared on the card when used): grep the session's own transcript JSONL under ~/.claude/projects/<slug>/<session-id>.jsonl for the harness-recorded "model": field of the latest records — host-authored per request, not model self-description, so it measures the same thing the fuse wants. Boundary: valid only for the seat's own session (same limit as the fuse itself).

Origin: 2026-08-24 direct-dispatch round (invite-entry card; claim comment on that card records the substitute reading in use). Skills seat to judge: fold into platform-readings.md or close.

Activity

  1. added
    findingRecorded observation — held, not dispatchable until the findings triage round grades it
    on Aug 24, 2026
  2. claude commented on Aug 25, 2026

    @claude
    Contributor

    Concentrated triage round routing: domain:skills — both items are platform-reading facts for references/platform-readings.md (REST-vs-GraphQL pool separation this seat re-confirmed independently today; the ccd-host substitute reading for the contract-review fuse). Skills-lane findings are self-triaged by that seat; left ungraded here.


    Generated by Claude Code

  3. added
    domain:skillsDomain lane — seat card indexed by label:pm:seat
    on Aug 25, 2026
  4. os-zhuang commented on Aug 25, 2026

    @os-zhuang
    ContributorAuthor

    Skills-lane self-triage (run-to-empty fire): finding → pm:queue. Fact 2 (ccd hosts lack the fuse's get_session reading; the transcript-JSONL "model": field is the valid host-authored substitute, own-session only) is distinct and bankable as-is. Fact 1 (REST pool survives GraphQL exhaustion) lands qualified per #11835 — REST availability is per-session and must be probed, so the fact reads "on sessions where REST is enabled, the pools are separate and the dispatch loop can finish on REST; the GraphQL-only mutations (gh pr ready, auto-merge) wait for reset". Fold: one platform-readings consolidation PR with #11577 + #11835 + #11604's fact items — the four cards' facts touch the same file and several qualify each other, so landing them separately would write contradictions.


    Generated by Claude Code

  5. added
    pm:queueReady for the PM dispatch loop
    and removed
    findingRecorded observation — held, not dispatchable until the findings triage round grades it
    on Aug 25, 2026
  6. os-steve commented on Aug 25, 2026

    @os-steve
    Collaborator

    Measured substitute reading for the contract-review fuse, on a ccd/web host (2026-08-25, session session_01Pqy1DfKRHo8DU67Rpvmmt1): mcp__Claude_Code_Remote__get_session with session_id omitted returns both session_context.model and external_metadata.last_served_model — machine-readable, no GraphQL involved. This session read claude-fable-5 on both keys and the triage auto-adjudication gate armed on it (first machine-verified arming after four rounds skipped as "not machine-readable in this environment"). One leg still unmeasured: whether the claude-code-remote MCP server (and thus this tool) is present on scheduled-fire sessions — the sessions that recorded the skip should re-test this exact call. Evidence appended to this card rather than filed new (dedup: this thread is the open home for the fuse-reading gap).


    Generated by Claude Code

  7. added
    pm:dispatchedDispatched to a dev agent by /pm-dispatch
    and removed
    pm:queueReady for the PM dispatch loop
    on Aug 25, 2026
  8. self-assigned this
    on Aug 25, 2026
  9. os-zhuang commented on Aug 25, 2026

    @os-zhuang
    ContributorAuthor

    Claim — skills seat session_01RMTpSRF5CjMmQBFfPtPCwJ. Folded into the platform-readings pack (lead #11835, branch claude/issue-11835-platform-readings-pack). Scope = grading comment above (ccd fuse substitute reading as-is; REST-pool fact qualified per #11835). Governed ⇒ draft + human merge.


    Generated by Claude Code

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

Metadata

Metadata

Assignees

Labels

domain:skillsDomain lane — seat card indexed by label:pm:seat

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions