Block a user
Export analysis reports as PDF or CSV from the dashboard
Add ruff (Python linting) and tsc --noEmit (TypeScript type checking) to CI
Add pytest test stage to Gitea Actions CI workflow that gates the build
Commit a frontend lockfile (package-lock.json or pnpm-lock.yaml) for reproducible builds
Add loading and error states to Batch and Analytics pages
Document patent PDF volume mount requirement and integrate download step in analyze_single_patent
Fix Patent.patent_id type annotation from int to str in types.py
Expose SERP cache TTL as SERP_CACHE_TTL_HOURS environment variable
Make LLM model configurable via MODEL environment variable
Replace print() calls with structured logging in analyzer.py, serp_api.py, and llm.py
Add JWT authentication tests covering registration, login, protected routes, and admin endpoints
Add rate limiting middleware to auth endpoints
Persist job status in PostgreSQL so batch results survive API restarts
Refactor auth.py to use a shared pooled DatabaseClient instead of creating one per call
Remove hardcoded database credentials from docker-compose.yml
Make CORS allowed origins configurable via environment variable
Refuse to start with default JWT secret in non-development environments
chore: validate PWA behavior on iPhone Safari (iOS safe areas, standalone mode, service worker)
Triage Analysis (2026-03-31)
Blocked on deployment. PWA testing requires iPhone Safari with real device (labeled needs-human). Needs verification of iOS safe areas, standalone mode, and…
chore: validate concurrent aggregation layer under real Gitea load — confirm semaphore, cache TTL, and fan-out behave correctly
Triage Analysis (2026-03-31)
Blocked on deployment. Aggregation layer uses errgroup with semaphore and in-memory cache with 30s TTL. Needs real Gitea load testing. Assigned to @AI-QA.
chore: validate dark mode and mobile-first CSS layout on real devices
Triage Analysis (2026-03-31)
Blocked on deployment. Needs real device testing (labeled needs-human). CSS is hand-rolled with dark mode support. Assigned to @AI-QA.