This issue has already been resolved and merged into main via PR #64 and PR #353 (feat: add multi-model support and model picker UI). Closing as completed.
This issue has already been resolved and merged into main via PR #66 (feat: add webhook notification support for job completion). Closing as completed.
This issue has already been resolved and merged into main via PR #65 (feat: implement scheduled/recurring analysis with change alerting). Closing as completed.
This issue has already been resolved and merged into main via PR #61 (feat: add side-by-side patent portfolio comparison view). Closing as completed.
This issue has already been resolved and merged into main via PR #171 (PDF export) and PR #60 (CSV export). Closing as completed.
This issue has already been resolved and merged into main via PR #32 and PR #269 (ci: add pytest, ruff linting, and tsc --noEmit to CI). Closing as completed.
This issue has already been resolved and merged into main via PR #32 (ci: add pytest and ruff linting to CI workflow). Closing as completed.
This issue has already been resolved and merged into main via PR #31 (docs: patent PDF storage docs, FileNotFoundError, frontend lockfile). Closing as completed.
This issue has already been resolved and merged into main via PR #57 (feat: add dark/light mode toggle with localStorage persistence). Closing as completed.
This issue has already been resolved and merged into main via PR #63 (feat: add OpenAPI TypeScript client generation setup) and PR #443 (Generate TypeScript API client from OpenAPI spec). Closing…
This issue has already been resolved and merged into main via PR #29 (feat: configurable LLM model, SERP cache TTL, structured logging, fix type). Closing as completed.
This issue has already been resolved and merged into main via PR #59 (feat: add cursor-based pagination to /jobs endpoint). Closing as completed.
This issue has already been resolved and merged into main via PR #64 (feat: add multi-model support for per-analysis LLM selection) and PR #353 (model picker UI). Closing as completed.