Context
Deferred from v0.2.0 Production Hardening spec. These items improve operational quality but are not blocking for production use.
Source: docs/ROADMAP.md Phase 3 + docs/DEEP-ANALYSIS.md findings H6, H7.
Scope
Priority
| Item |
Severity |
Effort |
| Finite-use rotation |
HIGH |
Medium (design decision) |
| getConfig() |
MEDIUM |
Trivial |
| Injectable logger |
MEDIUM |
Small |
| Expired key sweep |
MEDIUM |
Medium |
Dependencies
- Requires v0.2.0 shipped first (auth boundaries, event removal, pagination)
- Expired key sweep may require re-adding
@convex-dev/crons component
Context
Deferred from v0.2.0 Production Hardening spec. These items improve operational quality but are not blocking for production use.
Source:
docs/ROADMAP.mdPhase 3 +docs/DEEP-ANALYSIS.mdfindings H6, H7.Scope
rotate()copiesremainingto new key while old key still validates during grace period, duplicating quota. Design decision needed: share quota across rotated keys OR block rotation for finite-use keys.ApiKeysConfigso consumers can provide their own transport instead ofconsole.log.validate(). A proactive cron that marksexpiresAt-expired keys asexpiredprevents stale "active" keys from appearing inlist()results.Priority
Dependencies
@convex-dev/cronscomponent