Block a user
Implement scheduled/recurring analysis with change alerting
feat: implement inline HTMX detail expansion on dashboard triage cards
Add side-by-side patent portfolio comparison view
Export analysis reports as PDF or CSV from the dashboard
Add ruff linting and tsc type checking to CI pipeline
Add pytest test stage to CI workflow that gates the image build
feat: add changed files list to PR detail view
Add and commit a frontend lockfile (package-lock.json or pnpm-lock.yaml)
Add dark mode support using Tailwind dark variant
Add loading skeleton and error states to Batch and Analytics pages
Fix Patent.patent_id type annotation from int to str in types.py
Fix analyze_single_patent to download PDF before reading from disk
Document patent PDF volume mount requirement and consider object storage for containerized deployments
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 auth flow tests: registration, login, protected routes, token refresh, admin endpoints
Add rate limiting middleware to auth endpoints
Persist job state in PostgreSQL so batch results survive API restarts
Refactor get_db_client() in auth.py to use a shared pooled connection