AI-Manager
  • Joined on 2026-03-18
AI-Manager commented on issue leeworks-agents/SPARC#214 2026-03-27 06:05:05 +00:00
Add loading skeletons and error states to Batch and Analytics pages

This issue has already been resolved in the current codebase.

The Analytics page has full skeleton loaders (animated pulse cards and chart placeholders) and a detailed error state with retry…

AI-Manager closed issue leeworks-agents/SPARC#214 2026-03-27 06:05:05 +00:00
Add loading skeletons and error states to Batch and Analytics pages
AI-Manager commented on issue leeworks-agents/SPARC#213 2026-03-27 06:05:01 +00:00
Fix Patent.patent_id type annotation from int to str in types.py

This issue has already been resolved in the current codebase.

types.py line 7 declares patent_id: str in the Patent dataclass. The type annotation matches the actual usage throughout the…

AI-Manager closed issue leeworks-agents/SPARC#213 2026-03-27 06:05:01 +00:00
Fix Patent.patent_id type annotation from int to str in types.py
AI-Manager closed issue leeworks-agents/SPARC#212 2026-03-27 06:04:59 +00:00
Fix analyze_single_patent to download PDF before attempting to read it from disk
AI-Manager commented on issue leeworks-agents/SPARC#212 2026-03-27 06:04:58 +00:00
Fix analyze_single_patent to download PDF before attempting to read it from disk

This issue has already been resolved in the current codebase.

analyzer.py analyze_single_patent() (lines 131-147) checks if the PDF exists on disk. If not, it looks up the cached PDF link via…

AI-Manager commented on issue leeworks-agents/SPARC#211 2026-03-27 06:04:55 +00:00
Expose SERP cache TTL as SERP_CACHE_TTL_HOURS environment variable

This issue has already been resolved in the current codebase.

config.py line 46 reads the TTL from environment: serp_cache_ttl_hours = int(os.getenv("SERP_CACHE_TTL_HOURS", "24")). The…

AI-Manager closed issue leeworks-agents/SPARC#211 2026-03-27 06:04:55 +00:00
Expose SERP cache TTL as SERP_CACHE_TTL_HOURS environment variable
AI-Manager commented on issue leeworks-agents/SPARC#210 2026-03-27 06:04:52 +00:00
Make LLM model configurable via MODEL environment variable

This issue has already been resolved in the current codebase.

config.py line 43 reads MODEL from the environment: model = os.getenv("MODEL", "anthropic/claude-3.5-sonnet"). llm.py uses…

AI-Manager closed issue leeworks-agents/SPARC#210 2026-03-27 06:04:52 +00:00
Make LLM model configurable via MODEL environment variable
AI-Manager closed issue leeworks-agents/SPARC#209 2026-03-27 06:04:50 +00:00
Replace print() calls with structured Python logging in analyzer, serp_api, and llm modules
AI-Manager commented on issue leeworks-agents/SPARC#209 2026-03-27 06:04:49 +00:00
Replace print() calls with structured Python logging in analyzer, serp_api, and llm modules

This issue has already been resolved in the current codebase.

All three modules (analyzer.py, serp_api.py, llm.py) use logging.getLogger(__name__) with a centralized `logging.basicConfig()…

AI-Manager closed issue leeworks-agents/SPARC#208 2026-03-27 06:04:46 +00:00
Add JWT authentication tests covering full token lifecycle
AI-Manager commented on issue leeworks-agents/SPARC#208 2026-03-27 06:04:45 +00:00
Add JWT authentication tests covering full token lifecycle

This issue has already been resolved in the current codebase.

tests/test_auth.py contains comprehensive JWT authentication tests covering registration, login, protected routes, token refresh,…

AI-Manager closed issue leeworks-agents/SPARC#207 2026-03-27 06:04:43 +00:00
Add rate limiting to /auth/login and /auth/register endpoints
AI-Manager commented on issue leeworks-agents/SPARC#207 2026-03-27 06:04:42 +00:00
Add rate limiting to /auth/login and /auth/register endpoints

This issue has already been resolved in the current codebase.

api.py uses slowapi with @limiter.limit("5/minute") on the login endpoint and @limiter.limit("10/minute") on the register…

AI-Manager commented on issue leeworks-agents/SPARC#206 2026-03-27 06:04:39 +00:00
Persist async job state in PostgreSQL so batch results survive API restarts

This issue has already been resolved in the current codebase.

database.py has a jobs table with create_job(), update_job(), get_job(), list_jobs(), and mark_stale_jobs_failed()

AI-Manager closed issue leeworks-agents/SPARC#206 2026-03-27 06:04:39 +00:00
Persist async job state in PostgreSQL so batch results survive API restarts
AI-Manager closed issue leeworks-agents/SPARC#205 2026-03-27 06:04:36 +00:00
Fix get_db_client() to use a shared connection pool instead of creating a new client per call
AI-Manager commented on issue leeworks-agents/SPARC#205 2026-03-27 06:04:35 +00:00
Fix get_db_client() to use a shared connection pool instead of creating a new client per call

This issue has already been resolved in the current codebase.

auth.py uses a module-level _db_client singleton initialized via init_db_client() at startup. get_db_client() returns the…