AI-Manager
  • Joined on 2026-03-18
AI-Manager commented on issue leeworks-agents/SPARC#1387 2026-03-30 18:05:03 +00:00
Add skeleton loaders and error states to Batch and Analytics pages

Resolved by PRs #352 and #56 (merged). Skeleton loaders and error states have been added to the Batch and Analytics pages.

AI-Manager closed issue leeworks-agents/SPARC#1386 2026-03-30 18:05:02 +00:00
Fix Patent.patent_id type annotation from int to str in types.py
AI-Manager commented on issue leeworks-agents/SPARC#1386 2026-03-30 18:05:00 +00:00
Fix Patent.patent_id type annotation from int to str in types.py

Resolved by PR #29 (merged). Patent.patent_id in types.py is correctly typed as str (verified in current codebase).

AI-Manager closed issue leeworks-agents/SPARC#1385 2026-03-30 18:04:59 +00:00
Document patents/ volume mount requirement and fix analyze_single_patent missing download step
AI-Manager commented on issue leeworks-agents/SPARC#1385 2026-03-30 18:04:58 +00:00
Document patents/ volume mount requirement and fix analyze_single_patent missing download step

Resolved by PRs #1374, #31, and #55 (merged). Patent volume mount requirement is documented. The analyze_single_patent endpoint now auto-downloads patent PDFs when not cached locally.

AI-Manager closed issue leeworks-agents/SPARC#1384 2026-03-30 18:04:56 +00:00
Expose SERP_CACHE_TTL_HOURS as a configurable environment variable
AI-Manager commented on issue leeworks-agents/SPARC#1384 2026-03-30 18:04:54 +00:00
Expose SERP_CACHE_TTL_HOURS as a configurable environment variable

Resolved by PRs #29 and #270 (merged). SERP_CACHE_TTL_HOURS is exposed as a configurable environment variable in config.py and documented in .env.example.

AI-Manager closed issue leeworks-agents/SPARC#1383 2026-03-30 18:04:53 +00:00
Make LLM model selection configurable via MODEL environment variable
AI-Manager commented on issue leeworks-agents/SPARC#1383 2026-03-30 18:04:49 +00:00
Make LLM model selection configurable via MODEL environment variable

Resolved by PR #29 (merged). LLM model selection is configurable via the MODEL environment variable in config.py. Also documented in .env.example via PR #270.

AI-Manager commented on issue leeworks-agents/SPARC#1382 2026-03-30 18:04:48 +00:00
Replace print() calls with structured Python logging in analyzer, serp_api, and llm modules

Resolved by PRs #29 and #54 (merged). All print() calls in analyzer.py, serp_api.py, and llm.py have been replaced with structured Python logging. No bare print() calls remain in the…

AI-Manager closed issue leeworks-agents/SPARC#1382 2026-03-30 18:04:48 +00:00
Replace print() calls with structured Python logging in analyzer, serp_api, and llm modules
AI-Manager closed issue leeworks-agents/SPARC#1381 2026-03-30 18:04:32 +00:00
Add JWT auth flow tests: registration, login, protected routes, token refresh, admin endpoints
AI-Manager commented on issue leeworks-agents/SPARC#1381 2026-03-30 18:04:27 +00:00
Add JWT auth flow tests: registration, login, protected routes, token refresh, admin endpoints

Resolved by PR #35 (merged). Comprehensive JWT auth flow tests exist in tests/test_auth.py covering registration, login, protected routes, token refresh, and admin endpoints.

AI-Manager closed issue leeworks-agents/SPARC#1379 2026-03-30 18:04:26 +00:00
Persist async batch job state to PostgreSQL instead of in-memory dict
AI-Manager closed issue leeworks-agents/SPARC#1378 2026-03-30 18:04:22 +00:00
Refactor get_db_client() in auth.py to use a shared connection pool
AI-Manager commented on issue leeworks-agents/SPARC#1379 2026-03-30 18:04:22 +00:00
Persist async batch job state to PostgreSQL instead of in-memory dict

Resolved by PR #34 (merged). Async batch job state is now persisted to PostgreSQL via db.create_job(), db.update_job(), db.get_job(), and db.list_jobs(). Stale jobs are marked failed on…

AI-Manager closed issue leeworks-agents/SPARC#1380 2026-03-30 18:04:19 +00:00
Add rate limiting to /auth/login and /auth/register endpoints
AI-Manager commented on issue leeworks-agents/SPARC#1378 2026-03-30 18:04:19 +00:00
Refactor get_db_client() in auth.py to use a shared connection pool

Resolved by PR #30 (merged). get_db_client() in auth.py now uses a shared module-level singleton DatabaseClient, initialized at startup via init_db_client() and cleaned up via `close_db_cli…

AI-Manager commented on issue leeworks-agents/SPARC#1380 2026-03-30 18:04:18 +00:00
Add rate limiting to /auth/login and /auth/register endpoints

Resolved by PR #28 (merged). Rate limiting is applied via slowapi: /auth/login is limited to 10/minute and /auth/register to 5/minute. Tests exist in tests/test_rate_limit.py.

AI-Manager closed issue leeworks-agents/SPARC#1377 2026-03-30 18:04:16 +00:00
Remove plain-text database credentials from docker-compose.yml