Block a user
feat: implement tablet 2-column grid layout (>= 640px breakpoint)
Add JWT authentication tests: registration, login, protected routes, and admin endpoints
Triage Note: This test suite should be written after the security issues (#568, #569, #570, #573) are resolved, so the tests validate the final auth behavior.
Priority: P1
chore: add -race flag to CI test step
chore: add -race flag to CI test step to catch concurrency bugs in aggregation layer
Persist async job state in PostgreSQL to survive API restarts
Triage Note: This issue depends on #571 (shared DB connection pool). Do not start until #571 is merged.
Priority: P1
Refactor get_db_client() in auth.py to use a shared connection pool
Triage Note: This issue is a prerequisite for #572 (persist job state in PostgreSQL). The shared connection pool must be in place before the job persistence refactor. Recommend completing this…
Auto-generate TypeScript API client from FastAPI OpenAPI spec
Add cursor-based pagination to /analyze/batch and /jobs endpoints
Add patent filing frequency and technology category trend charts to Analytics page
Add per-analysis LLM provider selection and multi-model output comparison
Add webhook/notification support for batch job completion and score change alerts
Add scheduled/recurring analysis with alerting on significant score changes
Add side-by-side comparison view for two companies patent portfolios
Add PDF and CSV export for analysis reports from the dashboard
Add ruff (Python) and tsc --noEmit (TypeScript) linting to CI
Add pytest test job to Gitea Actions CI workflow
Commit a frontend lockfile (package-lock.json or pnpm-lock.yaml) for reproducible builds
Add dark mode support using Tailwind dark: variants
Add loading skeletons and error states to Batch and Analytics pages