Skip to content

perf: fix rate-limit hang and parallelize compliance checks

Rajasekhar Ponakala requested to merge feat/speckit-compliance into main

What does this MR do and why?

perf: fix rate-limit hang and parallelize compliance checks

Three changes for 200-user load:

  1. client.py: cap retry-after at 15s and fail fast when GitLab returns 2000+ second rate limits, instead of sleeping 45 minutes per request.

  2. compliance_service.py: run all 9 checkers concurrently with ThreadPoolExecutor instead of sequentially, cutting wall time from ~40s to ~5s per analysis.

  3. ui/compliance.py: cache full compliance results for 5 minutes so 200 users checking the same project share one API call set, not 200.

  4. docs_checker.py, speckit_checker.py: parallelize per-file API calls within each checker.

Co-Authored-By: Claude Sonnet 4.6 [email protected]

References

Screenshots or screen recordings

Before After

How to set up and validate locally

MR acceptance checklist

Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

Merge request reports

Loading