Skip to content

memory: session-scoped GraphQL block, and a safe issue_write method typo - #1390

Merged
d-morrison merged 1 commit into
mainfrom
memory/graphql-block-and-issue-write-method
Aug 10, 2026
Merged

memory: session-scoped GraphQL block, and a safe issue_write method typo#1390
d-morrison merged 1 commit into
mainfrom
memory/graphql-block-and-issue-write-method

Conversation

@d-morrison

Copy link
Copy Markdown
Collaborator

UMS pass from PR #1389's merge (UCD-SERG/serocalculator#661 follow-up).

Two additions, both append-only:

  • memories/github.md: this session's egress proxy blocked GraphQL entirely (403: This GraphQL query is not enabled for this session) even while gh api user / gh api repos/<o>/<r> both returned 200 over REST. That's a second, distinct root cause for the scripts/check-pr-fully-clean.py failure already tracked in check-pr-fully-clean.py shells out to gh, so the corpus's verdict authority is unrunnable in remote/web sessions #1330 (which so far only documented the GraphQL rate-limit case) — added as a comment on check-pr-fully-clean.py shells out to gh, so the corpus's verdict authority is unrunnable in remote/web sessions #1330 with the concrete evidence, and now recorded here so a future session recognizes the healthy-REST/refused-GraphQL signature immediately.
  • memories/github-mcp-tools.md: issue_write's method parameter only accepts "create" or "update" — there is no "add_comment". Guessing it fails loudly and immediately (invalid method, must be either 'create' or 'update'), with no data touched — a distinct, safer failure mode from the already-documented case where method: "update" with just a comment string as body silently clobbers the issue description. Worth distinguishing so the two aren't conflated.

No files overlap with any other open PR (there are none open in this repo right now).

Self-review before push: three-dot diff scanned for banned punctuation (clean), check-new-line-breaks run against origin/main...HEAD (clean, 0 lines), no deleted lines (pure addition), both files well under the 1200-line cap (1105 and 771 lines).


Generated by Claude Code

Record two learnings from UCD-SERG/serocalculator#661's ai-config follow-up
(#1389):

- memories/github.md: a session's egress proxy can block GraphQL entirely
  (403, "only the pinned set of PR-review operations is served") even while
  gh api user / gh api repos/<o>/<r> both return 200 over REST --- a second,
  distinct root cause for the check-pr-fully-clean.py failure already
  tracked in #1330, alongside the pre-existing
  GraphQL rate-limit case.
- memories/github-mcp-tools.md: issue_write's method enum only accepts
  "create" or "update" --- guessing "add_comment" fails loudly and safely
  (no data touched), distinct from the already-documented silent
  clobbering when method: "update" is called with just a comment string
  as body.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NbqvD8bSKpeTjDwYpQSHeR
@d-morrison
d-morrison requested a balanced review from Copilot August 10, 2026 07:25

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@github-actions

Copy link
Copy Markdown
Contributor

Claude finished reviewView run


Code Review: PR #1390

Summary: Pure documentation PR — two append-only additions to memories/github-mcp-tools.md (+14 lines) and memories/github.md (+30 lines), recording two operational learnings: (1) a session's egress proxy can return 403 for GraphQL calls as a session-scoped block distinct from account-level rate-limiting, which breaks scripts/check-pr-fully-clean.py's first call; and (2) issue_write's method parameter only accepts "create"/"update" (no "add_comment"), a safe/loud failure mode distinct from the already-documented silent-clobber case. No code changes, no prior Claude review exists on this PR (only a Copilot quota-refusal comment).

Verification performed:

  • Cross-checked the memories/github.md GraphQL-block claim against issue #1330's actual comment thread — the quoted error text and mechanism (healthy REST, refused GraphQL) match the real comment posted 2026-08-10T07:13:19Z verbatim.
  • Verified the technical claim that get_pr_info() is the first call in scripts/check-pr-fully-clean.py's main() — confirmed at lines 511 and 44-53 of the script; it does call gh pr view --json ....
  • Verified the issue_write method-enum claim ("create"/"update" only) against existing corpus documentation (tool-mappings.yml, tool-mappings.md), which is internally consistent — no third value documented anywhere.
  • Checked for redundancy: the GraphQL-403 error text also appears in shared/workflow/growth-mindset.md and shared/workflow/choose-issue-or-discussion.md. Each of the three mentions teaches a distinct lesson (general error-reading discipline; a Discussions-API-specific write/read split; this PR's specific rate-limit-vs-session-block distinction for check-pr-fully-clean.py), so per challenge-redundant-content.md's litmus test ("only flag as redundant when consolidating would lose nothing"), this is not a DRY violation.
  • Confirmed no banned punctuation (em/en-dashes, curly quotes) in added lines; all -- occurrences are from --json CLI flags, not prose dashes; --- used consistently for prose dashes, matching corpus convention.
  • Confirmed no multi-sentence lines / semantic-line-break violations in added content.
  • Confirmed no trailing whitespace, balanced backticks/bold markers, and correct list/code-fence structure.
  • Confirmed both files remain well under the 1200-line memory-file cap (1105 and 771 lines).
  • Confirmed CI is green (validate ×2, new-line-breaks / check-new-line-breaks ×2, all SUCCESS) and mergeStateStatus: CLEAN.
  • Confirmed the PR body's claim of no open-PR file overlap (this is the only open PR in the repo).

No fabricated symbols, APIs, citations, or behavior descriptions were found — every technical claim in the diff was checked against either the real source code or a real, retrievable issue comment.

No inline findings to post; nothing here rises to a syntax error, a definite logic error, or an unambiguous CLAUDE.md/lab-manual violation.

Verdict

Ready for merge

@github-actions

Copy link
Copy Markdown
Contributor

💰 Cost: $8.4116 (review) — run

@d-morrison
d-morrison merged commit b323a4f into main Aug 10, 2026
8 checks passed
@d-morrison
d-morrison deleted the memory/graphql-block-and-issue-write-method branch August 10, 2026 07:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants