Block a user
Add startup check to reject default JWT secret in non-dev environments
This issue has already been resolved in the fork's main branch. Already implemented in PR #27 (feat(security): JWT startup guard). See SPARC/auth.py check_jwt_secret_safety().
Closing as completed.
chore: verify end-to-end CI pipeline after runner fix — build, push, and tag image
Manager Triage Update (2026-03-27)
Status: BLOCKED on #73 (unchanged)
CI runners are still unavailable (0 runners registered at repo level). No verification can proceed until #73 is…
chore: diagnose and fix CI runner availability — all builds stuck in queued/cancelled
Manager Triage Update (2026-03-27)
Status: BLOCKED -- Requires Human Operator (unchanged)
Current State
- Zero runners registered at the repo level (confirmed via API: `total_count:…
Auto-generate TypeScript API client from FastAPI OpenAPI spec
Add cursor-based pagination to /analyze/batch and /jobs endpoints
Add patent filing trend charts to the Analytics page
Add side-by-side patent portfolio comparison view
Export analysis reports as PDF or CSV from the dashboard
Add ruff linting and tsc type checking to CI
Add pytest test job to Gitea Actions CI workflow to gate image builds
Commit a frontend lockfile (package-lock.json or pnpm-lock.yaml) for reproducible builds
Add loading and error states to Batch and Analytics frontend pages
Fix Patent.patent_id type annotation from int to str in types.py
Fix analyze_single_patent to download PDF before attempting local read
Expose SERP cache TTL as SERP_CACHE_TTL_HOURS environment variable
Make LLM model configurable via MODEL environment variable
Replace print() calls with structured logging in analyzer.py, serp_api.py, and llm.py
Add JWT auth flow tests covering registration, login, protected routes, and admin endpoints
Add rate limiting to /auth/login and /auth/register endpoints
Persist async job state to PostgreSQL so results survive API restarts