Resolved -- already implemented in the codebase.
frontend/src/pages/Compare.tsx implements a full side-by-side comparison view with:
- Two company selector inputs
- Parallel data fetching…
Resolved -- already implemented in the codebase.
api.py already has:
GET /export/{company_name}-- CSV export endpoint using Python csv module (line 586)GET /export/{company_name}/pdf…
Resolved -- already implemented in the codebase.
Both pages already have skeleton loaders and error states:
- Batch page:
jobsQuery.isLoadingtriggers a loading skeleton (line…
Resolved -- already implemented in the codebase.
README.md already documents the patents/ volume mount requirement in a dedicated 'Patent PDF Storage' section (lines 57-70). docker-compose.yml…
Resolved -- already implemented in the codebase.
tests/test_auth.py (302 lines) covers all five acceptance criteria:
- Registration --
TestRegisterclass: first user becomes admin,…
Resolved -- already implemented in the codebase.
Both build.yaml and test.yaml CI workflows already include a pytest step: python3 -m pytest tests/ -v --tb=short -x with proper environment…
Resolved -- already implemented in the codebase.
Both build.yaml and test.yaml CI workflows already include:
ruff check SPARC/ tests/for Python lintingnpx tsc --noEmitfor…
Resolved -- already implemented in the codebase.
frontend/package-lock.json is already committed to the repo (4728 lines). CI workflows use npm ci which relies on this lockfile for…
Resolved -- already implemented in the codebase.
analyzer.py's analyze_single_patent() already checks if the PDF exists on disk, and if not, looks up the cached PDF link from the database…
Resolved -- already implemented in the codebase.
types.py already defines patent_id: str in the Patent dataclass. No int annotation exists.
Closing as already resolved.