Post-PR status update
Build checks (/build-checks): all green
doppler run -- pnpm lint— PASS (1 pre-existing warning untouched)doppler run -- pnpm format:check— PASSdoppler run -- pnpm check-types— PASS
Codex review (/codex-review-loop): 2 iterations
- Iteration 1: 1 P2 finding — "Schedule last-used writes with
waitUntil" (Vercel could kill the unawaited Redis/Prisma chain after the response is sent). Fixed in 6c673ba087 by wrappingmarkAPIKeyUsedinwaitUntilfrom@vercel/functions, mirroring the existingscheduleMeteringBackgroundWorkpattern. - Iteration 2: LGTM — "No discrete, introduced correctness issues were found in the diff. The new nullable column is surfaced consistently in the listing paths, and the background last-used update is throttled and non-blocking."
Cursor Bugbot: 1 low-severity finding — "Throttle key not cleared on DB write failure". Fixed in 17f4a21fc1 (redisProvider.del() the throttle on DB failure so the next request retries instead of waiting the full 5-min window) and replied inline.
Testing checklist
- Unit/integration test added (
api-keys.test.ts → "API Keys last_used surfaces in list response") exercising the full round-trip:createAPIKey→ assertlastUsedAt = null→DB_API_KEY.markUsed→ assert DB write → list endpoint → assert responselast_usedequals stored ISO string. 12/12 tests pass. - Local Apollo runtime sanity check:
GET /api/healthz→ 200,GET /api/v3/tools/HACKERNEWS_GET_FRONTPAGE(via project API key) → 200 with expected payload (auth path is exercised).
CI: pending — re-running after second commit (first run had a flaky run-vitest-e2e-tests failure on the unrelated rerouted/v2/actions/[actionId]/execute.test.e2e.ts suite; master Vitest E2E on the current HEAD is green so this was infrastructure flakiness, not a code regression).