Codex Usage Analysis
Run python3 scripts/report_usage.py and return its result tersely: answer first, preserve every number, explain only material caveats, then stop.
Rules
- Use the local authenticated
account/rateLimits/readapp-server method. Never inspect, print, or copy authentication tokens. - Identify windows by
windowDurationMins:300is 5 hours and10080is 7 days. Do not assumeprimaryorsecondaryalways maps to one duration. - Keep general and model-specific limit buckets separate. Never combine percentages from different pools.
- For each weekly window report:
- used and remaining percentage;
- elapsed and remaining days;
- average used per elapsed day:
usedPercent / elapsedDays; - sustainable remaining per day:
(100 - usedPercent) / remainingDays; - the even-usage target explicitly:
100 * elapsedDays / (elapsedDays + remainingDays)percent used by now, and100 / (elapsedDays + remainingDays)percent per day across the full weekly window; - actual points ahead of or behind that target:
usedPercent - evenUsageTarget. Say the target in prose, rather than only reporting "N points over/under even pace."
- For each 5-hour window report used, remaining, and reset time. Say
not reportedwhen a pool has no 5-hour window. - Treat backend
resetsAtas authoritative. Do not describe a window as fixed or rolling unless current official documentation establishes that behavior. - Percentages are backend-rounded integers; derived pace values are estimates. Use the machine's local timezone unless the user requests another.
- Mention available reset-credit count, but never redeem one without explicit authorization.
- If the sandbox blocks the local state runtime, request scoped permission to run this script. Do not work around it by extracting credentials.
Use python3 scripts/report_usage.py --json when another tool needs structured output.