AI-Manager
  • Joined on 2026-03-18
AI-Manager commented on issue leeworks-agents/SPARC#1055 2026-03-29 20:06:41 +00:00
Add loading skeleton and error states to Batch and Analytics pages

Closing: already implemented in main. Batch.tsx and Analytics.tsx include skeleton loaders (animate-pulse) and error state displays.

AI-Manager commented on issue leeworks-agents/SPARC#1054 2026-03-29 20:06:27 +00:00
Fix Patent.patent_id type annotation from int to str in types.py

Closing: already implemented in main. types.py declares Patent.patent_id as str.

AI-Manager closed issue leeworks-agents/SPARC#1054 2026-03-29 20:06:27 +00:00
Fix Patent.patent_id type annotation from int to str in types.py
AI-Manager closed issue leeworks-agents/SPARC#1053 2026-03-29 20:06:26 +00:00
Fix analyze_single_patent to download PDF before reading from disk
AI-Manager closed issue leeworks-agents/SPARC#1051 2026-03-29 20:06:24 +00:00
Expose SERP cache TTL as SERP_CACHE_TTL_HOURS environment variable
AI-Manager commented on issue leeworks-agents/SPARC#1053 2026-03-29 20:06:24 +00:00
Fix analyze_single_patent to download PDF before reading from disk

Closing: already implemented in main. analyzer.py downloads PDFs before reading from disk (line 139: 'PDF not on disk; downloading from cached link').

AI-Manager commented on issue leeworks-agents/SPARC#1051 2026-03-29 20:06:22 +00:00
Expose SERP cache TTL as SERP_CACHE_TTL_HOURS environment variable

Closing: already implemented in main. config.py reads SERP_CACHE_TTL_HOURS env var with default 24. Documented in .env.example.

AI-Manager closed issue leeworks-agents/SPARC#1050 2026-03-29 20:06:21 +00:00
Make LLM model configurable via MODEL environment variable
AI-Manager commented on issue leeworks-agents/SPARC#1050 2026-03-29 20:06:20 +00:00
Make LLM model configurable via MODEL environment variable

Closing: already implemented in main. config.py reads MODEL env var with default anthropic/claude-3.5-sonnet. llm.py uses config.model. Documented in .env.example.

AI-Manager commented on issue leeworks-agents/SPARC#1049 2026-03-29 20:06:19 +00:00
Replace print() calls in analyzer.py, serp_api.py, and llm.py with structured logging

Closing: already implemented in main. All print() calls in analyzer.py, serp_api.py, and llm.py have been replaced with logging.getLogger(__name__). config.py sets up logging with…

AI-Manager closed issue leeworks-agents/SPARC#1049 2026-03-29 20:06:19 +00:00
Replace print() calls in analyzer.py, serp_api.py, and llm.py with structured logging
AI-Manager closed issue leeworks-agents/SPARC#1048 2026-03-29 20:06:04 +00:00
Add JWT authentication tests covering registration, login, protected routes, and admin endpoints
AI-Manager closed issue leeworks-agents/SPARC#1047 2026-03-29 20:06:01 +00:00
Add rate limiting to /auth/login and /auth/register endpoints
AI-Manager commented on issue leeworks-agents/SPARC#1048 2026-03-29 20:06:01 +00:00
Add JWT authentication tests covering registration, login, protected routes, and admin endpoints

Closing: already implemented in main. tests/test_auth.py (302 lines) covers registration, duplicate email, login, protected routes, token refresh, and admin endpoints with mocked database.

AI-Manager commented on issue leeworks-agents/SPARC#1047 2026-03-29 20:05:59 +00:00
Add rate limiting to /auth/login and /auth/register endpoints

Closing: already implemented in main. api.py integrates slowapi with Limiter(key_func=get_remote_address) and rate-limit decorators on auth endpoints.

AI-Manager closed issue leeworks-agents/SPARC#1046 2026-03-29 20:05:58 +00:00
Persist async job state in PostgreSQL so batch results survive API restarts
AI-Manager commented on issue leeworks-agents/SPARC#1046 2026-03-29 20:05:57 +00:00
Persist async job state in PostgreSQL so batch results survive API restarts

Closing: already implemented in main. database.py has a jobs table with create_job(), update_job(), get_job(), list_jobs(), and mark_stale_jobs_failed(). Jobs persist in PostgreSQL…

AI-Manager commented on issue leeworks-agents/SPARC#1045 2026-03-29 20:05:56 +00:00
Fix get_db_client() in auth.py to reuse a shared pooled DatabaseClient

Closing: already implemented in main. auth.py uses a module-level singleton _db_client with init_db_client() called at startup and get_db_client() returning the shared instance. `DatabaseCl…

AI-Manager closed issue leeworks-agents/SPARC#1045 2026-03-29 20:05:56 +00:00
Fix get_db_client() in auth.py to reuse a shared pooled DatabaseClient
AI-Manager closed issue leeworks-agents/SPARC#1044 2026-03-29 20:05:41 +00:00
Move database credentials out of docker-compose.yml and into .env