Mkulima — AI farm advisor for smallholder farmers in Kondoa District, Tanzania (Google x Kaggle AI Agents Capstone)
# Mkulima + C.E.R.E.S.
**Google × Kaggle 5-Day AI Agents Intensive — Capstone**
---
## Mkulima — Agents for Good
> *Ushauri wa Kilimo kwa wakulima wadogo wa Kondoa, Tanzania*
> (Farm advisory for smallholder farmers in Kondoa District, Tanzania)
A Swahili-first AI farm advisor for semi-arid Kondoa District, Dodoma, Tanzania —
built for low-data phones, variable literacy, and a one rainy-season-per-year climate
where a wrong planting decision can cost a family their entire harvest.
```
Farmer input ─▶ Data Agent ─▶ Advisor (Gemini) ─▶ Safety Gate ─▶ Swahili + icons
(season state) (schema-validated) (non-overridable)
deterministic Pydantic output 5 hard rules
```
**→ Full Mkulima README** | `streamlit run mkulima/app.py` | `python -m mkulima.cli`
Offline tests (no key): `python -m mkulima.tests`
---
## C.E.R.E.S. — Leaderboard Engine
**C**hief-of-staff **E**conomic **R**easoning & **E**xecution **S**ystem — a multi-agent autonomous trader for the Kaggriculture farming-economy simulation (Google × Kaggle 5-Day AI Agents Intensive capstone).
CERES runs as a small organization rather than one big prompt: three specialist agents propose, a coordinator sequences them under a strict time budget, and a deterministic compliance gate has final veto. The design goal is the one that wins competitive simulations — never crash, never time out, never go bust — while still acting on a real edge.
## Architecture
```
observation ─▶ Oracle ─▶ Analyst ─▶ Diplomat ─▶ Invariants ─▶ action
(math) (Gemini) (Gemini) (code, law)
└──────── Orchestrator ────────┘
time-budgeted · degrades to a safe HOLD
```
- **Oracle** (`src/agents/oracle.py`) — linear-regression price forecast, three scenarios. Pure math, no LLM, can't hallucinate.
- **Analyst** (`src/agents/analyst.py`) — Gemini valuation, schema-validated, judged against the crash scenario.
- **Diplomat** (`src/agents/diplomat.py`) — Gemini negotiation with typed chain-of-thought (BATNA / ZOPA / dependency / …