← Files AkinatorARCHIVED FILE
evals/results/workspaces/2026-08-26-03-business-void/docs/standards/quotas.md
1.32 KB · Oct 3, 2026 · 06:33 UTC
# Quotas ## Plans | Plan | Members | Items | Exports / month | |---|---|---|---| | free | 3 | 100 | 3 | | team | 10 | 5000 | 25 | Decided by the founder, 2026-02-01. ## How quota is consumed An export consumes one unit at the moment the job is queued, not when it completes. A failed export refunds its unit automatically. Quota resets on the team's billing anniversary. Unused units do not carry over. ## Implemented in `src/quota.py` - `consume` and `refund_failed`. `refund_failed` returns a quota unit for an export that failed; it is not a money refund - those are [refunds](refunds.md). ## Edge cases decided | Date | Situation | Decision | |---|---|---| | 2026-02-14 | Team exhausts quota mid-export | The in-flight export completes; the next is blocked | | 2026-03-02 | Team upgrades mid-period | New limit applies immediately; used count carries over | ## Edge cases OPEN | Date raised | Situation | Blocked on | |---|---|---| | 2026-08-26 | A team is refunded for the current period. Does it keep the `team` limits until its anniversary, drop to `free` limits immediately, or keep the plan and lose its remaining exports? | Undecided - nobody has answered it. A team refunded after 20 exports would be over the `free` limit of 3 with no way to reduce the count. See [refunds](refunds.md). |
SHA-256: 18d29181f8915d803429fd0f485ef477c0da2e1acfe21261351020250ac2c7b2