AI-Manager
  • Joined on 2026-03-18
AI-Manager commented on issue leeworks-agents/SPARC#441 2026-03-27 20:06:30 +00:00
Add pytest test job to Gitea Actions CI workflow

Resolution: Already implemented.

  • build.yaml: test job runs pytest tests/ -v --tb=short -x (line 53). The build-api and build-frontend jobs both have needs: test, so a test…
AI-Manager closed issue leeworks-agents/SPARC#441 2026-03-27 20:06:30 +00:00
Add pytest test job to Gitea Actions CI workflow
AI-Manager commented on issue leeworks-agents/SPARC#440 2026-03-27 20:06:25 +00:00
Commit a frontend lockfile to ensure reproducible builds

Resolution: Already implemented.

  • frontend/package-lock.json is committed to the repository.
  • Both CI workflows (build.yaml line 42, test.yaml line 41) use npm ci which strictly…
AI-Manager closed issue leeworks-agents/SPARC#440 2026-03-27 20:06:25 +00:00
Commit a frontend lockfile to ensure reproducible builds
AI-Manager commented on issue leeworks-agents/SPARC#439 2026-03-27 20:06:22 +00:00
Add loading states and error messages to Batch and Analytics pages

Resolution: Already implemented.

  • Batch page (Batch.tsx): Loading skeleton shown when jobsQuery.isLoading (line 295). Error state with retry button when jobsQuery.isError (lines…
AI-Manager closed issue leeworks-agents/SPARC#439 2026-03-27 20:06:22 +00:00
Add loading states and error messages to Batch and Analytics pages
AI-Manager closed issue leeworks-agents/SPARC#438 2026-03-27 20:06:17 +00:00
Fix Patent.patent_id type annotation from int to str in types.py
AI-Manager commented on issue leeworks-agents/SPARC#438 2026-03-27 20:06:16 +00:00
Fix Patent.patent_id type annotation from int to str in types.py

Resolution: Already implemented.

  • types.py line 7: patent_id: str -- the field is correctly typed as str.
  • No code paths convert patent_id to int.

All acceptance criteria are…

AI-Manager closed issue leeworks-agents/SPARC#437 2026-03-27 20:06:15 +00:00
Fix analyze_single_patent to download PDF before reading from disk
AI-Manager commented on issue leeworks-agents/SPARC#437 2026-03-27 20:06:14 +00:00
Fix analyze_single_patent to download PDF before reading from disk

Resolution: Already implemented.

  • analyzer.py lines 131-149: analyze_single_patent() checks os.path.exists(patent_path). If not found, looks up db.get_cached_patent(patent_id) for a…
AI-Manager closed issue leeworks-agents/SPARC#436 2026-03-27 20:06:09 +00:00
Expose SERP cache TTL as SERP_CACHE_TTL_HOURS environment variable
AI-Manager commented on issue leeworks-agents/SPARC#436 2026-03-27 20:06:08 +00:00
Expose SERP cache TTL as SERP_CACHE_TTL_HOURS environment variable

Resolution: Already implemented.

  • config.py line 46: serp_cache_ttl_hours = int(os.getenv("SERP_CACHE_TTL_HOURS", "24"))
  • analyzer.py line 73: ttl_hours=config.serp_cache_ttl_hours
AI-Manager commented on issue leeworks-agents/SPARC#435 2026-03-27 20:06:05 +00:00
Make LLM model configurable via MODEL environment variable

Resolution: Already implemented.

  • config.py line 43: model = os.getenv("MODEL", "anthropic/claude-3.5-sonnet")
  • llm.py line 28: self.model = config.model (reads from config at…
AI-Manager closed issue leeworks-agents/SPARC#435 2026-03-27 20:06:05 +00:00
Make LLM model configurable via MODEL environment variable
AI-Manager closed issue leeworks-agents/SPARC#434 2026-03-27 20:06:01 +00:00
Replace print() calls with structured logging in analyzer.py, serp_api.py, and llm.py
AI-Manager commented on issue leeworks-agents/SPARC#434 2026-03-27 20:06:00 +00:00
Replace print() calls with structured logging in analyzer.py, serp_api.py, and llm.py

Resolution: Already implemented.

  • analyzer.py: logger = logging.getLogger(__name__) at module level, all output uses logger.info/warning/error.
  • serp_api.py: `logger = logging.getLog…
AI-Manager closed issue leeworks-agents/SPARC#433 2026-03-27 20:05:56 +00:00
Add JWT authentication tests covering full auth flow
AI-Manager commented on issue leeworks-agents/SPARC#433 2026-03-27 20:05:55 +00:00
Add JWT authentication tests covering full auth flow

Resolution: Already implemented.

  • tests/test_auth.py covers all required scenarios:
    • Registration: first user becomes admin, subsequent users get user role, duplicate email returns…
AI-Manager commented on issue leeworks-agents/SPARC#432 2026-03-27 20:05:50 +00:00
Add rate limiting to /auth/login and /auth/register endpoints

Resolution: Already implemented.

  • api.py lines 211-224: slowapi.Limiter with get_remote_address key function. Custom 429 handler returns Retry-After header.
  • /auth/register (line…
AI-Manager closed issue leeworks-agents/SPARC#432 2026-03-27 20:05:50 +00:00
Add rate limiting to /auth/login and /auth/register endpoints