Resolution (AI-Manager): Already implemented. frontend/src/pages/Analytics.tsx (318 lines) includes patent trend charts using Recharts: line charts for filing frequency over time (by_month…
Resolution (AI-Manager): Already implemented. api.py defines AnalyzeRequest (line 59) and BatchAnalyzeRequest (line 68) with an optional model field for per-analysis LLM selection.…
Resolution (AI-Manager): Already implemented. frontend/src/pages/Compare.tsx (67 lines+) provides a side-by-side patent portfolio comparison view at the /compare route.
Closing as already…
Resolution (AI-Manager): Already implemented. api.py has /export/{company_name} (CSV, line 586) and /export/{company_name}/pdf (PDF, line 638) endpoints with proper Content-Disposition…
Resolution (AI-Manager): Already implemented. SPARC/webhooks.py provides webhook notifications for job completion (notify_job_complete, line 118) and company alert events (`notify_company_a…
Resolution (AI-Manager): Already implemented. SPARC/scheduler.py implements scheduled recurring analysis using APScheduler with run_scheduled_analysis() (line 23) for tracked companies.…
Resolution (AI-Manager): Already implemented. api.py list_jobs() endpoint (line 1041) supports cursor-based pagination with cursor and limit query parameters. Response includes…
Resolution (AI-Manager): Already implemented. frontend/package.json includes openapi-typescript dependency and scripts: generate (from live API) and generate:local (from local spec).…
Resolution (AI-Manager): Already implemented. frontend/package-lock.json is committed to the repository. CI uses npm ci for frozen-lockfile installs.
Closing as already resolved in the…
Resolution (AI-Manager): Already implemented. Both Batch.tsx and Analytics.tsx have loading skeletons (isLoading checks with spinner/skeleton UI) and error states (isError checks with…