This issue has been resolved. The changes are already merged into main.
package-lock.json committed to frontend/. CI uses frozen lockfile install.
Closing as completed.
This issue has been resolved. The changes are already merged into main.
pytest test job added to build.yaml and test.yaml CI workflows. Tests gate the image build via needs dependency.
Closing…
This issue has been resolved. The changes are already merged into main.
Rate limiting added via slowapi in api.py and requirements.txt. Login and register endpoints are rate-limited.
Closing as…
This issue has been resolved. The changes are already merged into main.
Comprehensive JWT auth tests added in tests/test_auth.py covering registration, login, protected routes, token refresh, and…
This issue has been resolved. The changes are already merged into main.
All print() calls replaced with structured logging (logging.getLogger). No print() calls remain in backend source…
This issue has been resolved. The changes are already merged into main.
MODEL environment variable added to config.py (default: anthropic/claude-3.5-sonnet). llm.py reads model from config.
Closi…
This issue has been resolved. The changes are already merged into main.
SERP_CACHE_TTL_HOURS added to config.py. serp_api.py reads cache TTL from config. Documented in .env.example.
Closing as…
This issue has been resolved. The changes are already merged into main.
PDF auto-download integrated into analyze_single_patent. Missing PDF case handled with proper error.
Closing as completed.
This issue has been resolved. The changes are already merged into main.
Patent.patent_id type annotation corrected from int to str in types.py.
Closing as completed.
This issue has been resolved. The changes are already merged into main.
Loading skeletons and error states added to Batch and Analytics pages with retry support.
Closing as completed.