github / github/github-mcp-server

Classify secondary and abuse rate limits separately from generic GitHub failures

未关闭
#2,219 1 条评论 1 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
Go
星标
33k
派生
5k
平均合并
2 天 1 小时
30 天内合并 PR
52

描述

Problem
GitHub quota and abuse responses currently lose their specific classification in the shared error layer, so downstream tooling cannot distinguish them from generic 403/transport failures.

Why now
Rate limits are a routine operational condition for GitHub integrations. This server already documents structured error handling, but the central classifier only recognizes invalid token and insufficient scope today.

Evidence packet
- Commit under test: `0c0ac794a443626d3a1517f8154f109f06a26e68`
- Runtime: macOS 15.3 / Darwin 25.3.0 arm64, Go `1.25.7`
- Relevant codepaths:
- `pkg/errors/error.go`
- `pkg/utils/api.go`
- `docs/error-handling.md`
- Minimal repro:
1. Trigger a secondary rate limit or abuse-detection response from GitHub.
2. Observe the error payload stored in middleware / tool results.
- Expected: explicit classifications for secondary rate limits and abuse limits, ideally preserving retry timing when GitHub provides it.
- Actual: `classifyHTTPErrorCode` only handles `401 invalid_token` and some `403 insufficient_scope` cases, leaving rate-limit-specific failures unclassified.

Scope
This is a platform contract issue in shared GitHub error mapping.

Validation target
Unit tests should prove that primary, secondary, and abuse limit responses classify distinctly and preserve retry metadata when available.

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。