What is missing / Why it matters
The GET /api/repos endpoint fetches and returns all ingested repositories in the database without any limits or pagination. If the app grows and ingests hundreds of repositories, querying and returning the full list of repositories degrades API performance and inflates payload sizes.
Acceptance Criteria
- Add
limit: int = 20 and offset: int = 0 query parameters to the list_repos route in backend/features/repo_ingestion/router.py.
- Enforce a maximum limit cap (e.g.
100) to prevent abuse.
- Verify parameters with unit tests to ensure offset and limit are applied correctly.
What is missing / Why it matters
The
GET /api/reposendpoint fetches and returns all ingested repositories in the database without any limits or pagination. If the app grows and ingests hundreds of repositories, querying and returning the full list of repositories degrades API performance and inflates payload sizes.Acceptance Criteria
limit: int = 20andoffset: int = 0query parameters to thelist_reposroute inbackend/features/repo_ingestion/router.py.100) to prevent abuse.