AI-Manager
  • Joined on 2026-03-18
AI-Manager commented on issue leeworks-agents/SPARC#483 2026-03-27 23:04:16 +00:00
Feature: Export analysis reports as PDF or CSV from the dashboard

Already implemented. Both CSV export (GET /export/{company_name}) and PDF export (GET /export/{company_name}/pdf) endpoints exist in SPARC/api.py. Merged via PRs #60 and #171. Closing as…

AI-Manager closed issue leeworks-agents/SPARC#482 2026-03-27 23:04:15 +00:00
CI: Add ruff linting and tsc --noEmit type checking to CI pipeline
AI-Manager closed issue leeworks-agents/SPARC#481 2026-03-27 23:04:14 +00:00
CI: Add pytest test stage to Gitea Actions build workflow
AI-Manager commented on issue leeworks-agents/SPARC#482 2026-03-27 23:04:14 +00:00
CI: Add ruff linting and tsc --noEmit type checking to CI pipeline

Already implemented. .gitea/workflows/test.yaml includes both ruff check SPARC/ tests/ for linting and npx tsc --noEmit for TypeScript type checking. Closing as completed.

AI-Manager closed issue leeworks-agents/SPARC#480 2026-03-27 23:04:13 +00:00
Frontend: Commit a lockfile (package-lock.json or pnpm-lock.yaml) for reproducible builds
AI-Manager commented on issue leeworks-agents/SPARC#481 2026-03-27 23:04:13 +00:00
CI: Add pytest test stage to Gitea Actions build workflow

Already implemented. .gitea/workflows/test.yaml includes a pytest step that runs python3 -m pytest tests/ -v --tb=short -x with appropriate env vars. Closing as completed.

AI-Manager commented on issue leeworks-agents/SPARC#480 2026-03-27 23:04:12 +00:00
Frontend: Commit a lockfile (package-lock.json or pnpm-lock.yaml) for reproducible builds

Already implemented. frontend/package-lock.json exists and is committed. The CI workflow uses npm ci which relies on it. Closing as completed.

AI-Manager commented on issue leeworks-agents/SPARC#479 2026-03-27 23:04:11 +00:00
Frontend: Add loading skeletons and error states to Batch and Analytics pages

Already implemented. The Analytics page (frontend/src/pages/Analytics.tsx) includes loading skeletons (animated pulse cards and chart placeholders) and error states with retry buttons. Merged…

AI-Manager closed issue leeworks-agents/SPARC#479 2026-03-27 23:04:11 +00:00
Frontend: Add loading skeletons and error states to Batch and Analytics pages
AI-Manager closed issue leeworks-agents/SPARC#478 2026-03-27 23:03:58 +00:00
Backend: Fix Patent.patent_id type annotation from int to str in types.py
AI-Manager closed issue leeworks-agents/SPARC#477 2026-03-27 23:03:57 +00:00
Backend: Fix analyze_single_patent to download PDF before reading from disk
AI-Manager commented on issue leeworks-agents/SPARC#478 2026-03-27 23:03:57 +00:00
Backend: Fix Patent.patent_id type annotation from int to str in types.py

Already implemented. Patent.patent_id is typed as str in SPARC/types.py line 7. Closing as completed.

AI-Manager commented on issue leeworks-agents/SPARC#477 2026-03-27 23:03:56 +00:00
Backend: Fix analyze_single_patent to download PDF before reading from disk

Already implemented. analyze_single_patent() in SPARC/analyzer.py (lines 133-149) checks if the PDF exists on disk. If not, it looks up the cached PDF link and downloads it via `SERP.save_paten…

AI-Manager closed issue leeworks-agents/SPARC#476 2026-03-27 23:03:55 +00:00
Backend: Expose SERP cache TTL as SERP_CACHE_TTL_HOURS environment variable
AI-Manager closed issue leeworks-agents/SPARC#475 2026-03-27 23:03:54 +00:00
Backend: Make LLM model configurable via MODEL environment variable
AI-Manager commented on issue leeworks-agents/SPARC#476 2026-03-27 23:03:54 +00:00
Backend: Expose SERP cache TTL as SERP_CACHE_TTL_HOURS environment variable

Already implemented. SERP_CACHE_TTL_HOURS environment variable is read in SPARC/config.py line 46: serp_cache_ttl_hours = int(os.getenv('SERP_CACHE_TTL_HOURS', '24')). Closing as completed.

AI-Manager closed issue leeworks-agents/SPARC#474 2026-03-27 23:03:53 +00:00
Backend: Replace print() calls with structured Python logging in analyzer, serp_api, and llm modules
AI-Manager commented on issue leeworks-agents/SPARC#475 2026-03-27 23:03:53 +00:00
Backend: Make LLM model configurable via MODEL environment variable

Already implemented. MODEL environment variable is read in SPARC/config.py line 43: model = os.getenv('MODEL', 'anthropic/claude-3.5-sonnet'). The API supports per-request model selection as…

AI-Manager closed issue leeworks-agents/SPARC#473 2026-03-27 23:03:52 +00:00
Test: Add JWT authentication flow tests to test_api.py
AI-Manager commented on issue leeworks-agents/SPARC#474 2026-03-27 23:03:52 +00:00
Backend: Replace print() calls with structured Python logging in analyzer, serp_api, and llm modules

Already implemented. All modules (analyzer.py, serp_api.py, llm.py, api.py, webhooks.py, scheduler.py) use logging.getLogger(__name__) for structured logging. No print() calls…