Capacity register¶
Rule: plan work against the scarcest resource first; never use a scarce model for general work.
1. Google GenAI (Gemini API), project MoneyMarche, free tier¶
Limits are per project. RPM = requests per minute, TPM = input tokens per minute, RPD = requests per day. "Peak" is the highest use in the last 28 days.
| Model | RPM | TPM | RPD | Peak (28 days) | MMDEP use |
|---|---|---|---|---|---|
| Gemini 3.5 Flash-Lite | 15 | 250K | 500 | 10 RPM, 420K TPM (over), 76 RPD | Controller default and general jobs |
| Gemini 3.1 Flash-Lite | 15 | 250K | 500 | unused | Second Flash-Lite pool (overflow) |
| Gemma 4 26B / 31B | 30 | 16K | 14,400 each | unused | High-volume small jobs (short prompts only) |
| Gemini 3.8 Flash | 5 | 250K | 20 | 5 RPM, 21 RPD (limit hit) | Not for general work: hard reasoning only |
| Gemini 3.7 / 3.6 / 3 Flash, 2.5 Flash | 5 | 250K | 20 each | 3.6: 3 RPD | Escalation only, a few calls a day |
| Gemini 2.5 Flash-Lite | 10 | 250K | 20 | unused | Not useful (low RPD) |
| Gemini Embedding 1 / 2 | 100 | 30K | 1,000 | unused | Search over docs, if needed |
| Pro models (2.5 Pro, 3.1 Pro) | 0 | 0 | 0 | — | Not available on the free tier |
Note: some public sources quote higher free limits (for example 1,500 a day for 2.5 Flash / 3 Flash and 1,000 a day for 2.5 / 3.1 Flash-Lite). The AI Studio page for project MoneyMarche, with "All models" switched on, shows the lower figures above; the project's own page is what Google enforces, so MMDEP plans against it and re-reads it monthly.
Findings: Flash models give only 20 requests a day each, so an hourly Flash controller (24+ calls) would exceed the limit. The 3.8 Flash limit and the 3.5 Flash-Lite token limit were both hit in the last 28 days (probably the PE Gemini pilot). Billing (paid tier) raises all limits; prices in DR-004.
How MMDEP tracks GenAI capacity (Atul, 14 Oct): limits cannot be read from code, and Google may vary them by project, account age, region and traffic. So mmdep control (DR-006 phase 3):
1. records every call in the hub ledger: model, input/output tokens (from the response's usage metadata), time, outcome;
2. on a refusal (HTTP 429), records the quota named in the error, falls back along a model chain (3.1 Flash-Lite → 2.5 Flash-Lite → 3.5 Flash-Lite → Gemma) and retries later;
3. writes a daily usage line per model to the capacity register, so real limits are learned from use;
4. reads each model's context limits once (models.get: input and output token limits).
Keys (Atul, 14 Oct): use the existing MoneyMarche free-tier key for now. Further projects and keys are created by Atul one at a time, when needed; he tells Claude the project name, and stores the key by running a setup script on the laptop (hidden prompt, saved outside any repository). Claude never sees a key.
Budget rule for mmdep control: at most 300 Flash-Lite calls a day (60% of one pool), prompts under 50K tokens; at most 10 Flash calls a day for escalations; Gemma for anything short and repetitive.
2. Claude¶
| Resource | Capacity | State (14 Oct) | Rule |
|---|---|---|---|
| Claude subscription, weekly quota | Weekly allowance | 65% used | Study slices stop above 80%; no Claude CLI; PM work kept small |
| Claude online via GitHub issues | Shares the same allowance | Not started | Only for development tasks the controller files |
3. ChatGPT¶
| Resource | Use | State |
|---|---|---|
| Account A | API/MM-Cron, MWMC, MCRM projects (3 hourly schedulers, 07–23 IST), ex-PM | Limits not measured |
| Account C | WPDev | Limits not measured |
4. Compute and CI¶
| Resource | Capacity | Note |
|---|---|---|
| Laptop GitLab runner | 1 job at a time | Only when the laptop is on and Docker is running |
| GitLab shared minutes | 400 a month per top-level group (free tier, DR-011) | Live use per group: latest.md → "GitLab compute minutes" on branch control, read daily by the collector (backlog B5). Shows "not visible" where the collector's token can't read a group's usage (that needs the group's Owner role). Routine jobs stay on the laptop runner |
| GitHub Actions (private repos) | About 2,000 minutes a month on the free plan | PE ran about 100 CI runs in a month; usage to be read from GitHub billing |
| Laptop availability | Daytime, not guaranteed | Collector misses runs when the laptop sleeps |
5. People¶
| Person | Capacity |
|---|---|
| Atul | A few short sessions a day; phone between |
| Ajay | Through the Google Doc; days, not hours |