You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Mapper: a rate-limit 429 is labelled "Waiting for capacity"; tell rate limits and capacity apart #2865
Since oclmap#86, Auto Match waits out every HTTP 429 and labels the wait "Waiting for capacity: results may take longer due to demand". That's right for the API's capacity limit (body error_code: "capacity_exceeded"), but not for an ordinary rate limit (the API's per-user request throttle), where the reason is the user's own request rate, not demand. This showed up in the overnight set test of oclapi2#922 + oclmap#86 (see the readout on OpenConceptLab/ocl_online#275), with the match rate limit lowered locally.
Acceptance criteria
The Mapper tells the two 429s apart by the response body's error_code: capacity_exceeded keeps today's wording; any other 429 says the user is sending requests too quickly and when it will retry.
Both still wait out Retry-After, as now. Only the label and the run log's reason change.
Tests cover a capacity 429, a rate-limit 429 with Retry-After, and one without.
Ships before oclmap#86 reaches production (that deploy is held until the capacity limit has run in shadow mode for a few days).
Notes
The server side, so that a capacity refusal doesn't count against the user's rate limit, is part of enforcement: OpenConceptLab/ocl_online#340.
The Mapper already waits out every 429, so the fix is to branch on the body's error_code and change the label and run-log reason. That is a small change in the retry/label logic plus tests. The issue lists explicit acceptance criteria, including the three test cases. The only loose dependency is that it must ship before oclmap#86 reaches production, and the server-side change (ocl_online#340) is stated as separate. Risk is low because only wording changes and the wait behavior stays the same. The existing type/bug label fits because the user-facing message is wrong. The linked cross-references (ocl_issues#86 and #922) are unrelated to this change.
Generated by ticket-triage pipeline v3. Model: anthropic/claude-sonnet-5.5 (openrouter).
Activity
ocl-automation commentedon Oct 1, 2026
Automated Triage — 2026-10-01
Decision:
decision/ai-readyType:
type/bugSignals:
signal/quick-win,signal/low-risk,signal/small-scope,signal/well-specifiedThe Mapper already waits out every 429, so the fix is to branch on the body's
error_codeand change the label and run-log reason. That is a small change in the retry/label logic plus tests. The issue lists explicit acceptance criteria, including the three test cases. The only loose dependency is that it must ship before oclmap#86 reaches production, and the server-side change (ocl_online#340) is stated as separate. Risk is low because only wording changes and the wait behavior stays the same. The existing type/bug label fits because the user-facing message is wrong. The linked cross-references (ocl_issues#86 and #922) are unrelated to this change.Generated by ticket-triage pipeline v3. Model: anthropic/claude-sonnet-5.5 (openrouter).
snyaggarwal commentedon Oct 6, 2026
@paynejd raised PR OpenConceptLab/oclmap#93
OpenConceptLab/ocl_issues#2865 | review feedbacks
OpenConceptLab/ocl_issues#2865 | pt-BR: add the missing translations …
OpenConceptLab/ocl_issues#2865 | es, zh: add the missing translations…
Merge pull request #93 from OpenConceptLab/issues#2865
OpenConceptLab/ocl_issues#2865 | rate limit 429 and capacity limit 42…