# 💷 Cost Dashboard

> **This file is auto-generated on every harvest run.**
> The version you're reading was committed as a placeholder — run the harvest workflow once to see real numbers.

---

## Status at a glance

| Resource | Status | Notes |
|----------|--------|-------|
| Repository storage | 🟢 Measuring... | Auto-generated on first harvest run |
| GitHub Actions minutes | 🟢 Measuring... | See https://github.com/settings/billing |
| AI calls this run | 🟢 Measuring... | Gemini / Groq / Mistral free tiers |
| GitHub Pages bandwidth | 🟢 Not measurable from inside Actions | See GitHub billing page |

---

## What's free forever and won't change

- **GitHub Actions** — Public repositories get unlimited free minutes.
- **GitHub Pages** — Public repositories get free static site hosting at 100 GB/month bandwidth.
- **Gemini Flash** — Free tier: 15 requests/minute, 1,500 requests/day. No credit card required.
- **Groq** — Free tier: 30 requests/minute, Llama 3 70B. No credit card required.
- **Mistral** — Free tier: rate-limited. No credit card required.
- **Zipfile / stdlib tools** — No external dependencies for archiving, calendar generation, or cost tracking.

---

## What could start costing money

| Risk | When | What to do |
|------|------|------------|
| 🔴 Repository over 5 GB | At ~1000 parishes × ~500 KB × 52 weeks ≈ 26 GB/year raw, hitting 5 GB cap in ~1–2 weeks without retention | Run the retention workflow — it archives old files into zips |
| 🟡 AI rate limits hit | If more than ~1,400 parishes run per day | The router falls back to the next free provider automatically |
| 🟡 GitHub Pages over 100 GB/month | Very unlikely at this scale | No action needed yet |

---

## What to do if a 🔴 appears

**🔴 Storage:**
1. Go to GitHub Actions tab.
2. Click "Retention" workflow.
3. Click "Run workflow" → set `dry_run: false` → click green button.
4. The workflow will zip old files and delete originals. Repeat weekly until green.

**🔴 AI limits:**
1. Check the API key is still valid (Settings → Secrets → Actions).
2. The router tries 3 providers — if all are down, bulletins still harvest but summaries will be empty.
3. Wait until the next day — free tier limits reset daily.

**🔴 GitHub Pages bandwidth:**
1. This is very unlikely at the current scale.
2. If it happens, contact GitHub support — they are usually lenient with non-commercial projects.

---

## Days until any limit hit

> Auto-calculated on first harvest run based on rolling 7-day average usage rate.

---

*Auto-generated by `harvester/cost_tracker.py` on every harvest run.*
*To see real numbers, trigger a manual harvest from the Actions tab.*
