Triaged by repo manager: Already resolved. frontend/package.json includes openapi-typescript. frontend/src/api/schema.d.ts contains the generated types. CI checks freshness. Closing.
Triaged by repo manager: Already resolved. /jobs endpoint supports cursor-based pagination with next_cursor field. list_jobs DB method accepts cursor parameter. Closing.
Triaged by repo manager: Already resolved. Batch.tsx and Analytics.tsx both contain skeleton loader components and error state handling. Closing.
Triaged by repo manager: Already resolved. build.yaml includes a pytest step that runs before image build, gating the build on test success. Closing.
Triaged by repo manager: Already resolved. Both build.yaml and test.yaml include ruff check and tsc --noEmit steps. Closing.
Triaged by repo manager: Already resolved. tests/test_auth.py exists with comprehensive JWT flow tests covering registration, login, protected routes, token refresh, and admin endpoints using…
Triaged by repo manager: Already resolved. api.py imports slowapi Limiter and RateLimitExceeded. Rate limit handler returns 429. Rate limiting is applied to auth endpoints. Closing.
Triaged by repo manager: Already resolved. database.py creates a jobs table in PostgreSQL. API endpoints query the database for job state. The in-memory _jobs dict has been replaced. Closing.
Triaged by repo manager: Already resolved. auth.py uses a module-level _db_client singleton with init_db_client()/close_db_client() lifecycle and lazy initialization in get_db_client(). No new…
Triaged by repo manager: Already resolved. auth.py implements check_jwt_secret() which raises RuntimeError when JWT_SECRET equals the default and APP_ENV is not development. Called at startup via…