co-built · my parts labeled
Cash-Flow Copilot
Role: Grounding, evals & hardeningPython · ADK · MCP · Gemini
An agentic "CFO-in-a-box" for small businesses: ask plain-English questions about your money and get answers pulled straight from the ledger — a 13-week forecast, a runway alert, a CFO-style narrative — with a guard that structurally refuses to invent numbers.
PythonGoogle ADKMCP serversGeminiHybrid RAG
Context
Built for the Google 5-Day AI Agents Intensive capstone. Small-business owners want plain-English answers about cash flow — runway, forecasts, "can I make payroll?" — grounded in their own ledger rather than a chatbot's imagination.
What I owned
- The numeric-provenance guard. A deterministic verification layer — every figure in an answer must trace back to a real ledger row, or it doesn't ship. The anti-hallucination guarantee is structural, not a "please be accurate" prompt.
- The evaluation harness. A question catalog of ~430 questions (194 run live end-to-end, 22 curated into fixed regression checks) so grounding didn't silently regress as the agent changed.
- Retrieval hardening & performance. A measured ~7.8× embedding speedup on the retrieval path (reranker gains estimated via a proxy benchmark, which I flag as a proxy rather than a live number).
Honest attribution: this was co-built. My collaborator owned the agent architecture — the ADK orchestration, MCP servers, and retrieval design. I owned the numeric-provenance guard, the eval harness, and the hardening/perf above. By commit count the split was roughly even; by code volume my share was smaller — so I speak to the grounding-and-evaluation half, not the whole system.
Results & what I learned
- A working agent that answers ledger questions with figures verified against source rows — the model proposes, the guard disposes.
- Learned: for anything numeric, deterministic verification beats prompt-based promises. "Don't hallucinate" is a wish; checking each number against the ledger is a guarantee — and a regression suite is what keeps that guarantee true over time.