Vigil
← All news

v0.2.0 — ### Added

- **T-002** FFLogs OAuth client-credentials module (`ingest/fflogs.py`): `FFLogsClient` with in-memory token cache, 60s refresh margin, GraphQL helper, single-retry on 401 with fo…

  • T-002 FFLogs OAuth client-credentials module (ingest/fflogs.py): FFLogsClient with in-memory token cache, 60s refresh margin, GraphQL helper, single-retry on 401 with force-refresh. Typed errors (FFLogsAuthError, FFLogsAPIError).
  • 11 unit tests in tests/test_fflogs_client.py covering token exchange, caching, refresh, expiry margin, retries, and error paths (mocked via httpx.MockTransport).
  • scripts/verify_fflogs.py — live AC verification: obtain → refresh → rate-limit → discover a public report via worldData.encounter.fightRankings → fetch via reportData.report(code).
  • .venv provisioned (Python 3.12.4) and project installed editable with dev extras (pytest, ruff).
  • Local Postgres 18.4 installed with dev DB fflogs_tracker; DATABASE_URL populated in gitignored .env.