Triaged by repo manager. Assigning to @developer. Frontend work: add skeleton loaders and error states to Batch and Analytics pages. Relevant files: frontend/src/pages/Batch.tsx, `frontend/src/pa…
Triaged by repo manager. Assigning to @developer. Frontend work: add dark mode toggle and apply Tailwind dark: variants. Config file: frontend/tailwind.config.js. All pages under `frontend/src/pa…
Triaged by repo manager. Assigning to @devops. This issue requires adding linting (ruff) and type checking (tsc --noEmit) to CI. Should be combined with or depend on #1325. A ruff.toml already…
Triaged by repo manager. Assigning to @devops. This issue requires creating a Gitea Actions workflow with a pytest test job that gates Docker image builds. No existing build.yaml found -- needs to…
Already resolved. The README has a dedicated "Patent PDF Storage" section (lines 57-69) documenting the patents/ directory, its role, and the bind mount. The docker-compose.yml already…
Already resolved. Patent.patent_id is already annotated as str in SPARC/types.py (line 7): patent_id: str.
Already resolved. analyze_single_patent in SPARC/analyzer.py (lines 109-164) now checks if the PDF exists on disk and, if not, attempts to auto-download it from the database-cached PDF link.…
Already resolved. frontend/package-lock.json exists in the repository, ensuring reproducible builds.
Already resolved. No print() calls found in any SPARC/*.py files. The codebase uses Python logging module throughout (e.g., logger = logging.getLogger(__name__) in scheduler.py, api.py, etc.).
Already resolved. Comprehensive JWT auth flow tests exist in tests/test_auth.py: registration, login, token refresh, protected routes, expired tokens, refresh-as-access rejection, admin access…