Block a user
Auto-generate TypeScript API client from FastAPI OpenAPI spec
Add cursor-based pagination to /analyze/batch and /jobs endpoints
Add patent filing trend charts to the Analytics page
Add webhook/notification support for batch job completion and score changes
Implement scheduled/recurring patent analysis with change alerts
Add side-by-side patent portfolio comparison view
Add export functionality: download analysis results as PDF or CSV
Add ruff (Python) and tsc --noEmit (TypeScript) linting to CI
Add pytest test stage to Gitea Actions CI workflow
Commit a frontend lockfile to ensure reproducible builds
Add loading states and error messages to Batch and Analytics pages
Document patent PDF volume mount requirement and evaluate object storage options
Fix Patent.patent_id type annotation from int to str in types.py
Fix analyze_single_patent to download PDF before reading from disk
Expose SERP cache TTL as SERP_CACHE_TTL_HOURS environment variable
Make LLM model configurable via MODEL environment variable
Replace print() calls with structured Python logging in analyzer.py, serp_api.py, and llm.py
Add JWT authentication tests covering the full auth flow
Add rate limiting middleware to /auth/login and /auth/register endpoints
Persist batch job state in PostgreSQL so job results survive API restarts