This issue has been resolved. The changes are already merged into main.
Jobs table created in PostgreSQL (database.py). Batch job state persisted via DB queries. Stale jobs marked as failed on…
This issue has been resolved. The changes are already merged into main.
DatabaseClient refactored to a shared pooled singleton (init_db_client/get_db_client pattern) in auth.py, initialized once…
This issue has been resolved. The changes are already merged into main.
JWT startup guard implemented in auth.py (check_jwt_secret) and called at app startup in api.py. Server refuses to start…
This issue has been resolved. The changes are already merged into main.
docker-compose.yml now uses ${POSTGRES_USER}, ${POSTGRES_PASSWORD}, ${POSTGRES_DB} variables. .env.example documents all…
This issue has been resolved. The changes are already merged into main.
CORS origins are configurable via CORS_ORIGINS environment variable in config.py. api.py reads from config.cors_origins…
This issue has been resolved. The changes are already merged into main.
Scheduled/recurring analysis implemented via scheduler.py with change alerting.
Closing as completed.
This issue has been resolved. The changes are already merged into main.
Side-by-side comparison view added at frontend/src/pages/Compare.tsx with route wired in App.tsx.
Closing as completed.
This issue has been resolved. The changes are already merged into main.
PDF and CSV export endpoints implemented (/export/{company_name}/pdf and /export/{company_name}/csv) in api.py.
Closing as…
This issue has been resolved. The changes are already merged into main.
ruff linting and tsc --noEmit added to CI pipeline in both build.yaml and test.yaml. ruff.toml config present.
Closing as…
This issue has been resolved. The changes are already merged into main.
TypeScript API client auto-generation set up with OpenAPI spec. CI freshness check added.
Closing as completed.