Classify secondary and abuse rate limits separately from generic GitHub failures
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Facilidade para iniciantes
- 76/100
Direção de pesquisa
Comece pelo classifier em pkg/errors/error.go, depois acompanhe o tratamento das respostas do GitHub por meio de pkg/utils/api.go e revise docs/error-handling.md. Adicione cobertura de unit tests mostrando que as respostas dos limites primary, secondary e abuse são classificadas de forma distinta, preservando os metadados de retry quando disponíveis; os testes devem passar em relação ao commit referenciado.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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.gopkg/utils/api.godocs/error-handling.md
- Minimal repro:
- Trigger a secondary rate limit or abuse-detection response from GitHub.
- 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:
classifyHTTPErrorCodeonly handles401 invalid_tokenand some403 insufficient_scopecases, 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.
- Linguagem predominante
- Go
- Estrelas
- 33.1k
- Forks
- 5k
- Merge médio
- 2d 1h
- PRs com merge (30d)
- 25
Guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de github/github-mcp-server
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 84/100
github/github-mcp-server#3235 ·
-
enhancement
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 88/100
github/github-mcp-server#3042 · 2 comentários ·
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
github/github-mcp-server#3032 · 1 reação ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 74/100
github/github-mcp-server#2803 · 1 comentário ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
github/github-mcp-server#2740 ·
Todas as issues de github/github-mcp-server
Issues semelhantes
-
area/dev-productivity area/disaster-recovery area/ipcei kind/enhancement
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 85/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
-
kind/bug status/0-triage
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
-
🤔 refinement needed
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
equinor/radix-operator#1979 ·